HPC matters ::: Knowledge- & Technologytransfer
DE | EN

SILC
Skalierbare Infrastruktur zur automatischen Leistungsanalyse paralleler Codes

Overview
Project duration January 2009 - December 2011
Funding: Bundesministerium für Bildung und Forschung 1. HPC-Call
Website http://www.vi-hps.org/projects/silc
Description
Werkzeuge für die Performance-Analyse stellen einen wichtigen Teil der HPC-Landschaft dar, da die parallele Effizienz, die Performance und die Skalierbarkeit von inhomogenen Hardware-Plattformen mit komplexen Softwarekomponenten nicht ohne detaillierte Einsicht in das parallele Laufzeitverhalten optimiert werden können.

Für diese Aufgabe gibt es einige etablierte Werkzeuge. Sie alle benutzen die selben grundlegenden Messtechniken -- das Erstellen von Profilen und das Speichern von Ereignis-Traces. Darauf aufbauend führen sie verschiedene, sich ergänzende Analysemethoden durch.

Das Hauptziel des SILC-Projektes ist das Design und die Implementierung einer gemeinsamen Infrastruktur zur Instrumentierung und Laufzeit-Datenerfassung für die bereits etablierten Performance-Tools Periscope, Scalasca, TAU und Vampir. Daraus ergeben sich drei Vorteile. Erstens wird dadurch die Interoperabilität der Tools untereinander verbessert. Zweitens werden Redundanzen bei Pflege, Support, Benutzer-Training und der Implementierungen von zukünftigen Features beseitigt. Das schließt insbesondere die Unterstützung für neue Methoden der parallelen Programmierung oder neue HPC- Plattformen ein. Es wird es außerdem ermöglichen, den Aufwand zwischen den teilnehmenden Gruppen zu verteilen und die Entwicklung insgesamt effektiver zu gestalten. Drittens wird es die Benutzer der genannten Analyse-Tools von redundanten Schritten während der Vorbereitung des Experiments und der Erfassung der Laufzeit-Daten befreien. In der Vergangenheit hatte jedes Tool verschiedene Kommandos und Optionen für im Wesentlichen die gleichen Arbeitsschritte. Die gemeinsame Infrastruktur bietet nun eine Möglichkeit, Messdaten zu generieren, die von allen vier Tools benutzt werden können.

Kurz vor Ende der Förderungsphase des Projektes ist das Instrumentierungs- und Laufzeit-Messsystem "Score-P" als Open Source Software verfügbar und arbeitet mit den vier Performance-Analysis-Tools der Projektpartner zusammen. Außerdem haben sich alle Partner zu einer langfristigen Zusammenarbeit für diese essenziellen, gemeinsamen Softwarekomponenten verpflichtet, die über den Förderzeitraum hinaus fortgesetzt wird. Diese Kooperation steht auch für neue Partner offen.

Das Periscope Tool wird an der TU München entwickelt, Scalasca wird an dem Jülich Supercomputing Centre und an der GRS-SIM entwickelt, TAU wird an der University of Oregon entwickelt und Vampir wird an der TU Dresden entwickelt.

Außerdem wird das SILC Projekt in enger Zusammenarbeit mit dem PRIMA Projekt durchgeführt - einem Gemeinschaftsprojekt zwischen der University of Oregon und dem Forschungszentrum Jülich, gefördert vom US Department of Energy.
Results
Als die wichtigsten Ergebnisse des SILC-Projektes wurden folgende Software- Komponenten veröffentlicht:
  • Score-P (Scalable Performance Measurement Infrastructure for Parallel Codes), das die zentralen Funktionen für die Instrumentierung des Quellcodes und die Aufzeichnung der Laufzeit-Daten zur Verfügung stellt.
  • das Open Trace Format Version 2 (OTF2) als hoch-skalierbare Datenformat für Ereignis-Traces mit zugehöriger Support-Bibliothek.
  • CUBE4 als hoch-skalierbares Datenformat für Profile mit einer Support-Bibliothek und dem CUBE4 GUI.
  • Der Opari2 Source-to-Source Instrumentierer für OpenMP-Anwendungen.
  • Alle Komponenten werden unter einer New-BSD Open Source Lizenz zur Verfügung gestellt -- siehe auch unter "Ressourcen".
Für eine detailliertere Übersicht der Komponenten, Features und Funktionsweisen siehe die beinhalteten Dokumentationen und die aufgeführten Präsentationen.

Weiterhin wurden die Performance-Analyse-Tools Periscope, Scalasca, TAU und Vampir an die neue Infrastruktur angepasst. Zusätzlich wurde eine große Anzahl von Tests mit Benchmarks und Beispiel-Anwendungen aus Wissenschaft und Industrie durchgeführt.

Bedeutung für die HPC-Community



Die neue, gemeinsame Werkzeug-Plattform wird eine langfristige und stabile Infrastruktur für viele Performance-Analyse-Tools anbieten. Das wird die Kompatibilität der Tools und die Akzeptanz bei den Anwendern verbessern, wenn sie mehrere Werkzeuge in Kombination einsetzen. Da Pflege, Support und Erweiterungen der Funktionalität für die Score-P Infrastruktur auch nach der Förderperiode gemeinschaftlich ausgeführt werden, stehen in Zukunft mehr gemeinsame Entwicklungs-Ressourcen zur Verfügung und es wird weniger redundante Entwicklungsaufgaben geben. Dies erlaubt langfristig schnellere Anpassungen an neue, wichtige HPC-Trends und weniger Aufwand für jede beteiligte Gruppe bzgl. Entwicklung, Support, Tests und Nutzer-Training. In Zukunft steht die Score-P-Gemeinschaft auch für neue Partner offen.

Weiterhin wurden bereits einige Nachfolge-Projekte begonnen, die die Score-P- Infrastruktur, die während des SILC BMBF Projektes entstanden ist, erweitern und weiterverwenden.
  • LMAC (Leistungsdynamik massiv-paralleler Codes), BMBF HPC Call 2, 08/2011-07/2014
  • H4H (Hybrid Parallel Programming to Optimise HPC Applications on Heterogeneous Architectures), ITEA2 project, 2010-2013
  • Hopsa (HOlistic Performance System Analysis), EU-Russia project, 02/2011-01/2013,
  • GASPI (Global Address Space Programming Interface) , BMBF HPC Call 2, 06/2011-05/2014
Resources
Softwarepakete, Dokumente, Präsentationsfolien und URLs:
Contact

Dr. Andreas Knüpfer (andreas.knuepfer@tu-dresden.de)

Administrative contact

Zentrum für Informationsdienste und Hochleistungsrechnen
Zellescher Weg 12
01069 Dresden
Germany