Title: The Causes of Run Time Variability in HPC, How to Pin Them down, and How to Handle Them
Other Titles: Über die Auslöser von Laufzeitvariabilität im Hochleistungsrechnen, wie man sie bestimmt, und wie man mit ihnen umgeht
Language: English
Authors: Roth, Niklas 
Qualification level: Diploma
Advisor: Hunold, Sascha 
Issue Date: 2021
Number of Pages: 86
Qualification level: Diploma
Abstract: 
High Performance Computing (HPC)-Cluster werden weltweit gebaut, um rechenintensive Probleme aus verschiedenen Forschungsbereichen zu bewältigen. Da diese Maschinen teuer in Bau und Wartung sind, ist es entscheidend, die maximale Leistung aus einer gegebenen Hardware herauszuholen, um sie so effizient wie möglich zu nutzen. Um die schnellsten und effizientesten Algorithmen und Implementierungen für eine bestimmte Operation und Maschine zu finden, wurden Mikrobenchmarks entwickelt, die die Laufzeit einzelner Operationen messen, indem sie viele von ihnen in einem Durchlauf ausführen. Leider können die Ergebnisse sehr stark variieren, aber sich auch um bestimmte Laufzeiten herum häufen, die nicht dem Optimum entsprechen. In dieser Arbeit werden wir einen Überblick über die verschiedenen Aspekte geben, von denen bekannt ist, dass sie die Laufzeit beeinflussen. Darüber hinaus werden wir die Ursache für die Variabilität in einer spezifischen Instanz ermitteln und dabei die Verwendung verschiedener, in der HPC-Community bekannter Tools aufzeigen. Dabei werden wir auch eine neue rudimentäre, leichtgewichtige Tracing-Bibliothek vorstellen, die verwendet wird, um mehr Informationen während der Messung zu erhalten, sowie eine ausgeklügelte statistische Methode, um das Ende der Aufwärmphase zu bestimmen. Schließlich werden wir den MPI Micro-Benchmark Fingerprint (MPI-MiBFi) als neue Methode zur Darstellung von Mikrobenchmark-Ergebnissen auf reproduzierbare und vergleichbare Weise vorschlagen.

High Performance Computing (HPC) clusters are built worldwide to tackle computation- ally expensive problems from various research fields. Since these machines are expensive to build and maintain, it is crucial to get the most performance out of a given hardware in order to use it as efficient as possible. To find the fastest and most efficient algorithms and implementations for a given operation and machine, micro-benchmarks were developed which measure the run time of individual operations while executing a lot of them in a batch. Unfortunately, the results may not only vary a lot, but sometimes even cluster around specific run times other than the optimum. In this thesis, we will give an overview on the various parts of the software and hardware stack which are known to influence run time. Furthermore, we will track down the cause of variability in one specific case, while showing the usage and shortcomings of various tools known to the HPC community. Thereby, we will also introduce a new rudimentary light-weight tracing library which is used to get more information during a measurement and propose an elaborate statistical method to determine the end of the warm-up phase. Finally, we will propose the MPI Micro-Benchmark Fingerprint (MPI-MiBFi) as a new method of representing micro-benchmark results in a reproducible and comparable way.
Keywords: MPI; HPC; Paralleles Rechnen; Leistungsanalyse
MPI; HPC; Parallel Computing; Performance Analysis
URI: https://doi.org/10.34726/hss.2021.83802
http://hdl.handle.net/20.500.12708/16970
DOI: 10.34726/hss.2021.83802
Library ID: AC16157848
Organisation: E191 - Institut für Computer Engineering 
Publication Type: Thesis
Hochschulschrift
Appears in Collections:Thesis

Files in this item:

Show full item record

Page view(s)

33
checked on Jun 8, 2021

Download(s)

37
checked on Jun 8, 2021

Google ScholarTM

Check


Items in reposiTUm are protected by copyright, with all rights reserved, unless otherwise indicated.