targetDART

Dynamisch adaptive und reaktive Verteilung von Rechenaufgaben auf heterogenen Exascale-Architekturen
[Translate to Deutsch:]
[Translate to Deutsch:]

targetDART erarbeitet einen Task-basierten Ansatz für hochskalierbare Simulationssoftware, der auf heterogenen Exascale-Systemen unvorhersagbare Lastungleichgewichte mittels dynamisch adaptiver und reaktiver Verteilung von Rechenaufgaben zwischen den Rechenknoten ausgleicht.

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.

Laufzeit

01. Oktober 2022 -
30. September 2025

Förderung

BMBF - SCALEXA call

Projektpartner

  • Technische Universität München (TUM)
  • RWTH Aachen University (RWTH)
  • Höchstleistungsrechenzentrum Stuttgart (HLRS)
  • Durham University (DUR) – Assoziierter Partner

Fördergeber

Kontakt

Jose Gracia

Abteilungsleiter, Scalable Programming Models and Tools

+49 711 685-87208 jose.gracia(at)hlrs.de