ES2953737T3 - Asignación dinámica de recursos de cálculo heterogéneos determinada por ejecución de aplicaciones - Google Patents

Asignación dinámica de recursos de cálculo heterogéneos determinada por ejecución de aplicaciones Download PDF

Info

Publication number
ES2953737T3
ES2953737T3 ES19700841T ES19700841T ES2953737T3 ES 2953737 T3 ES2953737 T3 ES 2953737T3 ES 19700841 T ES19700841 T ES 19700841T ES 19700841 T ES19700841 T ES 19700841T ES 2953737 T3 ES2953737 T3 ES 2953737T3
Authority
ES
Spain
Prior art keywords
nodes
calculation
subtasks
reinforcement
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19700841T
Other languages
English (en)
Inventor
Thomas Lippert
Bernhard Frohwitter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Partec AG
Original Assignee
Partec AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Partec AG filed Critical Partec AG
Application granted granted Critical
Publication of ES2953737T3 publication Critical patent/ES2953737T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)
  • Hardware Redundancy (AREA)

Abstract

La presente invención proporciona un método para operar un sistema informático heterogéneo que comprende una pluralidad de nodos de cómputo y una pluralidad de nodos de refuerzo, estando dispuesto al menos uno de la pluralidad de nodos de cómputo y la pluralidad de nodos de refuerzo para calcular una tarea de cómputo, la tarea de cómputo que comprende una pluralidad de subtareas, en donde en una primera iteración informática, la pluralidad de subtareas son asignadas y procesadas por uno de la pluralidad de nodos de cálculo y nodos de refuerzo en una primera distribución; y la información relacionada con el procesamiento de la pluralidad de subtareas por la pluralidad de nodos de cómputo y nodos de refuerzo se usa para generar una distribución adicional de las subtareas entre los nodos de cómputo y el nodo de refuerzo para procesarlas en una iteración de cómputo adicional. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Asignación dinámica de recursos de cálculo heterogéneos determinada por ejecución de aplicaciones
La presente invención se refiere a un mecanismo para ejecutar tareas de cálculo dentro de un entorno informático, en particular de un entorno informático heterogéneo adaptado para el tratamiento paralelo de una tarea de cálculo.
La presente invención es un desarrollo del sistema descrito en la solicitud anterior WO 2012/049247 A1, el documento w O 2012/049247 A1, que describe una arquitectura de ordenadores en clúster que comprende una pluralidad de nodos de cálculo y una pluralidad de nodos de refuerzo conectados entre sí por medio de una interfaz de comunicación. Un gestor de recursos es responsable de la asignación de uno o más nodos de refuerzo de los nodos de cálculo entre sí de una manera dinámica durante el tiempo de ejecución. Un ejemplo de dicha gestión de tratamiento dinámica se describe en Clauss et al., “Gestión de Tratamiento Dinámico con Coplanificación de Asignación Interna hacia el Supercálculo Interactivo”, COSH 2016, 19 de enero, Praga, CZ. Aunque la disposición del documento WO 2012/049247 proporciona una disposición flexible para asignar reforzadores para nodos de cálculo, no presta atención a la forma de distribución de las tareas entre los nodos de cálculo de refuerzo.
La disposición del documento WO 2012/049247 se describe también por Eicker et al. en “El Proyecto DEEP, una estrategia alternativa al cálculo en clúster heterogéneo en la era multinúcleos”. Concurrency Computa!: Pract. Exper.
2016; 28: 2394 - 2411. El sistema heterogéneo que se describe comprende una pluralidad de nodos de cálculo y una pluralidad de nodos de refuerzo conectados a una red conmutable. Con el fin de tratar una aplicación, la aplicación es “tareificada” con el fin de proporcionar una indicación acerca de qué tareas pueden ser descargadas desde un nodo de cálculo hasta un reforzador. La tareificación se consigue mediante el desarrollador de aplicaciones que anota el código con pragmas que indican las dependencias entre diferentes tareas y así mismo las etiquetas que indican las partes de código altamente escalables que deben ser tratadas por un reforzador. La escabilidad en este contexto hace referencia a cuando la carga ofrecida al servicio aumenta, un incremento paulatino y lineal en el hardware puede mantener el mismo nivel de servicio por usuario.
El documento US 2017/262311 A1 describe un aspecto de procesos de tiempo de ejecución que pueden total o parcialmente automatizar la distribución de datos y el establecimiento de correspondencia de tareas en recursos de cálculo. Un denominado experto sintonizador, esto es, un operador personal, puede ser de nuevo requerido para establecer la correspondencia de las acciones respecto de los recursos disponibles. En esencia, se describe cómo una aplicación determinada que debe ser calculada puede establecer la correspondencia sobre una jerarquía de computación determinada.
La presente invención proporciona un procedimiento de explotación de un sistema informático heterogéneo que comprende una pluralidad de nodos de cálculo y una pluralidad de nodos de refuerzo, estando al menos uno de la pluralidad de nodos de cálculo y de la pluralidad de nodos de refuerzo dispuesto para calcular una tarea de cálculo, comprendiendo la tarea de cálculo una pluralidad de subtareas, en el que en una primera iteración de cálculo, la pluralidad de subtareas es asignada a y tratada por uno o unos entre la pluralidad de nodos de cálculo y de nodos de refuerzo en una primera distribución, utilizando las informaciones relacionadas con el tratamiento de la pluralidad de subtareas por la pluralidad de nodos de cálculo y de nodos de refuerzo para generar una distribución de las subtareas entre los nodos de cálculo y los nodos de refuerzo para de esta forma tratar una iteración de cálculo adicional.
De modo preferente, las informaciones se proporcionan mediante unos respectivos demonios (o duendes) que operan en cada uno de los nodos de cálculo y de refuerzo. Las informaciones suministradas permiten que un gestor de aplicaciones determine si la distribución de subtareas entre los nodos de cálculo y los nodos de refuerzo puede ser adaptada o mejorada tras una iteración de cálculo adicional.
Un gestor de recursos puede determinar la asignación de tareas y subtareas a los nodos de cálculo y a los nodos de refuerzo respecto de la primera iteración en función de la tarea de cálculo y de los parámetros adicionales. El gestor de aplicaciones trata las informaciones como datos de entrada al gestor de recursos, de manera que el gestor de recursos dinámicamente altera en mayor medida las distribuciones durante el cálculo de la tarea de cálculo.
En un aspecto adicional de la invención, el gestor de recursos, en base a las informaciones, dinámicamente altera la asignación de los nodos de cálculo y de los nodos de refuerzo entre sí durante el cálculo de la tarea de cálculo.
La distribución inicial puede también determinarse mediante la utilización por parte del gestor de aplicaciones de las informaciones suministradas por un usuario del sistema en el código de programación compilado para su ejecución por el sistema. Como alternativa, el gestor de aplicaciones puede estar dispuesto de tal manera que genere dicha distribución en base a un análisis de la codificación de subtareas.
En un aspecto adicional, la invención proporciona un sistema de cálculo heterogéneo que comprende una pluralidad de nodos de cálculo y una pluralidad de nodos de refuerzo para el cálculo de una o más tareas que comprenden múltiples subtareas, una interfaz de comunicación que conecta los nodos de cálculo entre sí y con los nodos de refuerzo, en el que el sistema comprende un gestor de recursos para asignar nodos de refuerzo y nodos de cálculo entre sí para el cálculo de las tareas y en el que el sistema comprende además un gestor de aplicaciones, estando el gestor de aplicaciones dispuesto par recibir las informaciones procedentes de los demonios que operan en los nodos de cálculo y en los nodos de refuerzo para actualizar una distribución de las subtareas entre los nodos de cálculo y los nodos de refuerzo entre una primera iteración de cálculo y una iteración de cálculo adicional.
En otro aspecto adicional de la invención, el gestor de recursos recibe las informaciones de tal manera que el gestor de recursos dinámicamente altera la asignación de los nodos de cálculo y de los nodos de refuerzo, los unos con los otros durante el cálculo de la tarea de cálculo. A continuación, se describirán formas de realización de la invención, únicamente a modo de ejemplo, con referencia a los dibujos que se acompañan, en los cuales:
La Fig. 1 muestra un diagrama esquemático de un sistema de ordenadores en clúster que incorpora la invención.
Con referencia a la Fig. 1, en ella se muestra una representación esquemática de un sistema de ordenadores en clúster 10 que incorpora la invención. El sistema 10 comprende una pluralidad de nodos de cálculo 20 y una pluralidad de nodos de refuerzo 22. Los nodos de cálculo 20 y los nodos de refuerzo están conectados por medio de una infraestructura de comunicación 24, estando los nodos de refuerzo conectados a la interfaz de comunicación por medio de una interfaz de refuerzo 23. Cada uno de los nodos de cálculo 20 y de los nodos de refuerzo 22 está representado esquemáticamente por un rectángulo y cada uno de estos nodos en funcionamiento incorpora al menos un demonio entre un respectivo demonio 26a y 26b, esquemáticamente ilustrados mediante un cuadrado dentro del rectángulo del respectivo nodo. El demonio de la presente invención es una aplicación que discurre como un proceso de fondo y es capaz de proporcionar las informaciones tal como son utilizadas en la presente memoria. Clauss et al., “Gestión de Tratamiento Dinámico con Coprogramación de Asignación Interna hacia un Supercálculo Interactivo”, COSH 2016, 19 de enero, Praga, CZ, divulgan unos demonios como los referidos en la presente memoria.
El sistema 10 también incluye un gestor de recursos 28 mostrado conectado a la infraestructura de comunicación 24 y un gestor de aplicaciones 30. Cada uno entre el gestor de recursos 28 y el gestor de aplicaciones 30 incluye un demonio respectivo 32 y 34. Los nodos de cálculo 20 pueden ser idénticos entre sí o pueden ser de características diferentes. Cada nodo de cálculo incorpora uno o más procesadores multinúcleo como por ejemplo el procesador Intel Xeon E5-2680. Los nodos están conectados entre sí por medio de una interfaz de comunicación que puede basarse en una estructura Mellanox InfiniBand ConnectX, capaz de transferir datos a una velocidad de muchos Gbits. La interfaz de nodos de cálculo se intercomunica a través de la interfaz de comunicación con la pluralidad de nodos de refuerzo, en teoría a través de una serie de interfaces de refuerzo 40. Como se muestra, los nodos de refuerzo albergan al menos un procesador tipo acelerador, por ejemplo, un procesador multinúcleo Intel Xeon Phi, capaz de poner en marcha y ejecutar autónomamente su propio sistema operativo. Dicha tecnología se describe en Concurrency Computat.: Pract. Exper. 2016; 28: 2394 -2411 anteriormente referenciado.
Así mismo, el sistema 10 puede incluir una capa de abstracción de cálculo modular según se describe en la solicitud no publicada PCT/EP 2017/075375, para posibilitar la comunicación entre los demonios y el gestor de aplicaciones.
Una tarea que debe ser calculada por el sistema puede comprender una pluralidad de tareas algunas de las cuales o todas pueden ser repetidas una serie de veces durante la ejecución de la tarea o trabajo. Por ejemplo, el trabajo puede ser una simulación basada en “Monte - Carlo” donde un efecto es modelado utilizando un número aleatorio, repitiéndose en los cálculos muchas veces de forma reiterada.
Las tareas pueden comprender una pluralidad de subtareas o núcleos. Cada una de estas subtareas puede ser más o menos apropiada para su tratamiento por uno o más nodos de cálculo o por uno o más reforzadores. En particular, la escabilidad de la subtarea puede indicar si es más apropiada para la tarea que debe ser tratada por un nodo de cálculo o por un reforzador. El sistema es flexible en todas direcciones, permitiendo también el tratamiento conjunto de subtareas por todos los nodos a los que se dirigen en la presente memoria, así como la remodelación del tratamiento entre los nodos.
Si una tarea es calculada con una primera división de subtareas entre un nodo de cálculo y un reforzador, es posible que dicha división no sea una división óptima para el cálculo de la tarea. Determinadas subtareas que fueron asignadas a un reforzador en la primera iteración podrían de hecho no ser apropiadas para su tratamiento mediante el reforzador de manera que un tratamiento de las subtareas por un nodo de cálculo distinto de un reforzador podría optimizar el cálculo de la tarea como conjunto. Por consiguiente, para una segunda y posibles iteraciones adicionales, si fuera necesario, de la tarea con una segunda y / o adicionales distribución alterada de subtareas podría mejorar la eficiencia del cálculo de la tarea.
Por consiguiente, el sistema 10 incluye un mecanismo por medio del cual cada uno de los nodos de cálculo y de los nodos en clúster están dispuestos de manera que los demonios 26a, 26b y 32 retrotraigan las informaciones hacia el demonio 34 relativas al tratamiento de las subtareas y a un estado actual de la respectiva entidad de tratamiento. El demonio 34 utiliza las informaciones utilizadas por los demonios 26a, 26b y 32 para determinar si la distribución de subtareas a los nodos de cálculo y a los reforzadores podría ser ajustada para optimizar o adaptar el cálculo de la tarea respecto de una segunda subsecuente iteración. El gestor de recursos puede también reasignar los nodos de cálculo y los reforzadores unos con otros, además de la distribución ajustada de las tareas.
Un trabajo que incluye una tarea en la que un operador ha estimado un factor de escabilidad para cada subtarea es introducido en el sistema. Esta tarea es compilada y el código compilado es ejecutado. En la ejecución, una tarea es analizada por el gestor de aplicaciones y las subtareas de la tarea son divididas en subtareas apropiadas de nodos de cálculo y de subtareas apropiadas de reforzador y estas informaciones son transmitidas al gestor de recursos para la asignación de reforzadores a los nodos de cálculo. Durante una primera iteración de la tarea, los resultados de la ejecución de las subtareas son recogidos de manera conjunta con las informaciones procedentes de los demonios relativas al tratamiento de las tareas y del estado de los nodos. El gestor de aplicaciones lleva a cabo entones una reasignación de las tareas para una iteración subsiguiente de la tarea y trasmite estas informaciones de asignación utilizadas al gestor de recursos el cual puede también ajustar la asignación de reforzadores a los nodos de manera consecuente.
Respecto de cada iteración, los demonios que operan en los nodos de cálculo y en los reforzadores dan cuenta de las informaciones de estado al gestor de aplicaciones y al gestor de recursos haciendo posible el cálculo de las subsiguientes iteraciones que deben ser optimizadas por ajustes adicionales a la asignación de subtareas a los nodos de cálculo y a los reforzadores.
Aunque el anterior procedimiento ha sido descrito como incorporando una etapa de tareificiación en el que factor de escabilidad inicial puede ser introducido por el codificador de programa, también es posible que el gestor de aplicaciones automáticamente fije un factor de escabilidad inicial respecto de las subtareas, con la mejora de las subsiguientes operaciones de este ajuste inicial. Dicha disposición tiene la ventaja de que se consigue que la codificación de las tareas sea más directa, posibilitando con ello una manejabilidad mejorada del sistema con respecto a codificadores de programa no familiarizados con operaciones de cálculo en clúster.
Tanto como para ajustar la distribución de subtareas entre nodos de cálculo y reforzadores en base a la escabilidad de subtareas, la distribución puede también verse influida por las informaciones conocidas acerca del tratamiento de la subtarea y de cualquier necesidad de solicitar otras subtareas durante el tratamiento. En el caso de que una primera subtarea sea gestionada por un reforzador y requiera unos datos de entrada procedentes de una segunda subtarea que no es gestionada por el reforzador, esto puede conducir a una interrupción en el tratamiento de la primera subtarea. Por consiguiente, el demonio del reforzador que maneja la primera subtarea puede informar acerca de esta situación al gestor de aplicaciones, de manera que, en una iteración adicional, tanto la primera como la segunda subtareas sean manejadas por el reforzador. Por consiguiente, el gestor de aplicaciones está dispuesto para utilizar las informaciones suministradas por los demonios que operan en los nodos de cálculo y en los reforzadores para ajustar las agrupaciones de subtareas para la asignación de los nodos de cálculo y de los reforzadores.
Aunque a los nodos de cálculo de la Fig. 1 se les ha otorgado el mismo número de referencia, lo mismo que a los nodos de refuerzo, esto no implica que todos los nodos de cálculo sean idénticos entre sí, y que todos los nodos de refuerzo sean también idénticos entre sí. El sistema 10 puede incorporar nodos de cálculo y / o nodos de refuerzo añadidos al sistema los cuales difieran en determinadas características de los demás nodos de cálculo / reforzadores. Por consiguiente, los concretos nodos de cálculo y / o nodos de refuerzo pueden estar particularmente indicados para el tratamiento de subtareas concretas. El gestor de aplicaciones tiene en cuenta estas informaciones estructurales y transfiere dichas informaciones de asignación al gestor de recursos para asegurar que las subtareas sean distribuidas de una forma óptima.
Un importante aspecto de la invención se refiere al reconocimiento de que un establecimiento de correspondencia, una personalización de las tareas de cálculo y de las subtareas sobre una jerarquía informática puede no proporcionar el suficiente uso de la flexibilidad inherente y de la adaptabilidad de la arquitectura informática, como se muestra como ejemplo de acuerdo con el documento WO 2012/049247 A1. Por tanto, la presente invención integra la personalización de la tarea de aplicación de la manera máxima suficiente, como ejemplo de acuerdo con el documento WO 2017/0262319 A1, así como la configuración dinámica de los nodos de cálculo y de los nodos de refuerzo unos con otros, y en definitiva la readaptación dinámica del establecimiento de correspondencia de las tareas de cálculo durante el tiempo de ejecución en base a la información proporcionada por los demonios acerca de la eficiencia de la ejecución o de la tarea de cálculo, y la reasignación dinámica de los nodos de cálculo y de los reforzadores de cálculo unos con otros.

