targetDART - Dynamisch adaptive, reaktive Taskmigration auf heterogenen Exascale-Architekturen
Sachbericht zum Verwendungsnachweis : Bericht über das Teilprojekt: Höchstleistungsrechenzentrum Stuttgart (HLRS)
Date
Authors
Editor
Advisor
Volume
Issue
Journal
Series Titel
Book Title
Publisher
Supplementary Material
Other Versions
Link to publishers' Version
Abstract
Das Projekt targetDART adressierte die Entwicklung eines Task-basierten Ansatzes für hoch-skalierbare Simulationssoftware, um unvorhersehbare Lastungleichgewichte auf heterogenen Exascale-Systemen auszugleichen.
Die Aufgabenstellung gliederte sich dabei in vier zentrale Schwerpunkte.
Dynamisch adaptive und reaktive Lastverteilung: Das Kernziel war die Realisierung der Verteilung von Rechenaufgaben zwischen Rechenknoten, die sowohl auf temporäre als auch auf persistente Lastimbalancen reagiert. Hierfür wurden Mechanismen zur Task-Migration und -Replikation entwickelt, die bewusst auf den de-facto-Programmierstandards MPI und OpenMP aufsetzen, um eine breite Anwendbarkeit für bestehende Simulationssoftware zu garantieren.
Beherrschung von Heterogenität und Skalierbarkeit: Die Aufgabenstellung fokussierte sich auf Exascale-Architekturen, die pro Knoten mehrere Multicore-Prozessoren mit verschiedenen Beschleunigern (insbesondere GPUs) kombinieren.
targetDART sah hierbei folgende technische Neuentwicklungen vor.
- Erweiterung des OpenMP-Modells: Das Konstrukt \texttt{omp target} wird dahingehend generalisiert, dass ein dynamisches und reaktives Scheduling von Tasks sowohl auf dem Host-Prozessor als auch auf heterogenen GPUs ermöglicht wird.
- Hierarchisches Scheduling: Zur Verbesserung der Skalierung werden Entscheidungen über die Task-Verteilung auf verschiedenen Ebenen getroffen, etwa innerhalb eines Knotens oder zwischen benachbarten Knoten mit hoher Bandbreite.
- Reduktion von Overheads: Durch Verfahren wie spekulative Replikation und permanente Migration soll der Kommunikationsaufwand bei der Aufgabenverteilung minimiert werden.
Co-Design mit Exascale-Anwendungen: Ein wesentlicher Teil der Aufgabenstellung war die Optimierung des Ansatzes im direkten Co-Design mit zwei etablierten Exascale-Anwendungen: SeisSol (Erdbebensimulation) und ExaHyPE (Engine für hyperbolische Gleichungssysteme).
Anhand dieser Codes wurden Demonstrator-Szenarien realisiert, um die Effizienz der reaktiven Task-Migration unter realen Bedingungen nachzuweisen.
Standardisierung und Nachhaltigkeit: Über die technische Implementierung hinaus verfolgte das Projekt das Ziel, die gewonnenen Erkenntnisse nachhaltig in die Gremien der Programmiermodelle MPI und OpenMP einzubringen.
Dies umfasste die Verbesserung der Interoperabilität zwischen den Laufzeitsystemen, um eine langfristige Verbesserung der Ressourceneffizienz für die gesamte HPC-Community zu erreichen.
Anwendungsmöglichkeiten der Ergebnisse: Die Ergebnisse des Projekts targetDART lassen sich auf eine Vielzahl von wissenschaftlichen und technischen Simulationen übertragen, insbesondere dort, wo unvorhersehbare Lastungleichgewichte auf modernen Supercomputern auftreten. Da targetDART auf den Standards MPI und OpenMP aufsetzt, können bestehende wissenschaftliche Anwendungen mit minimalen Code-Änderungen (z.B. durch Austausch der \device-Klausel) für heterogene Exascale-Cluster fit gemacht werden.
