Tuning Workflow

The content of this page is only available in German. Please go to German version of this page.

Ansatz:

Aufgrund von Erfahrungen in parallelen Anwendungsprojekten wurde ein Entwurf eines Tuning Workflows artikuliert, der die folgenden Stufen umfasst (siehe auch Abbildung 1):

  1. Initiales Treffen:Dieses Treffen sollte die Erwartungen der Nutzer und die Definition der Ziele für den Tuning-Experten festlegen. Es wird ein Zeitrahmen für die Arbeiten, Freiheitsgrade beim Tuning, sowie Nutzungsmodalitäten vereinbart.
  2. Base Line: Die Base Line zeigt auf, wie das Programm arbeitet, und umfasst möglichst unverfälscht von Instrumentierung grundlegende Charakteristika des Programms wie Laufzeit, Speichernutzung, ein einfaches Laufzeit-Profil, grundlegende Hardware-Leitungsparameter, sowie Skalierungsläufe umfassen.
  3. Pathologie: In dieser Phase nutzt der Tuning-Experte die Information der Base Line, um potentielle Performanzprobleme des Codes zu identifizieren. Im Fokus steht hier weniger die Identifizierung eines bestimmten Problems, sondern eine Klassifizierung im Hinblick auf die üblichen Performanzprobleme. Ein Bericht über diese Probleme, ihren Einfluss auf die Performanz des Codes, sowie ein Vorschlag für das weitere Vorgehen ist dann die Basis für ein weiteres Gespräch mit dem Nutzer, wo aufgrund einer Risiko-Nutzen Analyse basierend auf der Erfahrung des Tuning-Experten ein Zeitrahmen für die Änderungen sowie ein gemeinsames Vorgehen zur Sicherstellung der Korrektheit des Codes vereinbart wird.
  4. Tuning Zyklus: Um ein bestimmtes Problem, z.B. Wartezeiten vor einer Barriere, oder Lastimbalancen, zu adressieren, sind je nach Problem unterschiedliche Werkzeuge angebracht, wobei iterativ verschiedene Punkte der Reihe ihrer Wichtigkeit nach behandelt werden. Abschließend werden mit einer neuen Base Line Veränderungen dokumentiert und in einem Modifikations-Bericht die Veränderungen sowie deren Ergebnis dokumentiert.
  5. Übergabe: In einem abschließenden Treffen werden anhand des Modifikations-Berichts die Veränderungen diskutiert, und ggf. Gründe des Nutzers für die Ablehnung bestimmter Modifikationen notiert. Des Weiteren wird die Sinnhaftigkeit weiterer Tuning Schritte entschieden und ggf. eine weitere Instanz des Tuning Zyklus initiiert.

Aktueller Stand:

Im Rahmen der vom Fachgebiet Scientific Computing der TU Darmstadt durchgeführten Forschung wurden erste konkrete Empfehlungen für Werkzeuge und für bestimme Anwendungs-Szenarien ausgearbeiteten Abläufe („Kochrezepte“) formulieret. Diese befinden sich in Zusammenarbeit mit der HPC-Gruppe des Hochschulrechenzentrums der TU Darmstadt in der Erprobung und werden in geeigneter Form nach Abschluss der Evaluierung veröffentlicht.

Weiterhin arbeiten die Kollegen von der HPC Gruppe und die Forscher des Fachgebiets zusammen, diese Dokumentation weiter zu entwickeln, sodass die Kompetenz zur Wartung und Weiterentwicklung von HPC Infrastruktur nachvollziehbar und nachhaltig ausgebaut und dokumentiert werden kann.

Veröffentlichungen und Referenzen zu diesem Thema:

  • Iwainsky, Christian; Altenfeld, Ralph; an Mey, Dieter; Bischof, Christian: Enhancing Brainware Productivity through a Performance Tuning Workflow. In: Euro-Par 2011: Parallel Processing Workshops. (2012)