ProPE
Process-Oriented Performance Engineering Service Infrastructure for Scientific Software at German HPC Centers

Overview

Description

Das Projekt ProPE hat zum Ziel, eine nachhaltige und strukturierte Anwenderunterstützung bei der effizienten Programmierung und Nutzung moderner Hochleistungsrechner prototypisch als übergreifendes Angebot mehrerer Tier-2/3 HPC-Zentren mit verteilten Kompetenzen zu implementieren. Im Mittelpunkt steht zunächst Weiterentwicklung, prozessorientierte Formalisierung und Verbreitung eines strukturierten Performance Engineering (PE) Prozesses.

Der PE-Prozess bildet die Basis für eine zielgerichtete, strukturierte Optimierung und Parallelisierung wissenschaftlicher Simulationssoftware. Rechenintensive Teile einer Anwendung werden dabei in einem iterativen Zyklus analysiert und optimiert/parallelisiert: Basierend auf einer Code-/Algorithmenanalyse wird in Verbindung mit einer Hardwareanalyse der Zielplattform eine Hypothese für den performancelimitierenden Faktor durch Performancemuster und Performancemodelle gewonnen. Diese wird durch Performancemessungen validiert oder iterativ angepasst. Nach der erfolgreichen Identifizierung des performancelimitierenden Faktors werden geeignete Codeänderungen durchgeführt und der Prozess beginnt von neuem. Die Tiefe des PE-Prozesses kann der Komplexität des Problems und der Erfahrung des HPC-Analysten angepasst werden. ProPE wird diesen bisher von Experten auf prototypischem Niveau angewandten Prozess formalisieren, in verschiedenen Problemkreisen (Einzelprozessor-/Knotenperformance, verteilt parallele Programmierung und IO-intensive Probleme) einsetzen und auf unterschiedlichem Abstraktionsniveau sowohl HPC-Analysten als auch Anwendungsprogrammierern durch gemeinsame Projekte, Weiterbildung und Webdokumentation zugänglich machen.
Der zweite Projektschwerpunkt sieht die Integration des PE-Prozesses in eine verteilte IT-Struktur vor, in der die Zentren eigene thematische Beratungsschwerpunkte einbringen. Abläufe, Dokumentation und PE Prozesse bei Beratungsprojekten werden abgestimmt und soweit möglich vereinheitlicht. Ziel ist es das gesamte, über die ProPE-Partner verteilte Beratungsangebot überregional einheitlich zugänglich zu machen. Gleichzeitig wird die Grundlage dafür gelegt, laufende Beratungsprojekte effizient und schnell zwischen den Zentren migrieren zu können. Im Zuge der systemseitigen Identifizierung von Programmen mit niedriger Hardwareeffizienz, der Charakterisierung laufender Applikationen sowie der Quantifizierung des Performancefortschritts wird eine einfach handhabbare Leistungsanalysesoftware für moderne Clustersysteme implementiert.
Diese ist auf die speziellen Anforderungen des PE-Prozesses ausgerichtet und für einfache Installation und Nutzung durch Tier-2/3 Zentren konzipiert. Im Rahmen von nicht geförderten assoziierten Partnern integriert sich ProPE in die HPC-Versorgungspyramide und bietet den Wissenschaftlern neben Codeoptimierung und Parallelisierung auch einen Ansprechpartner für PE auf algorithmischer Seite.

Partners

Project partners

Contact

Prof. Dr. rer. nat. Gerhard Wellein

Administrative contact

Friedrich-Alexander-Universität Erlangen-Nürnberg
Technische Fakultät, Department Informatik
Professur für Höchstleistungsrechnen
Martensstraße 1
91058 Erlangen

Dr. Jan Eitzinger

Technical contact

Regionales Rechenzentrum Erlangen (RRZE)
Dr. Gerhard Hergenröder
Martensstr. 1
91058 Erlangen
Germany