Automatic data flow optimizations for parallel patterns on hierarchical memory architectures
- Automatische Datenflussoptimierung für parallele Muster auf Architekturen mit hierarchischem Speicher
Wassermann, Christian; Müller, Matthias S. (Thesis advisor); Lübbecke, Marco (Thesis advisor); Schmitz, Adrian (Consultant); Miller, Julian (Consultant)
Aachen : RWTH Aachen University (2023)
Masterarbeit
Masterarbeit, RWTH Aachen University, 2023
Kurzfassung
Für viele Anwendungsfelder ist die Nutzung hochgradig paralleler Hochleistungsrechner ein integraler Teil der Forschungsaktivitäten geworden. Mit der steigenden Nachfrage nach mehr Rechenleistung hat heterogene Hardware Einzug in heutige Hochleistungsrechnersysteme gefunden, um die Ausführung spezialisierter Applikationen zu unterstützen. Dazu gehören nicht nur Beschleuniger wie General-Purpose Graphics Processing Units (GPGPUs) sondern auch neue Speichertechnologien wie High-Bandwidth Memory (HBM). Die damit einhergehende zunehmende Komplexität stellt Fachwissenschaftler und Experten für Hochleistungsrechnen gleichermaßen vor die Herausforderung, die verfügbare Hardware bestmöglich auszunutzen. Das Parallel Pattern Language (PPL)-Projekt wurde von der Gruppe für Hochleistungsrechnen der RWTH Aachen ins Leben gerufen, um diese Herausforderungen zu adressieren. Hierbei werden parallele Applikationen als eine hierarchische Kombination paralleler Muster modelliert. Teil des Projekts ist eine prototypische Implementierung mit einer domänenspezifischen Sprache für produktive parallel Programmierung, die gleichzeitig portable Performance bietet. Diese Arbeit baut auf den im Rahmen des PPL-Projekts eingeführten Ideen auf und setzt den Schwerpunkt der Ausarbeitung auf dessen Optimierungskomponente. Diese berechnet den Ausführungsplan für ein paralleles Programm und eine gegebene Hardwarezusammensetzung zur Kompilierzeit. Zur Modellierung dieser Variante des parallelen Maschinenplanungsproblems werden drei neue Modelle mittels gemischt-ganzzahliger linearer Programmierung (MILP) aufgestellt, die insbesondere Erweiterungen zur Berücksichtigung heterogener und hierarchischer Speicherressourcen enthalten. Zur Integration in die bereits existierenden Komponenten des PPL-Projekts werden passende Konvertierungen der genutzten Daten beschrieben. Eine prototypische Implementierung wird auf einem konfigurierbaren Benchmark mit vier verschiedenen MILP-Lösern evaluiert. Die Ergebnisse zeigen einen signifikanten Laufzeitvorteil einer einzigen Modell- und Löser-Kombination. Anschließend werden Modellvarianten sowie die Einsatzmöglichkeiten von Parallelität mittels Multi-Threading bewertet. Eine detaillierte Analyse des Rechenverhaltens während des Lösungsprozesses und ein Vergleich mit dem bisher im PPL-Projekt verwendeten ebenenbasierten Schedulingansatz vervollständigen die wissenschaftlichen Beiträge dieser Arbeit.
Einrichtungen
- Fachgruppe Informatik [120000]
- Lehrstuhl für Informatik 12 (Hochleistungsrechnen) [123010]
Identifikationsnummern
- DOI: 10.18154/RWTH-2023-06006
- RWTH PUBLICATIONS: RWTH-2023-06006