FAQ
© 2015 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-62642
URL: http://ediss.sub.uni-hamburg.de/volltexte/2013/6264/


Simulation of Parallel Programs on Application and System Level

Simulation von parallelen Programmen auf Anwendungs- und Systemebene

Kunkel, Julian Martin

pdf-Format:
 Dokument 1.pdf (35.873 KB) 


SWD-Schlagwörter: Hochleistungsrechnen
Freie Schlagwörter (Deutsch): Simulation von Rechnersystemen , Leistungsanalyse , Parallele Ein/Ausgabe
Freie Schlagwörter (Englisch): Simulation of clusters , Performance evaluation , Parallel I/O
Basisklassifikation: 54.25
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Ludwig, Thomas (Prof. Dr.)
Sprache: Englisch
Tag der mündlichen Prüfung: 11.07.2013
Erstellungsjahr: 2013
Publikationsdatum: 30.07.2013
Kurzfassung auf Englisch: Computer simulation revolutionizes traditional experimentation providing a virtual laboratory. The goal of high-performance computing is a fast execution of applications since this enables rapid experimentation. Performance of parallel applications can be improved by increasing either capability of hardware or execution efficiency. In order to increase utilization of hardware resources, a rich variety of optimization strategies is implemented in both hardware and software layers. The interactions of these strategies, however, result in very complex systems. This complexity makes assessing and understanding the measured performance of parallel applications in real systems exceedingly difficult.

To help in this task, in this thesis an innovative event-driven simulator for MPI-IO applications and underlying heterogeneous cluster computers is developed which can help us to assess measured performance. The simulator allows conducting MPI-IO application runs in silico, including the detailed simulations of collective communication patterns, parallel I/O and cluster hardware configurations. The simulation estimates the upper bounds for expected performance and therewith facilitates the evaluation of observed performance.

In addition to the simulator, the comprehensive tracing environment HDTrace is presented. HDTrace offers novel capabilities in analyzing parallel I/O. For example, it allows the internal behavior of MPI and the parallel file system PVFS to be traced. While PIOsimHD replays traced behavior of applications on arbitrary virtual cluster environments, in conjunction with HDTrace it is a powerful tool for localizing inefficiencies, conducting research on optimizations for communication algorithms, and evaluating arbitrary and future systems.

This thesis is organized according to a systematic methodology which aims at increasing insight into complex systems:
The information provided in the background and related-work sections offers valuable analyses on parallel file systems, performance factors of parallel applications, the Message Passing Interface, the state-of-the-art in optimization and discrete-event simulation. The behavior of memory, network and I/O subsystem is assessed for our working group’s cluster system, demonstrating the problems of characterizing hardware. One important insight of this analysis is that due to interactions between hardware characteristics and existing optimizations, performance does not follow common probability distributions, leading to unpredictable behavior of individual operations.

The hardware models developed for the simulator rely on just a handful of characteristics and implement only a few optimizations. However, a high accuracy of the developed models to explain real world phenomenons is demonstrated while performing a careful qualification and validation. Comprehensive experiments illustrate how simulation aids in localizing bottlenecks in parallel file system, MPI and hardware, and how it fosters understanding of system behavior. Additional experiments demonstrate the suitability of the novel tools for developing and evaluating alternative MPI and I/O algorithms. With its power to assess the performance of clusters running up to 1,000 processes, PIOsimHD serves as virtual laboratory for studying system internals.

In summary, the combination of the enhanced tracing environment and a novel simulator offers unprecedented insights into interactions between application, communication library, file system and hardware.
Kurzfassung auf Deutsch: Die Computersimulation löst in vielen Bereichen traditionelle Experimente ab. Ziel des Hochleistungsrechnens ist die schnelle Ausführung von Anwendungen, da dies die Durchführung der Experimente beschleunigt. Die Leistung einer parallelen Anwendung kann erhöht werden, indem die Fähigkeiten der Hardware verbessert werden oder durch die Steigerung der Effizienz während der Ausführung. Um verfügbare Hardwareressourcen bestmöglich auszunutzen, werden sowohl in Hardware- als auch in Softwareschichten verschiedenste Optimierungsstrategien implementiert. Ihr Zusammenspiel resultiert in einem hochkomplexen Systemverhalten. Dies erschwert eine Bewertung des Laufzeitverhaltens der Anwendungen. Eine Analyse der Leistungsfähigkeit einzelner Komponenten ist darüber hinaus unabdingbar, um Engpässe zu identifizieren und zu optimieren.

