Das ehemalige EU-Projekt Performance Optimisation and Productivity Centre of Excellence in HPC (POP CoE) hat in den vergangenen Jahren hunderte von Performance-Analysen von HPC-Anwendungen durchgeführt. Ergebnis dieser Analysen ist, dass Lastungleichgewichte noch vor MPI-Kommunikation die größte Herausforderung bei der Skalierung von Codes sind. Zunehmend komplexe Simulationsaufgaben mit gekoppelten Herausforderungen, gemischten Diskretisierungsverfahren und dynamischer Adaptivität machen eine perfekte Lastverteilung mitunter unmöglich. Zudem erschweren Variabilitäten in der Hardware-Leistung die prädiktive Lastverteilung.
Task-orientierte Programmiermodelle sind inhärent adaptiv, dynamisch und reaktiv: sie passen sich laufend der aktuellen Lastverteilung an und reagieren mithilfe des Migrierens von Tasks auf Lastungleichgewichte. Auf Architekturen mit verteiltem Speicher sind diese drei Vorteile jedoch substanziell eingeschränkt und erzeugen hohe Kosten für Kommunikation und Datentransfer: adaptive Aktionen erfordern lokal unverfügbares Wissen über die Lastverteilung; reaktive Aktionen müssen die Ein- und Ausgabedaten von Tasks zwischen entferntem Speicher austauschen und dynamische Aktionen werden wegen zusätzlicher Kommunikationszeiten und vor allem Kommunikationslatenzen verzögert. Während auf gemeinsamem Speicher Tasks auf Abruf nahezu unmittelbar auf verfügbaren Rechenkernen gestartet werden können, ist es nach dem Erkennen eines Lastungleichgewichts zwischen MPI-Ranks wegen der zusätzlichen Kommunikationskosten oft schon zu spät, noch eine Task-Migration anzustoßen.
Im BMBF-Projekt Chameleon wurde das Konstrukt “omp target” so erweitert, dass entsprechend gekennzeichnete OpenMP-Tasks reaktiv auf andere MPI-Prozesse temporär migriert, dort ausgeführt und das Ergebnis zurückgeliefert werden. targetDART greift diese Aspekte auf und entwickelt den omp target Ansatz so weiter, dass asynchrones Task-orientiertes Programmieren mit reaktiver Lastbalancierung auf Exascale-Architekturen genutzt werden kann – im Zusammenspiel von Anwendung und Laufzeitsystem der Programmiermodelle.
targetDART plant, die Konzepte des Tasking von OpenMP als Grundlage zur Unterstützung von Heterogenität und Migration zu nutzen, um neue Lastbalancierungsstrategien für Anwendungen mit Blick auf heterogene Exascale-Architekturen zu entwerfen. Der Aufbau auf bestehende, standardisierte Konzepte ermöglicht es, nachhaltige bewiesene Ansätze in die Programmierstandards MPI und OpenMP einzubringen. Damit werden die Erfolgsgeschichte von Chameleon weitergeschrieben und die Verbindung von Forschung- mit Standardisierungsaktivitäten unterstützt. Diese leisten einen wichtigen Beitrag zur deutschen und europäischen HPC-Community.
01. Oktober 2022 - 30. September 2025
Exascale-Computing
Optimierung & Skalierbarkeit
Scalable Programming Models and Tools
BMBF - SCALEXA call
Alle Projekte
Abteilungsleiter, Scalable Programming Models and Tools