• Keine Ergebnisse gefunden

ProfiT-HPC: Profiling Toolkit for High Performance Computing

N/A
N/A
Protected

Academic year: 2022

Aktie "ProfiT-HPC: Profiling Toolkit for High Performance Computing"

Copied!
22
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

ProfiT-HPC: Profiling Toolkit for High Performance Computing

Christian Boehme* und Igor Merkulow**

*Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen,

**Computational Health Informatics, Universität Hannover

8. Gauß-Allianz Statustagung (Erlangen) 08.-09.10.2018

(2)

Überblick

1 Projektüberblick und Motivation

2 Aktueller Stand

3 Demo

4 Ausblick und Zusammenfassung

(3)

Projektüberblick und Motivation

Projektpartner

(4)

Projektüberblick

Motivation

Sensibilisierung der Benutzer bezüglich der Performance ihrer Programme und bessere Ausnutzung der Ressourcen durch Schulung.

Ziele

Automatisierte, Job-basierte Berichterstellung mit ausgewählten Metriken und Performanceindikatoren, potentiellen Problemen,

Hinweisen zur Behebung dieser Probleme.

(5)

Projektüberblick und Motivation

Vorarbeiten

goo.gl/wY6ybr

Results of a Survey concerning the Tier-2 and Tier-3 HPC-Infrastructure in Germany

goo.gl/LQ3mLt

Pre-Selection of the Metric Collection Tools

goo.gl/WvTXJc

Evaluation of Performance Monitoring Frameworks

goo.gl/VZbn9q

Concise Overview of Metrics and Tools

(6)

Architektur

job post-execution

pfiTCollect plugins

mem swap cpu system pfit-nodeinfo pfit-uprocstat

pfit-jobinfo

ProfiT-HPC

DB

Report Generators Telegraf InfluxDB

ASCII Report PDF Report Grafana Dashboard

(7)

Aktueller Stand

Metriken

Knoten CPU Memory System

Filesystem Lustre BeeGFS Local

Prozess

CPU times Memory IO

Andere Job GPU

Netzwerk (Infiniband)

(8)

Telegraf - Plugins

Input-Plugins (übernommen und konfiguriert) cpu (CPU-Metriken),

mem (Memory-Metriken), swap (Swap-Metriken),

system (Metriken zur Auslastung des System).

diskio (Metriken bzgl. Read/Write auf der lokalen Festplatte), lustre (Metriken bzgl. Read/Write)

procstat (Prozessorientierte Metriken).

(9)

Aktueller Stand

Telegraf - Plugins

Plugin-Eigenentwicklungen für zusätzliche Metriken Input-Plugins

GPU-Plugin

Metriken bzgl. vorhandener GPUs, z.B. benutzter GPU-Speicher, basierend auf nvidia-smi (NVIDIA System Management Interface).

BeeGFS-Plugin

Metriken bzgl. Read/Write (Ops und Data), basierend auf beegfs-ctl.

Infiniband-Plugin

Metriken bzgl. Daten und Anzahl von Paketen, welche über Infiniband-Ports verschickt oder empfangen wurden, basierend auf perfquery.

(10)

Telegraf - Plugins

Plugin-Eigenentwicklungen für zusätzliche Funktionalität pfit-jobinfo (fügt JobId-Tag zu den Metriken hinzu), pfit-uprocstat (Prozess- und nutzerbasierte Metriken zur Unterstützung von shared nodes),

pfit-nodeinfo (ermittelt Knoteninformationen).

(11)

Aktueller Stand

PfiTCollect - Überblick

Metrik-Kollektor (aktuell: Daten von ca. 50 Metriken), Geschrieben in C, erweiterbar bzgl. zusätzlicher Metriken, Keine Pluginstruktur, Metriken werden zentral im Quelltext implementiert,

Aktuell keine Unterstützung für shared-nodes,

Daten werden kompatibel zu Telegraf in InfluxDB gespeichert.

(12)

Telegraf oder PfiTCollect

Telegraf

+ Große Verbreitung + Unabhängig erweiterbar

durch Plugins

- Schwergewichtig (27 MB Executable)

- Aus Quelltext schwer installierbar

PfiTCollect

+ Sehr leichtgewichtig (83 KB Executable)

+ Einfache Installation aus Quelltext

- Keine externe

Entwickler-Community

(13)

Aktueller Stand

Nutzer-Reports

Text-Report

Abgelegt im Job-Verzeichnis PDF-Report

Abgelegt im Job-Verzeichnis Grafana-Dashboard

