Kategorien
Seiten
-

IT Center

ProPE Performance Engineering: Performance Monitoring der HPC-Systeme

07. Dezember 2018 | von

https://blogs.fau.de/prope/files/2016/10/ProPE-logo.pngDas Jahr neigt sich dem Ende und wir möchten Sie mit einer Blog-Serie durch den Advent begleiten. Im Rahmen des Projektes ProPE, gefördert durch die Deutsche Forschungsgesellschaft, möchten wir Ihnen Einblicke in die Welt des Performance Engineerings gewähren. Jeden Freitag bis Weihnachten stellen wir Ihnen spannende Beiträge aus den Bereichen Performance Monitoring, Shared Knowledgebase und der standortübergreifenden Supportstruktur vor, die von dem ProPE-Projektteam der RWTH Aachen University zur Verfügung gestellt werden.

— English version below —

Automatisches Sammeln Performance-relevanter Messdaten durch Monitoring der Rechenjobs auf dem Hochleistungsrechner CLAIX: Die neue Infrastruktur am IT Center, die im Rahmen des Projekts ProPE entstanden ist, ermöglicht eine bessere Identifikation von Rechenjobs mit ineffizienter Performance und somit auch Optimierungspotenzial für Nutzerjobs.

Für CLAIX-2016 und CLAIX-2018 setzt das IT Center auf eine dauerhafte Performance-Überwachung der Rechenknoten. Dabei entfällt der sonst übliche Aufwand für den Nutzer, entsprechende Tools manuell einzubinden und erleichtert die (nachträgliche) Analyse und den Vergleich von Batch-Jobs. Aktuell wird zudem eine automatische Datenauswertung evaluiert, um damit Performance-Probleme in den laufenden Applikationen zu detektieren.

Aus Datenschutzgründen sind die Monitoring-Daten zurzeit noch nicht direkt für Nutzer des HPC-Clusters einsehbar. Es wird aber an einer entsprechenden Lösung gearbeitet, sodass Entwickler die Daten effektiv für die Verbesserung eigener HPC-Codes einsetzen können. Sollten Sie in der Zwischenzeit bereits Interesse an der Analyse haben, können Sie sich unter Angabe der Job-ID, der Hostnamen und des Zeitraums an den ServiceDesk wenden.

Visualisierung des Performance Monitorings in Grafana. Zu sehen ist die Ausführung des High Performance Linpacks (HPL) auf 12 MPI-Knoten von CLAIX-2016. Dieser Benchmark bildet die Grundlage des Rankings in der Top500.

Technische Umsetzung

Zur Speicherung der Daten setzt das IT Center auf die Time Series Database (TSDB) InfluxDB. Zur eigentlichen Überwachung läuft auf jedem Knoten der Monitoring-Daemon Telegraf. Dieser wurde dahingehend erweitert, dass HPC-relevante Metriken wie die Auslastung des OmniPath-Netzwerkes und des parallelen Dateisystems Lustre erfasst wird. Außerdem nutzt der Daemon das Tool likwid zum Auslesen von Performance-Countern, um unter anderem Informationen über die Taktfrequenz, die ausgeführten Floating Point Operations per Second (FLOP/s) und die genutzte Speicherbandbreite zu erhalten.

Bei der Umsetzung wurde darauf geachtet, den Overhead sehr klein zu halten, der durch eine dauerhafte Messung entstehen kann. Aus diesem Grund werden die Daten (nur) einmal in der Minute gemessen, wobei in keiner der getesteten Anwendungen eine signifikante Auswirkung sichtbar war. Diese Frequenz stellt damit einen Kompromiss zwischen dem Overhead und der anfallenden Datenmenge auf der einen sowie der dennoch ausreichenden Auflösung auf der anderen Seite dar. Seiteneffekte des dauerhaften Monitorings können entstehen, wenn andere Analyse-Tools gleiche Hardware-Register verwenden. Um eine gegenseitige Störung und falsche Ergebnisse zu verhindern, können Nutzer entsprechende Parameter im Job-Skript setzen (bitten beachten Sie die entsprechende Dokumentation auf doc.itc.rwth-aachen.de, insbesondere zu Intel VTune und likwid).

Das Projekt ProPE wird von der Deutschen Forschungsgemeinschaft (DFG) für drei Jahre gefördert (2/2017 – 1/2020). Das Ziel des Projekts ist die Entwicklung eines Konzepts für eine nachhaltige, strukturierte und prozessorientierte Service-Infrastruktur, die das Performance Engineering (PE) von Simulationsanwendungen an deutschen Hochleistungszentren im Bereich Tier-2 und Tier-3 fördert. Das Projekt wird von den folgenden Partnern getragen: FAU Erlangen-Nürnberg, TU Dresden, RWTH Aachen.

 

Performance Monitoring of the HPC Systems

Automatic collection of performance data by monitoring batch jobs on CLAIX: The new infrastructure has been established at the IT Center in the course of the ProPE project. The data allows identifying batch jobs with inefficient performance and hence points to potential optimizations for users.

For CLAIX-2016 and CLAIX-2018 the IT Center is using a continuous performance monitoring on the HPC compute nodes. The new infrastructure lifts the burden of manually employing tools to assess application performance. Therefore, it is getting much easier to analyze and compare batch jobs that have run in the past. At the moment we are also evaluating automatic detection of performance problems in running applications.

Due to privacy concerns, users of the HPC cluster cannot access the performance data right now. However, we are working on a solution so developers can use the measurements to improve their applications. If you are already interested in analyzing the data, please send a message to our ServiceDesk including job ID, host names and time frame.

Visualization of performance data in Grafana. The graphs show a run of the High Performance Linpacks (HPL) on 12 MPI nodes (CLAIX-2016). This benchmark is used to determine the ranking in the Top500 list

Technical Details

The IT Center uses the Time Series Database (TSDB) InfluxDB to store the measured data. To collect the data each node runs an instance of the monitoring daemon Telegraf. The software has been extended to cover relevant metrics for HPC such as utilization of the OmniPath networks and of the parallel filesystem Lustre. Additionally the daemon uses likwid to read Hardware Performance Counters and get information about the clock frequency, the executed Floating Point Operations per Second (FLOP/s) and the used memory bandwidth.

During realization, it has been paid attention to keep the overhead acceptable that comes from continuous monitoring. That is why the data is queried (only) once per minute which didn’t show significant impact on the tested applications. Hence, this frequency is a tradeoff between the overhead and resulting data volume on the one side and resolution on the other.

There may be side-effects with the continuous monitoring when user-requested performance tools try to use the same hardware registers. To avoid mutual disturbances, users can add parameters to their jobs scripts (please refer to our documentation on doc.itc.rwth-aachen.de, in particular regarding Intel VTune und likwid).

The ProPE project is funded by the German Research Foundation (DFG) for three years (2/2017 – 1/2020). It aims at developing a blueprint for a sustainable, structured, and process-oriented service infrastructure for performance engineering (PE) of high performance applications in German tier-2 or tier-3 scientific computing centers. The project partners are: FAU Erlangen-Nürnberg, TU Dresden, RWTH Aachen.

Verantwortlich für die Inhalte dieses Beitrags sind:
Sandra Wienke/ Jonas Hanfeld: Text & Bild
Sara Kaya: Content Management



Hinterlasse eine Antwort