Claims (10)

REIVINDICACIONES
1. - Un procedimiento de explotación de un sistema informático heterogéneo (10) que comprende una pluralidad de nodos de cálculo (20) y una pluralidad de nodos de refuerzo (22), estando dispuesto al menos uno de la pluralidad de nodos de cálculo (20) y de la pluralidad de nodos de refuerzo (22) para calcular una tarea de cálculo, comprendiendo la tarea de cálculo una pluralidad de subtareas, en el que
en una primera iteración de cálculo, la pluralidad de subtareas es asignada y tratada por un nodo entre la pluralidad de nodos de cálculo (20) y de nodos de refuerzo (22) en una primera distribución;
caracterizado porque
las informaciones relativas al tratamiento de la pluralidad de subtareas por la pluralidad de nodos de cálculo (20) y por nodos de refuerzo (22) es utilizada para generar una distribución adicional de las subtareasentre los nodos de cálculo (20) y los nodos de refuerzo (22) para su tratamiento en el curso de una iteración de cálculo adicional.
2. - El procedimiento de acuerdo con la reivindicación 1, en el que un gestor de aplicaciones (30) recibe las informaciones y determina la distribución adicional.
3. - El procedimiento de acuerdo con la reivindicación 2, en el que un gestor de recursos (28) determina la asignación de tareas y de subtareas a los nodos de cálculo (20) y a los nodos de refuerzo (22) para la primera iteración en función de la tarea de cálculo y en el que el gestor de aplicaciones (30) recibe las informaciones y las trata como datos de entrada al gestor de recursos (28), de manera que el gestor de recursos (20) dinámicamente altera la distribución adicional durante el cálculo de la tarea de cálculo.
4. - El procedimiento de acuerdo con la reivindicación 3, en el que el gestor de recursos (28) recibe las informaciones de manera que el gestor de recursos (28) altera dinámicamente la asignación de los nodos de cálculo (20) y de los nodos de refuerzo (22) unos en relación con los otros, durante el cálculo de la tarea de cálculo.
5. - El procedimiento de acuerdo con la reivindicación 1 o 2, en el que unos demonios (26a, 26b) operan en los nodos de cálculo (20) y en los nodos de refuerzo (22) para generar las informaciones.
6. - El procedimiento de acuerdo con cualquier reivindicación precedente, en el que la primera distribución se determina en base a la clasificación suministrada en el código fuente para cada subtarea.
7. - El procedimiento de acuerdo con cualquier reivindicación precedentes en el que las informaciones son utilizadas para suministrar una agrupación de subtareas en al menos una entre la primera y la segunda iteraciones.
8. - El procedimiento de acuerdo con la reivindicación 3, en el que un demonio que opera un demonio genera una medida de una carga del nodo durante el tratamiento de una subtarea.
9. - Un sistema informático heterogéneo (10) que comprende una pluralidad de nodos de cálculo (20) y una pluralidad de nodos de refuerzo (22) para el cálculo de una o varias tareas que comprenden varias subtareas, uniendo una interfaz de comunicación los nodos de cálculo (20) entre ellos y los nodos de refuerzo (22), en el que el sistema (10) comprende un gestor de recursos (28) para asignar los nodos de refuerzo (22) y los nodos de cálculo (20) los uno con respecto de los otros para el cálculo de las tareas
Caracterizado porque
el sistema (10) comprende además un gestor de aplicaciones (30), estando el gestor de aplicaciones (30) provisto para recibir informaciones relativas al tratamiento de la pluralidad de subtareas proveniente de los demonios (26a, 26b) que operan en los nodos de cálculo (20) y en los nodos de refuerzo (22) con el fin de actualizar un reparto de las subtareas entre los nodos de cálculo (20) y los nodos de refuerzo (22) para una iteración de cálculo adicional.
10. - El sistema informático (10) de acuerdo con la reivindicación 9, en el que el gestor de recursos (28) recibe las informaciones, de manera que el gestor de recursos (28) modifica dinámicamente la asignación de nodos de cálculo (20) y de nodos de refuerzo (20) los unos respecto de los otros.
ES19700841T 2018-01-23 2019-01-23 Asignación dinámica de recursos de cálculo heterogéneos determinada por ejecución de aplicaciones Active ES2953737T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18152903 2018-01-23
PCT/EP2019/051615 WO2019145354A1 (en) 2018-01-23 2019-01-23 Application runtime determined dynamical allocation of heterogeneous compute resources

