Publikation

Reactive runtimes for parallel programming models on shared, distributed and heterogeneous memory systems

  • Reaktive Laufzeiten für parallele Programmiermodelle auf Systemen mit gemeinsamem, verteiltem und heterogenem Speicher

Klinkenberg, Jannis; Müller, Matthias S. (Thesis advisor); Bader, Michael (Thesis advisor)

Aachen : RWTH Aachen University (2023, 2024)
Doktorarbeit

Dissertation, RWTH Aachen University, 2023

Kurzfassung

Das anhaltende Bestreben, den Umfang und die Präzision wissenschaftlicher Simulationen zu erhöhen, hat in den letzten Jahrzehnten zu einer ständig wachsenden Nachfrage nach Rechenressourcen geführt. Dies wiederum hat zu mehreren Innovationen in der Architektur und den Herstellungsverfahren von Computersystemen geführt, wie z.B. der Einführung von Mehrkernprozessoren und Mehrsockelsystemen mit gemeinsamem Speicher, die typischerweise in High Performance Computing (HPC) Installationen eingesetzt werden. In der Vergangenheit wurden wissenschaftliche Anwendungen hauptsächlich unter der Annahme einer einheitlichen Ausführungsumgebung entwickelt, in der jeder Rechenknoten und ‑kern innerhalb einer Installation mit gleichbleibender, unveränderter Geschwindigkeit arbeitet und in der die Ausführungszeit genau vorhergesagt werden kann. In den letzten zehn Jahren sind jedoch sowohl die Hardware als auch die Software immer komplexer geworden und zeigen oft ein dynamisches Ausführungsverhalten, was zu Leistungsschwankungen und Laufzeitvariabilität führt. Folglich wird der a~priori Lastausgleich innerhalb und zwischen Rechenknoten in solchen Umgebungen immer schwieriger. Sowohl Anwendungen als auch Laufzeitsysteme benötigen daher neue Techniken, um dynamisch auf sich verändernde Ausführungsbedingungen zu reagieren und die Last effizient auszugleichen. In dieser Arbeit werden reaktive Konzepte, Laufzeitimplementierungen und Laufzeiterweiterungen vorgestellt, welche die wachsende Komplexität von Hardware und Software adressieren. Ziel ist es, portable, herstellerunabhängige Lösungen bereitzustellen um die Leistung von Applikationen zu erhöhen, Laufzeitvariabilität zu minimieren und drohende Lastungleichgewichte abzumildern. Lokalitätsbewusste Task-Scheduling Erweiterungen in OpenMP verbessern die Datenlokalität auf modernen Shared-Memory-NUMA-Architekturen durch dynamische Identifizierung der physischen Datenorte und reaktive Anpassung der Aufgabenverteilung und ‑planung. Darüber hinaus kann eine kontinuierliche Leistungsüberprüfung in Kombination mit einer reaktiven Migration oder Replikation von Aufgaben im verteilten Speicher bevorstehende Ungleichgewichte zur Ausführungszeit effizient erkennen und mildern. Zuletzt ermöglicht die Abstraktion von regulären Speicherzuweisungen die Angabe zusätzlicher Anforderungen oder Hinweise bezüglich wie die Daten während der Ausführung verwendet werden, was zur dynamischen Steuerung der Datenplatzierung auf Systemen mit heterogenem Speicher genutzt werden kann. Systematische Evaluierungen demonstrieren die Wirksamkeit der vorgestellten Konzepte und zeigen, dass es entscheidend ist, die Verantwortung für die effiziente Bewältigung dieser tiefergehenden Aspekte den Laufzeitsystemen zu übertragen, um eine hohe Leistung auf aktuellen und zukünftigen Architekturen zu erreichen.

Einrichtungen

  • Fachgruppe Informatik [120000]
  • Lehrstuhl für Hochleistungsrechnen (Informatik 12) [123010]