2023 & 2024
Dissertation, RWTH Aachen University, 2023
Veröffentlicht auf dem Publikationsserver der RWTH Aachen University 2024
Genehmigende Fakultät
Fak01
Hauptberichter/Gutachter
;
Tag der mündlichen Prüfung/Habilitation
2023-12-01
Online
DOI: 10.18154/RWTH-2024-00519
URL: https://publications.rwth-aachen.de/record/977005/files/977005.pdf
Einrichtungen
Projekte
Inhaltliche Beschreibung (Schlagwörter)
HPC (frei) ; heterogeneous memory (frei) ; load balancing (frei) ; parallel programming (frei) ; tasking (frei)
Thematische Einordnung (Klassifikation)
DDC: 004
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.The persistent drive to enhance the scale and precision of scientific simulations over the past decades has created an ever-growing demand for computational resources. This, in turn, has catalyzed several innovations in the architectural design and manufacturing procedures of computer systems, such as the introduction of multi-core processors and multi-socket shared memory systems, which are typically operated in High Performance Computing (HPC) installations. Historically, scientific applications have primarily been developed with the presumption of a uniform execution environment, where every compute node and core within an installation operates at a consistent, unchanging speed and where the execution time can be accurately predicted. However, in the last decades, both hardware and software have become increasingly complex and often exhibit dynamic execution behavior, causing performance fluctuations and run time variability. Consequently, a~priori load balancing within and between compute nodes becomes increasingly challenging in such environments. Applications as well as runtime systems therefore demand for new techniques to be able to dynamically react to changing execution conditions and efficiently balance the load. This thesis presents reactive concepts, runtime implementations, and runtime extensions designed to address the growing complexity of both hardware and software. The objective is to provide portable, vendor-independent solutions to improve application performance, minimize run time variability and mitigate impending load imbalances. Locality-aware task scheduling extensions in OpenMP improve the data locality on contemporary shared memory NUMA architectures by dynamically identifying physical data locations and reactively adjusting the task distribution and scheduling. Further, continuous performance introspection combined with reactively migrating or replicating tasks in distributed memory can efficiently detect and mitigate emerging imbalances at execution time. Lastly, abstracting regular memory allocation allows specifying additional requirements or hints regarding how the data is used throughout the execution, which can be exploited to dynamically guide the data placement on systems with heterogeneous memory. Systematic evaluations demonstrate the effectiveness of the presented concepts and show that placing the burden on runtime systems to proficiently handle these low-level aspects is crucial to achieve high performance on current and future architectures.
OpenAccess:
PDF
(additional files)
Dokumenttyp
Dissertation / PhD Thesis
Format
online
Sprache
English
Externe Identnummern
HBZ: HT030688457
Interne Identnummern
RWTH-2024-00519
Datensatz-ID: 977005
Beteiligte Länder
Germany
|
The record appears in these collections: |