Publications (1)

Publication Number Publication Date
ES2953737T3 true ES2953737T3 (es) 2023-11-15

Family

ID=61022206

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19700841T Active ES2953737T3 (es) 2018-01-23 2019-01-23 Asignación dinámica de recursos de cálculo heterogéneos determinada por ejecución de aplicaciones

Country Status (11)

Country Link
US (1) US11537442B2 (es)
EP (1) EP3743812B1 (es)
JP (2) JP2021511609A (es)
KR (1) KR20200107971A (es)
CN (1) CN111656323A (es)
CA (1) CA3087219A1 (es)
ES (1) ES2953737T3 (es)
HR (1) HRP20231058T1 (es)
HU (1) HUE062986T2 (es)
PL (1) PL3743812T3 (es)
WO (1) WO2019145354A1 (es)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2940403B2 (ja) * 1994-08-03 1999-08-25 株式会社日立製作所 並列計算機システムにおけるモニタデータ収集方法
JP2910676B2 (ja) * 1996-05-15 1999-06-23 日本電気株式会社 負荷均等化装置
JP2001014286A (ja) * 1999-06-29 2001-01-19 Hitachi Ltd 並列計算機での負荷分散制御方法
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US8589935B2 (en) * 2007-05-08 2013-11-19 L-3 Communications Corporation Heterogeneous reconfigurable agent compute engine (HRACE)
US8990812B2 (en) * 2008-07-07 2015-03-24 Infosys Limited Task decomposition with throttled message processing in a heterogeneous environment
JP2010257056A (ja) * 2009-04-22 2010-11-11 Fujitsu Ltd 並列処理装置、並列処理方法及び並列処理プログラム
US8869160B2 (en) * 2009-12-24 2014-10-21 International Business Machines Corporation Goal oriented performance management of workload utilizing accelerators
US8346845B2 (en) * 2010-04-14 2013-01-01 International Business Machines Corporation Distributed solutions for large-scale resource assignment tasks
US8250135B2 (en) * 2010-07-09 2012-08-21 Sap Ag Brokered cloud computing architecture
EP2442228A1 (en) * 2010-10-13 2012-04-18 Thomas Lippert A computer cluster arrangement for processing a computaton task and method for operation thereof
EP2728490B1 (en) * 2012-10-31 2017-07-12 Fujitsu Limited Application execution method in computing
US10621002B2 (en) * 2014-02-28 2020-04-14 Pivotal Software, Inc. Iterative task centric resource scheduling for a user program between different computing frameworks
CN105512083B (zh) * 2015-11-30 2018-09-21 华为技术有限公司 基于yarn的资源管理方法、装置及系统
US10437649B2 (en) 2016-03-11 2019-10-08 Intel Corporation Task mapping for heterogeneous platforms
US11494245B2 (en) 2016-10-05 2022-11-08 Partec Cluster Competence Center Gmbh High performance computing system and method
CN107168782A (zh) * 2017-04-24 2017-09-15 复旦大学 一种基于Spark与GPU的并行计算系统

