TU Darmstadt / ULB / TUprints

Capturing the impact of external interference on HPC application performance

Shah, Aamer (2020)
Capturing the impact of external interference on HPC application performance.
Technische Universität
doi: 10.25534/tuprints-00011774
Ph.D. Thesis, Primary publication

[img]
Preview
Text
20200726-shah-impact-external-interference.pdf
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (3MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Capturing the impact of external interference on HPC application performance
Language: English
Referees: Wolf, Prof. Dr. Felix ; Müller, Prof. Dr. Matthias
Date: 2020
Place of Publication: Darmstadt
Date of oral examination: 15 July 2020
DOI: 10.25534/tuprints-00011774
Abstract:

HPC applications are large software packages with high computation and storage requirements. To meet these requirements, the architectures of supercomputers are continuously evolving and their capabilities are continuously increasing. Present-day supercomputers have achieved petaflops of computational power by utilizing thousands to millions of compute cores, connected through specialized communication networks, and are equipped with petabytes of storage using a centralized I/O subsystem. While fulfilling the high resource demands of HPC applications, such a design also entails its own challenges. Applications running on these systems own the computation resources exclusively, but share the communication interconnect and the I/O subsystem with other concurrently running applications. Simultaneous access to these shared resources causes contention and inter-application interference, leading to degraded application performance.

Inter-application interference is one of the sources of run-to-run variation. While other sources of variation, such as operating system jitter, have been investigated before, this doctoral thesis specifically focuses on inter-application interference and studies it from the perspective of an application. Variation in execution time not only causes uncertainty and affects user expectations (especially during performance analysis), but also causes suboptimal usage of HPC resources. Therefore, this thesis aims to evaluate inter-application interference, establish trends among applications under contention, and approximate the impact of external influences on the runtime of an application.

To this end, this thesis first presents a method to correlate the performance of applications running side-by-side. The method divides the runtime of a system into globally synchronized, fine-grained time slices for which application performance data is recorded separately. The evaluation of the method demonstrates that correlating application performance data can identify inter-application interference. The thesis further uses the method to study I/O interference and shows that file access patterns are a significant factor in determining the interference potential of an application.

This thesis also presents a technique to estimate the impact of external influences on an application run. The technique introduces the concept of intrinsic performance characteristics to cluster similar application execution segments. Anomalies in the cluster are the result of external interference. An evaluation with several benchmarks shows high accuracy in estimating the impact of interference from a single application run.

The contributions of this thesis will help establish interference trends and devise interference mitigation techniques. Similarly, estimating the impact of external interference will restore user expectations and help performance analysts separate application performance from external influence.

Alternative Abstract:
Alternative AbstractLanguage

Anwendungen im Bereich Hochleistungsrechnen (HPC) sind große Softwarepakete mit hohen Rechen- und Speicheranforderungen. Um diesen Anforderungen gerecht zu werden, entwickeln sich die Architekturen von Supercomputern ständig weiter, dabei nimmt ihre Leistungsfähigkeit ständig zu. Heutige Supercomputer erreichen Rechenleistungen im PetaFLOPs-Bereich, indem sie Tausende bis Millionen von Rechenkernen nutzen, die über spezialisierte Kommunikationsnetzwerke miteinander verbunden sind und über ein zentralisiertes E/A-Subsystem mit Petabytes an Speicherplatz ausgestattet sind. Eine solche Struktur erfüllt zwar die hohen Ressourcenanforderungen von HPC-Anwendungen, bringt aber auch eigene Herausforderungen mit sich. Anwendungen, die auf diesen Systemen laufen, haben exklusiven Zugriff auf die Res-sourcen für Berechnungen, allerdings müssen sie sich Kommunikationsverbindungen und das E/A-Subsystem mit gleichzeitig laufenden Anwendungen teilen. Der gleichzeitige Zugriff auf diese gemeinsamen Ressourcen verursacht Konflikte und Interferenz zwischen den Anwendungen, was zu einer verminderten Anwendungsleistung führt. Interferenz zwischen Anwendungen ist eine Quelle von Leistungsvariationen zwischen Ausführungen. Andere Variationsquellen, wie z.B. vom Betriebssystem verursachte Fluktuationen, wurden bereits untersucht. Deshalb wird in dieser Doktorarbeit gezielt Interferenz zwischen Anwendungen aus deren Perspektive betrachtet. Schwankungen der Ausführungszeit verursachen nicht nur Unsicherheit und beeinflussen die Erwartungen der Benutzer (insbesondere bei der Leistungsanalyse), sondern führen auch zu einer suboptimalen Nutzung der Ressourcen eines Hochleistungsrechners. Daher zielt diese Arbeit darauf ab, Interferenz zwischen Anwendungen zu evaluieren, Tendenzen zwischen in Konflikt stehenden Anwendungen zu ermitteln und die Auswirkungen externer Einflüsse auf die Ausführungszeit von Anwendungen zu approximieren. Zu diesem Zweck wird in dieser Arbeit zunächst eine Methode vorgestellt, um die Leistung von gleichzeitig laufenden Anwendungen zueinander in Beziehung zu setzen. Die Methode unterteilt die Laufzeit eines Systems in global synchronisierte, feingranulare Zeitabschnitte, für die die Leistungsdaten jeder Anwendung separat aufgezeichnet werden. Die Auswertung der Methode zeigt, dass durch die Korrelation von Leistungsdaten Interferenz zwischen Anwendungen identifiziert werden kann. Weiterhin zeigt die Untersuchung von Interferenz beim Dateizugriff mithilfe der Methode, dass Dateizugriffsmuster ein wichtiger Faktor bei der Bestimmung des Interferenzpotentials einer Anwendung sind. In dieser Arbeit wird weiterhin eine Technik zur Abschätzung des Einflusses von externen Einflüssen auf die Ausführung einer Anwendung vorgestellt. Die Technik führt das Konzept der intrinsischen Leistungsmerkmale zum Gruppieren ähnlicher Segmente der Anwendungsausführung ein. Externe Interferenz führt hierbei zu Anomalien in den Gruppen. Die Auswertung von mehreren Benchmarks zeigt eine hohe Genauigkeit bei der Abschätzung von interferenzbedingten Auswirkungen mit nur einer einzigen Ausführung der Anwendung. Diese Arbeit wird dazu beitragen, Interferenztendenzen zu ermitteln und Techniken zur Vermeidung von Interferenz zwischen Anwendungen zu entwickeln. Ebenfalls werden durch die Abschätzung der Auswirkungen von externen Einflüssen die Leistungserwartungen der Benutzer wiederhergestellt und Leistungsanalytikern wird dabei geholfen, die Anwendungsleistung von externen Einflüssen zu trennen.

German
URN: urn:nbn:de:tuda-tuprints-117747
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Parallel Programming
Date Deposited: 10 Aug 2020 13:21
Last Modified: 10 Aug 2020 13:36
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/11774
PPN: 467944334
Export:
Actions (login required)
View Item View Item