2022
Masterarbeit, RWTH Aachen University, 2022
Veröffentlicht auf dem Publikationsserver der RWTH Aachen University
Genehmigende Fakultät
Fak01
Hauptberichter/Gutachter
; ;
Tag der mündlichen Prüfung/Habilitation
2022-06-01
Online
DOI: 10.18154/RWTH-2022-06845
URL: https://publications.rwth-aachen.de/record/849496/files/849496.pdf
Einrichtungen
Inhaltliche Beschreibung (Schlagwörter)
HPC (frei) ; MPI (frei) ; Machine Learning (frei) ; Vector Engine (frei)
Thematische Einordnung (Klassifikation)
DDC: 004
Kurzfassung
Wir untersuchen und modellieren die Leistung einer mit Machine Learning gekoppelten HPC Anwendung. Sie basiert auf einer reaktiven Thermo-Fluid-Simulation, welche durch den Speicherbedarf einer dem Stand der Technik entsprechenden Implementierung mit einer Wertetabelle limitiert ist.ML ist ein altes Konzept, das in den letzten Jahren durch die Entwicklung leistungsstarker ultraparalleler Prozessoren mit Vektorisierungsfähigkeit vorangetrieben wurde, denn diese können die Berechnung von für ML Algorithmen typischen Matrixoperationen beschleunigen. Die Implementierung mit Wertetabelle wird durch ein ML Modell ersetzt, indem sie durch Kopplungen, welche die bestehende Software mit verschiedenen ML Frameworks verknüpfen, ausgetauscht wird. Zum Vergleich implementieren wir Kopplungen mit bekannten und verbreiteten sowie vielversprechenden neuartigen Frameworks, welche teils unterschiedliche Hardware, darunter CPUs, GPUs und Vector Engines, oder Herangehensweisen unterstützen. Wir messen und modellieren die Leistung der verschiedenen Kopplungen unter verschiedenen Bedingungen. Wenn wir das ML Modell vergrößern, steigt die benötigte Laufzeit wesentlich langsamer als die quadratisch wachsende Komplexität der Rechnung. Die wiederholte Ausführung der Inferenz für verschiedene Eingangsdaten kann durch Stapelverarbeitung beschleunigt werden, wenn die Stapelgröße so gewählt wird, dass der resultierende Arbeitsaufwand die unteren sowie oberen Grenzen der spezifischen Hardwarearchitektur des benutzten Gerätes berücksichtigt. Wir prüfen die Leistung der Kopplungen auf starke Skalierbarkeit nach Amdahl. Der ML Teil der Applikation ist de facto komplett datenparallel und skaliert entsprechend optimal durch Hinzufügen weiterer Prozessoren. Der Mehraufwand durch die Kommunikation steigt, wenn wir dem HPC-Teil der gekoppelten Applikation mehr MPI Prozesse geben, aber ist im Allgemeinen vernachlässigbar im Vergleich zur eigentlichen Laufzeit des ML Frameworks. Obwohl die Berechnung auf GPUs schneller ist, entdecken wir, dass es unter gewissen Umständen effizienter sein kann, den ML Teil auf CPUs auszuführen. Mit unserem ML Modell erreichen die GPUs am ehesten ihre Spitzenleistung, gefolgt von CPUs, während die Vector Engines am weitesten davon entfernt sind. Wir untersuchen die vom EU Center of Excellence POP etablierten Leistungsmetriken als Modell für unsere gekoppelte HPC+ML-Applikation in den verschiedenen Skalierungsszenarios. Die Kopplungen haben alle eine verhältnismäßig geringe Laufzeit im Vergleich zur gesamten Applikation und daher keinen klar erkennbaren Einfluss auf die für die ganze Applikation gemessenen Metriken. Eine genauere Analyse wird benötigt um eindeutigere Ergebnisse zu liefern.We examine and model the performance of a coupled HPC+ML application. It is based on a reactive thermo-fluid simulation which is limited by the memory footprint of the lookup table that is integral to the state of the art implementation. Machine learning is an old concept that has become more attainable in the recent years thanks to the advent of powerful ultra parallel processors and vectorization capabilities that allow efficient computation of matrix operations common to machine learning algorithms. The lookup table implementation is replaced with a machine learning model by implementing couplings that connect the existing software to established as well as novel machine learning frameworks that use different kinds of hardware such as CPUs, GPUs and vector engines. We measure and model the performance of the different couplings under different conditions. As we increase the size of the machine learning model, the runtime increases significantly less than the quadratically increasing computational complexity. The execution of the model for multiple input data samples can be accelerated by choosing a batch size such that the resulting amount of work fits the lower and upper bounds given by the architecture of the hardware accelerator device. We examine the coupling's performance with regard to strong scaling. Since the machine learning part is practically completely parallelized, it scales perfectly as we add more devices. The communication overhead becomes measurable as we add more MPI ranks to the HPC part of the application, but remains insignificant compared to the actual framework time. We discover that under certain circumstances, it can be more efficient to run the machine learning framework on CPUs despite GPUs generally performing faster. Overall, the GPUs are by far the closest to reaching their peak performance with our application, followed by CPUs, and VEs are the farthest from reaching their peak performance. We investigate performance metrics established by the EU Center of Excellence POP as a performance model for the coupled HPC+ML application in the different scaling settings. The couplings have a small run time compared to the whole application, and thus no discernible impact on the metrics measured for the whole application. A more in-depth analysis is required to obtain conclusive results.
OpenAccess:
PDF
(additional files)
Dokumenttyp
Master Thesis
Format
online
Sprache
English
Interne Identnummern
RWTH-2022-06845
Datensatz-ID: 849496
Beteiligte Länder
Germany
|
The record appears in these collections: |