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 PDFInfo
- 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
Links
- 238000009826 distribution Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 65
- 230000002787 reinforcement Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims 1
- 239000003623 enhancer Substances 0.000 description 6
- 238000013507 mapping Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
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)
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.
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)
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的并行计算系统 |
-
2019
- 2019-01-23 JP JP2020560575A patent/JP2021511609A/ja active Pending
- 2019-01-23 PL PL19700841.0T patent/PL3743812T3/pl unknown
- 2019-01-23 CA CA3087219A patent/CA3087219A1/en active Pending
- 2019-01-23 US US16/963,749 patent/US11537442B2/en active Active
- 2019-01-23 CN CN201980009676.8A patent/CN111656323A/zh active Pending
- 2019-01-23 ES ES19700841T patent/ES2953737T3/es active Active
- 2019-01-23 HU HUE19700841A patent/HUE062986T2/hu unknown
- 2019-01-23 WO PCT/EP2019/051615 patent/WO2019145354A1/en unknown
- 2019-01-23 KR KR1020207020146A patent/KR20200107971A/ko not_active Application Discontinuation
- 2019-01-23 EP EP19700841.0A patent/EP3743812B1/en active Active
- 2019-01-23 HR HRP20231058TT patent/HRP20231058T1/hr unknown
-
2024
- 2024-01-09 JP JP2024001229A patent/JP2024040165A/ja active Pending
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 |