Course/Event Essentials
Training Content and Scope
Other Information
Nahezu jede HPC-Anwendung tauscht mittels MPI Daten zwischen den an der Lösung beteiligten Prozessen aus. Diese Kommunikation benötigt Zeit und muss somit bei der Performance Optimierung berücksichtigt werden. Insbesondere bei einer großen Anzahl von Cores nimmt die Kommunikation einen nicht vernachlässigbaren Anteil an der Laufzeit des Programms ein. Hinzu kommt, dass sich manche Probleme, wie beispielsweise Last-Imbalancen, auf die Kommunikationszeit auswirken, obwohl die Kommunikation an sich nicht ursächlich ist.
In diesem Teil des Moduls erläutern wir einige grundlegende Beiträge zur Kommunikationszeit, insbesondere Wartezeiten durch Last-Imbalancen, Wartezeiten durch Serialisierung in Kommunikationsmustern und die Zeit für die eigentlichen Datentransfers. Wir stellen Methoden vor, um die jeweiligen Anteile zu messen, und definieren damit ein System von Effizienzmetriken. Schliesslich erlernen Sie Techniken und Herangehensweisen, um die genannten Einflussfaktoren zu reduzieren, wie beispielsweise das Erstellen effizienter Kommunikationsmuster, die Verwendung kollektiver Operationen und das Überlappen von Kommunikation mit Berechnung während der Ausführung.