High-Performance Computing (HPC) gehört heute in vielen wissenschaftlichen Disziplinen zu den grundlegenden Forschungsmethoden. Die ersten Hochleistungsrechner haben bereits seit diesem Jahr die Exaflop-Leistungsklasse (mindestens 1018 Operationen pro Sekunde) erreicht. Zum Erreichen von Exascale in HPC-Systemen ist ein hoher Grad an Heterogenität notwendig. Damit Anwendungen die Leistung von Exascale-Systemen dennoch effizient ausnutzen können, muss die Skalierbarkeit auf sehr großen heterogenen Systemen verbessert werden. Eine Vielzahl von Komponenten ist für moderne Höchstleistungsrechner notwendig: vom Prozessor über Datenspeicher, Dateisysteme und Beschleuniger bis zu Software und Algorithmen. Für alle diese Komponenten sind auch neue Technologien und Anpassungen an bestimmte Anwendungen und Schnittstellen notwendig.
Das BMBF-Projekt targetDART hat das Ziel, ein taskbasiertes Programmiermodell für hochskalierbare Simulationssoftware auf Basis der Programmierstandards MPI (Message Passing Interface) und OpenMP (Open Multi-Processing) zu entwickeln. Als Projektpartner agieren die Technische Universität München und das Höchstleistungsrechenzentrum Stuttgart. Darüber hinaus ist die Durham University als assoziierter Partner beteiligt.
Das targetDART-Projekt befasst sich mit der Herausforderung, Aufgaben während der Anwendungsausführung in Echtzeit zwischen CPUs, GPUs und Knoten zu migrieren. Durch die dynamische Verlagerung von Aufgaben auf der Grundlage der Arbeitslastanforderungen können die Systemressourcen effizient genutzt werden, was zu einer verbesserten Leistung und kürzeren Ausführungszeiten führt. Mit diesem Ansatz können Anwendungen das volle Potenzial der zugrunde liegenden Hardware-Architektur ausschöpfen und eine optimale Effizienz erreichen.
Aufbauend auf dem Erfolg des Chameleon-Projekts
Das bereits abgeschlossene BMBF-Projekt Chameleon dient als Grundlage für targetDART und liefert wertvolle Erkenntnisse und Ergebnisse zur dynamischen Task-Migration von Aufgaben zwischen den Knoten auf der Grundlage einer Bibliothek/API. Diese innovative Fähigkeit wird Entwickler*innen und Forschende in die Lage versetzen, diese Ergebnisse auf Hardwarebeschleuniger wie GPUs zu erweitern. Dabei sollen die erweiterten Möglichkeiten direkt in die Laufzeitumgebung des Clang Compilers integriert werden.
Die Balance zwischen Hardware und Software
Um das Potenzial von GPUs zu maximieren, wird das targetDART-Projekt das OpenMP-Target-Konstrukt nutzen, was das Erzeugen von Aufgaben für CPUs als auch für GPUs ermöglicht. Durch die Nutzung von GPUs, welche eine hohe Menge an parallelen Berechnungen ermöglichen, können Anwendungen erheblich beschleunigt und die Berechnungseffizienz verbessert werden. Darüber hinaus wird MPI, insbesondere der neue Standard 4.0, im Rahmen des Projekts eingesetzt, um eine effiziente Kommunikation und Koordination zwischen den Knoten zu gewährleisten und eine nahtlose Migration von Aufgaben über das System hinweg zu ermöglichen.
Von der Idee zur Anwendung
Die Auswirkungen von targetDART gehen über die theoretischen Fortschritte hinaus, da das Projekt seinen innovativen Ansatz auf reale Szenarien anwendet. SeisSol, ein dynamischer Erdbeben- und seismischer Wellensimulator, und ExaHyPE, ein Löser für hyperbolische partielle Differentialgleichungen, werden als Testfälle für die Bewertung der Wirksamkeit der dynamischen Lastmigration eingesetzt. Durch die Bewertung der Leistung dieser komplexen Anwendungen will das Projekt seinen Ansatz validieren und greifbare Vorteile aufzeigen.
Kollaboration: Der Schlüssel zum Erfolg
Während sich die RWTH Aachen vertreten durch das IT Center auf OpenMP, target-Konstrukte und CPU-GPU-Migration konzentriert, ist das HLRS auf MPI und die Optimierung der Migration zwischen Knoten spezialisiert. Die TU München bringt ihre Expertise in der Anwendungsoptimierung ein und konzentriert sich auf die Weiterentwicklung von SeisSol und ExaHyPE.
Die Skalierbarkeit und Ressourceneffizienz von Exascale-Anwendungen kann durch die optimierte Auslastung der Hardware und Rechenaufgaben deutlich gesteigert werden. Durch Erweiterungen der HPC-Standards MPI und OpenMP können auch andere Exascale-Anwendungen über targetDART hinaus von den Ergebnissen profitieren.
Somit können die Projektergebnisse eine hohe Breitenwirksamkeit erzielen.
Dies wird neue Dimensionen der Leistung und Ressourcennutzung erschließen und die HPC-Community in die Lage versetzen, komplexe Probleme effizienter anzugehen.
Aktuelle Status Updates findet ihr auf der Projektwebseite.
Verantwortlich für die Inhalte dieses Beitrags sind Adrian Schmitz, Malak Mostafa und Janin Vreydal.