Beschreibung
Die schnellsten Hochleistungsrechner erreichen heute das Exascale- und zukünftig das Zettascale-Niveau. Die beispiellose Komplexität ihrer Architektur zeigt sich in einer enormen Anzahl von Rechenkernen, tiefen Speicherhierarchien und heterogenen Komponenten und stellt eine erhebliche Herausforderung für die Leistungsmodellierung dar. Herkömmliche Leistungsmodelle basieren häufig auf entkoppelten, additiven Modellen für Codeausführung und Kommunikation und setzen ein idealisiertes synchrones Parallelitätsmuster voraus. Sie können somit die in massiv parallelen Programmen mit verteiltem Speicher beobachtete Dynamik asynchroner, zeitlich überlappender Prozesse nicht erfassen. Rauschen kann globale, nichtlineare Effekte hervorrufen, die die Leistung erheblich beeinflussen. Diese Dissertation präsentiert einen ganzheitlichen, auf Grundprinzipien („First Principles“) basierenden Modellierungsansatz, um die gekoppelten Effekte von Rauschen, Bandbreitenengpässen, Codeausführung, Kommunikationsbibliotheken und dem Netzwerk in parallelen Anwendungen zu erfassen. Die Arbeit analysiert systematisch mehrere grundlegende Herausforderungen in drei miteinander verbundenen Bereichen: (i) Performance-Modellierung, (ii) Performance-Engineering und (iii) Performance-Simulation und physikalische Modellierung. Sie zeigt auf, wie sich lokalisierte Verzögerungen durch Abhängigkeiten zwischen Prozessen fortpflanzen und die systemweite Variabilität verstärken. Einfache additive oder Maximums-basierte Vorhersagen der Laufzeit werden dadurch ungenau. Durch kontrollierte Experimente, analytische Vorhersagen und Validierung mit hochparallelen Benchmarks identifiziert die Arbeit wichtige Phänomene wie die Ausbreitung von Verzögerungswellen, die gegenseitige Beeinflussung von Prozessen bei der gemeinsamen Nutzung von Speicherbandbreite und spontane Überlappungen von Kommunikation und Berechnung als Hauptursachen für Leistungsschwankungen. Diese Effekte entstehen nicht durch algorithmische Fehler, sondern durch grundlegende Wechselwirkungen von Hardware und Software in Anwesenheit von Flaschenhälsen. Diese Modelle werden sowohl mit synthetischen als auch mit realen Anwendungen validiert. Dabei wird auch untersucht, ob Rauschen, das traditionell als nachteilig angesehen wird, möglicherweise genutzt werden kann, um die Leistung zu verbessern. Diese Dissertation entwickelt zwei neue analytische Modelle: eines erklärt die Desynchronisation in skalierbaren Programmen durch die Dynamik von Verzögerungswellen, ein weiteres modelliert die Aufteilung der Speicherbandbreite zwischen Rechenkernen und die Überlappung von Berechnung und Kommunikation. Zur Unterstützung kontrollierter Experimente und reproduzierbarer Simulationen werden zwei neuartige Werkzeuge vorgestellt: DisCostiC, ein auf Grundprinzipien basierender Simulator für MPI-parallele Programme, der Anwendungen mithilfe von Programmgerüsten emuliert, ohne dass eine Ausführung auf realer Hardware erforderlich ist; und OsciLite, ein vom Kuramoto-Modell inspiriertes Oszillator-Framework, das die Synchronisationsdynamik paralleler Programme mithilfe gekoppelter Differentialgleichungen erfasst. Durch die Kombination theoretischer Erkenntnisse, Simulationen und empirischer Validierung bietet diese Dissertation einen neuen Blickwinkel, durch den das Verhalten paralleler Programme verstanden, vorhergesagt und optimiert werden kann. Ihre Erkenntnisse und Werkzeuge bilden die Grundlage für die Entwicklung leistungsgewahrer Software, für die Entwicklung von Richtlininen im Hardware-Co-Design und für die Neudefinition der Leistungsmodellierung im Zettascale-Zeitalter.


Bewertungen
Es gibt noch keine Bewertungen.