Aus diesem Grund werden in dieser Doktorarbeit Werkzeuge entwickelt, mit deren Hilfe das Verhalten besser bewertet werden kann. PIOsimHD ist ein innovativer ereignisbasierter Simulator für die Ausführung von MPI-IO-Anwendungen auf heterogenen Clustercomputern. Der Simulator beinhaltet eine detaillierte Simulation von kollektiven Kommunikationsmustern, paralleler Ein- und Ausgabe und Modellen für die zu Grunde liegende Hardware. Mit Hilfe der Modelle können obere Schranken für die erwartete Leistungsfähigkeit geschätzt werden; dies ermöglicht eine Bewertung der beobachteten Leistung.

Darüber hinaus wird mit HDTrace eine Umgebung für das Erfassen von Anwendungsverhalten in Spurdaten präsentiert. HDTrace bietet neuartige Möglichkeiten der Analyse von paralleler E/A.
Beispielsweise gestattet HDTrace die Aufzeichnung des internen Verhaltens von MPI und des parallelen Dateisystems PVFS. Programmläufe können auf bestehenden Systemen aufgezeichnet und in PIOsimHD in beliebigen virtuellen Clusterumgebungen ausgeführt werden. Dieses Zusammenspiel von HDTrace und PIOsimHD gestattet die Lokalisierung von Ineffizienzen, erleichtert die Optimierung von Kommunikations- und E/A-Middleware und das Studium von Kommunikations- und E/A-Verhalten der Anwendungen auf künftigen Systemen.

Diese Arbeit zielt systematisch darauf ab, die Einsicht in komplexe Systeme zu verbessern. Zunächst werden Hintergrundinformationen zu verschiedenen Themen vorgestellt. Diese beinhalten Informationen zu parallelen Dateisystemen, grundlegenden Leistungsfaktoren von parallelen Anwendungen, der Nachrichtenaustauschschnittstelle MPI, Optimierungsmöglichkeiten und ereignisbasierter Simulation. Das Verhalten von Speicherzugriffen, Netzwerk und E/A-System des Clusters useres Arbeitsbereichs wird analysiert, hierbei werden einige Schwierigkeiten bei der Charakterisierung der Hardware praktisch demonstriert. Eine wichtige Erkenntnis der Analyse ist, dass das Zusammenspiel zwischen Hardwarecharakteristika und Optimierungen in einer unvorhersehbaren Geschwindigkeit einzelner Operationen resultiert, die keiner typischen Wahrscheinlichkeitsverteilung folgt.

Die entwickelten Hardwaremodelle des Simulators stützen sich auf eine Handvoll Charakteristika und konzentrieren sich auf die wichtigsten Optimierungen. Dennoch zeigt sich in der Validierung des Simulators eine hohe Übereinstimmung der Simulationsergebnisse mit den beobachteten Phänomenen.
In diversen Experimenten wird der neu entwickelte Simulator genutzt, um das Verhalten des Systems besser zu verstehen. Hierbei werden zahlreiche Engpässe in parallelen Dateisystemen, MPI und Hardware aufgespürt. Zusätzliche Experimente demonstrieren die Anwendung der neuen Werkzeuge, um alternative Kommunikations- und E/A-Algorithmen zu entwerfen. Mit der Möglichkeit, effektiv die Leistungsfähigkeit von beliebigen Clustern mit bis zu 1000 Prozessen zu evaluieren, dient PIOsimHD als virtuelles Labor, um die Interaktionen zwischen System, Anwendung und Kommunikationsbibliothek zu studieren.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende