[Back]


Diploma and Master Theses (authored and supervised):

N. Roth:
"The Causes of Run Time Variability in HPC, How to Pin Them down, and How to Handle Them";
Supervisor: S. Hunold; Institute of Computer Engineering, Research Division of Parallel Computing, 2021; final examination: 2021-03-10.



English abstract:
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.

German 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.

Keywords:
MPI / HPC / Parallel Computing / Performance Analysis


"Official" electronic version of the publication (accessed through its Digital Object Identifier - DOI)
http://dx.doi.org/10.34726/hss.2021.83802