Also Published As

Publication number Publication date
HUE062986T2 (hu) 2023-12-28
EP3743812C0 (en) 2023-08-02
PL3743812T3 (pl) 2024-01-22
KR20200107971A (ko) 2020-09-16
US20210096923A1 (en) 2021-04-01
WO2019145354A1 (en) 2019-08-01
HRP20231058T1 (hr) 2023-12-22
CN111656323A (zh) 2020-09-11
EP3743812B1 (en) 2023-08-02
RU2020123319A (ru) 2022-01-14
CA3087219A1 (en) 2019-08-01
US11537442B2 (en) 2022-12-27
JP2021511609A (ja) 2021-05-06
JP2024040165A (ja) 2024-03-25
EP3743812A1 (en) 2020-12-02

Similar Documents

Publication Publication Date Title
JP2848262B2 (ja) ソフトウエア・アーキテクチャを用いた高度並列コンピュータ・システムの制御方式
US20180225102A1 (en) Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system
US8516461B2 (en) Method to dynamically distribute a multi-dimensional work set across a multi-core system
KR102253628B1 (ko) 복수-쓰레드 프로세서에서의 복수 쓰레드들의 상태들의 결합
US8959525B2 (en) Systems and methods for affinity driven distributed scheduling of parallel computations
CN106687920B (zh) 管理任务的调用
CN106605209B (zh) 控制数据处理任务
US11385931B2 (en) Method, electronic device, and computer program product for processing computing job
US7454749B2 (en) Scalable parallel processing on shared memory computers
ES2953737T3 (es) Asignación dinámica de recursos de cálculo heterogéneos determinada por ejecución de aplicaciones
Polychronopoulos Toward auto-scheduling compilers
O’Cearbhaill et al. Parallel implementation of a transportation network model
CN107133099B (zh) 一种云计算方法
Öhberg Auto-tuning Hybrid CPU-GPU Execution of Algorithmic Skeletons in SkePU
Fraguela et al. The new UPC++ DepSpawn high performance library for data-flow computing with hybrid parallelism
Fresno et al. Automatic data partitioning applied to multigrid PDE solvers
Nair An Analytical study of Performance towards Task-level Parallelism on Many-core systems using Java API
Blochinger et al. The distributed object-oriented threads system DOTS
WO2017086828A1 (en) Generating a vector based representation of a program for execution in a distributed processing system
Barker Runtime support for load balancing of parallel adaptive and irregular applications
Planas et al. Selection of task implementations in the Nanos++ runtime
Henriksen Abstractions in Python for utilizing diverse hardware for applications in computational science
KR20230035671A (ko) 데이터 구조들의 공유
Gonzàlez‐Tallada et al. Compute units in OpenMP: Extensions for heterogeneous parallel programming
Aleem et al. On the parallel programmability of JavaSymphony for multi-cores and clusters