Per Link aus statischen Reports erreichbar

(14)

Text-Report - Überblick

Struktur des Berichts:

General Job Information, Requested Resources, Node Description, Per Node Usage,

Possible Problems and Recommendations.

(15)

Aktueller Stand

Text-Report - Possible Problems

Hinweise zu Besonderheiten der Ressourcennutzung

Große Unterschiede von angeforderten und genutzten Ressourcen z.B. Nutzung von nur 10% der angeforderten Zeit

Eventuell fehlerhafte Ressourcenanforderung

z.B. Anforderung von 8 Knoten mit jeweils 1 Kern, aber Rechnung mit 8 Threads auf nur einem Knoten

auffällig hohe oder niedrige Belastung von Ressourcen Nutzung von Swap,

hohe IO- oder Netzwerklast, hohe Idle-Zeiten, ...

(16)

PDF-Report Überblick

Job Überblick auf der ersten Seite

Informationen des Text-Reports mit visueller Unterstützung, Unterschiedliche Diagrammarten.

Zeitreihendarstellungen Funktionsprofile

(17)

Aktueller Stand

Grafana Dashboards Überblick

Interaktive und detaillierter Darstellung einzelner Jobs auf verschiedenen Ebenenen

0 Job-Überblick

1 Knotennutzung

2 Prozessbasierte Statistiken

3 Zeitreihen

4 Ausführliche Informationen

(18)

Demo und Projekt-Paketierung

Projekt-Demo wird als Docker-Lösung bereitgestellt Die Container sind modular einsetzbar

InfluxDB-Container

Einschließlich Testdatensatz Grafana-Container

Einschließlich vorkonfigurierter Dashboards Selbstkonfigurierend

Kann mit eigenen Datenquellen (Telegraf oder PfiTCollect) in Produktion überführt werden

(19)

Demo

DEMO

(20)

Offene Punkte

Schnittstelle zwischen DB und Generatoren nicht abgeschlossen Entwicklung der Entscheidungskriterien für mehr

Performance-Hinweise

Korrelation mehrerer Metriken

Erstellung der zugehörigen Best Practices Integration von automatisierten Funktionsprofilen Intensivierung der Tests des Prototyps

Möglichst auch bei Nicht-Partnern Unterstützung durch Workshop Nutzung von Machine Learning

(21)

Ausblick und Zusammenfassung

Deep Learning Integration

Aus ProfiT-HPC vergebene Masterarbeit Autor: Azat Khuziyakhmetov

(22)

Zusammenfassung

Nutzung einer globalen, Zeitreihenbasierten-DB hat sich bewährt Skalierbare, modulare Lösung

Erweiterungen aus der Community integrierbar

Pipeline zur Generation der verschiedenen Nutzeransichten funktionstüchtig

Verfügbar an allen beteiligten Zentren Download in Vorbereitung

Umfassende, automatisierte Ressourcen-Profile von HPC-Jobs

Referenzen

ÄHNLICHE DOKUMENTE

The dynamic selection of DLS techniques during execution via SimAS, the robust scheduling with rDLB, two-level DLB, and realistic performance simulations are all nec- essary

Z die em Z eck kÈonnen Da en ch me iken e ende e den, die anhand eine Viel ahl on Me ngen die Eigen chaf en de Clo d em be Èglich de Anfo de ngen be e en.. A ûe dem be Èck ich ig

die Zahl der verwendeten Eigenentwick- lungen, die Zahl der verwendeten Programme oder die Zahl der vorhandenen Eige- nentwicklungen in Abh¨angigkeit von der Zahl der

In realen Softwareprojekten kann es etliche Gr¨unde geben, weshalb f¨ur einen Typ oder eine Methode nicht immer der minimale Zugriffsmodifikator gew¨ahlt wird.. Ein naheliegender

Mit dem Regel Checker kann eine Vielzahl von unterschiedlichen Regeln und Metriken in Form von Java-Code und OCL (Object Constraint Language) werkzeugneutral definiert und

Je nachdem, ob interne oder externe Eigenschaften gemessen werden sollen, wird ein anderes Messobjekt erstellt: für interne Eigenschaften wie die Anzahl von Aufrufbeziehungen

- Mit Hilfe der AdS/CFT-Korrespondenz könnte damit eine neue Erklärung der Entropieerzeugung an den Horizonten von Schwarzen Löchern gebracht werden. (Black hole

Haben die Vektoren nur positive Eintr ¨age (Frequenzen, PPMI), dann ist sim cos zwischen Null und