Software & Betrieb
Im Projekt HPC.NRW werden die Softwareumgebungen und der Rechnerbetrieb der beteiligten Einrichtungen koordiniert. Hieraus ergeben sich zwei Hauptbereiche:
- die Koordinierung des HPC-Software-Ökosystems auf den HPC-Systemen der beteiligten Standorte
- die Etablierung eines Kompetenznetzwerkes für Betriebsfragen im HPC-Umfeld in NRW
Koordinierender Standort für diese Aufgaben ist das Paderborn Center for Parallel Computing (PC2) der Universität Paderborn. Ansprechpartner bei Rückfragen ist Robert Schade, contact-ap3@hpc.nrw.
Die Bereitstellung von Software gehört zu den Hauptaufgaben von HPC.NRW. Das können geeignete Simulationsprogramme, aber auch Komponenten wie optimierte numerische Bibliotheken, Softwareentwicklungstools wie sequentielle und parallele Debugger, Werkzeuge zur Performanceanalyse und allgemeine Werkzeuge für die effiziente Nutzung von HPC-Ressourcen sein.
Dafür wird regelmäßig der Bedarf der Rechenzentren, des HPC-Supports und der Nutzenden ermittelt. Danach folgt eine Evaluierung möglicher Alternativen.
HPC.NRW schafft schließlich die benötigte Software und beziehungsweise deren Alternativen an und macht diese verfügbar. Dabei wird ein Augenmerk auf die Verwendung von frei verfügbaren Paketen gelegt und bei kommerzieller Software mindestens eine Dual-Vendor-Strategie verfolgt, um einen Vendor-Lock-in zu vermeiden. Zusätzlich unterstützt HPC.NRW weitere Initiativen zur landesweiten Softwareanschaffung wie zum Beispiel die Landeslizenz für NAG Kompiler und Bibliotheken.
LANDESLIZENZEN
Über HPC.NRW bereits erfolgreich verhandelte Landeslizenzen und damit über HPC.NRW inklusive Support für alle Standorte verfügbar sind:
- Intel Parallel Studio XE/Intel OneAPI mit Premier Support
- Totalview HPC Debugger
- PGI Compiler/Nvidia HPC SDK
- ARM Software (DDT, MAP, Performance Reports)
- Professioneller Support für SLURM
Falls nur eine begrenzte Lizenzanzahl in einer Landeslizenz verfügbar ist, wird diese durch gemeinsame und redundant betriebene Lizenzserver verwaltet, sodass eine möglichst große Anzahl an Lizenztoken jedem Standort zur Verfügung steht. Damit können möglichst große HPC-Jobs mit den Programmen oder Werkzeugen ausgeführt werden.
Außerdem konnten auch schon weitere Anschaffungen einzelner Standorte oder kleinerer Gruppen von Standorten über HPC.NRW erfolgreich durchgeführt werden.
BESONDERE HERAUSFORDERUNGEN: SIMULATIONSPROGRAMME
Die Anschaffung von Simulationsprogrammen stellt eine zusätzliche Herausforderung dar. Zum einen sind die Lizenzmodelle oftmals auf Arbeitsgruppen statt auf Rechenzentren ausgelegt und eine Anschaffung für alle Nutzenden (lokale und externe) eines Rechenzentrums vom Softwarehersteller nicht vorgesehen. Zum anderen sind Simulationsprogramme sehr spezifisch für einzelne Forschungsrichtungen. HPC.NRW löst diese Probleme auf verschiedenen Wegen:
- Verhandlung mit Softwareherstellern, die ein Arbeitsgruppenmodell verfolgen, um die Umstellung beziehungsweise Erweiterung auf ein Rechenzentrumsmodell oder die Einführung kostenfreier Support- und Wartungslizenzen zu erreichen.
- Bündelung von Bedarfen auf einzelne Standorte durch Verbesserung der Mobilität der Nutzer und Dokumentation.
- Angebot von Migrationshilfe von kommerziellen Programmen zu kostenfreien Alternativen in enger Zusammenarbeit mit dem HPC-Support und den Fachberatungen.
Die Softwareumgebung eines HPC Clusters ist neben der Hardware einer der wichtigsten Aspekte eines HPC Systems. Die Harmonisierung der Softwareumgebung ist dabei eine nahezu notwendige Voraussetzung. So verbessert HPC.NRW die Mobilität von Nutzern zwischen Systemen und insbesondere zwischen verschiedenen Ebenen der HPC-Versorgungspyramide (zwischen Arbeitsgruppenclustern, Tier-3 Systemen, Tier-2 Systemen, Tier-0/1 Systemen). Nutzende werden so befähigt HPC-Systeme höherer Ebenen effizient zu nutzen.
Das Kompetenznetzwerk HPC.NRW verfolgt in Bezug auf die Harmonisierung einen impliziten Weg: Durch die Bereitstellung von Best-Practice Guides und anderen Hilfestellungen für den HPC-Betrieb soll eine ”schleichende” Harmonisierung erreicht werden. Diese bietet jedoch noch genügend Flexibilität, um lokale Besonderheiten wie zum Beispiel Anforderungen spezieller Hardware oder spezieller Nutzendengruppen mit einfließen zu lassen.
Der HPC-Sicherheitsvorfall im Frühjahr 2020 von dem Systeme weltweit und auch Systeme in NRW betroffen waren, hat gezeigt, dass Best-Practice Guides vor allem im Bereich der Sicherheit von HPC-Systemen notwendig und auch außerhalb von NRW dankend angenommen werden.
Die Best-Practice Guides werden in HPC.NRW zuerst intern entwickelt und sobald sie einen gewissen Reifezustand erreicht haben, über das weltweit zugreifbare und editierbare HPC-Wiki veröffentlicht. Dieser öffentliche Weg erlaubt die weltweite Kollaboration und Weiterentwicklung der Guides.
KARTIERUNG DES HPC-SOFTWARE-ÖKOSYSTEMS
Gemeinsam stark: Eine notwendige Voraussetzung für die Bündelung von Softwarebedarfen oder Harmonisierung ist eine zentrumsübergreifende Sicht auf das HPC-Software-Ökosystem. Dabei sind mehrere Aspekte relevant:
- Welche Software ist verfügbar beziehungsweise installiert?
- Welche Beratungskompetenz ist für die Software beziehungsweise das Fachgebiet am Standort vorhanden?
- Welche Software wird überhaupt von den Forschern genutzt?
Das Kompetenznetzwerk HPC.NRW beantwortet diese Fragen durch die Kombination mehrere Methoden:
- Clusterweit installierte Software: Automatisierte Sammlung der clusterweit installierten Software und insbesondere Umgebungsmodule. Die Ergebnisse der Auswertung nach der Verbreitung einer Software geben wichtige Hinweise darauf für welche Programme der Support ausgebaut werden sollte. Durch die Modulauswertung konnten auch repräsentative Informationen über die Verwendung von Namenskonventionen in dem Umgebungsmodulen gesammelt werden. Diese Erkenntnisse finden auch Eingang in die Best-Practice Guides und ermöglichen eine einfachere Harmonisierung.
- Nutzersicht: Erhebung der Nutzung von Software in der Nutzendenbefragung.
- Erhebung der Nutzung von Software in Rechenjobs: Hierfür wurde ein schlankes Erfassungssystem implementiert, das nicht-invasiv (keine Wrapper in Jobscripts oder ähnliches notwendig) und einfach zu verwenden (zum Beispiel werden keine separaten Datenbankserver oder ähnliches benötigt), die von den Nutzenden in Jobs verwenden Programme zur Laufzeit detektiert.
Ein Kompetenznetzwerk zu Betriebsfragen wurde durch folgende Maßnahmen etabliert, um die beteiligten Zentren im HPC-Betrieb zu unterstützen:
- Einrichtung eines NRW-weiten HPC-Helpdesk als 3rd-Level Support an den sich Rechenzentrumsmitarbeitende bei lokal nicht lösbaren Problemen wenden können. Weitere Informationen
- Etablierung von Kommunikationsplattformen wie der Einrichtung eines geschützten Bereiches im HPC-Wiki zur zentralen Diskussion von HPC-Betriebsthemen wie Datenaustauch zwischen HPC-Zentren auf nationaler und internationaler Ebene. Weitere Informationen
- Entwicklung von Best-Practice Guides zu Fragen des Rechnerbetriebs: HPC-Wiki
- Koordination eines intensiven Austauschs zwischen Rechenzentren in NRW zu vielen technischen Fragestellungen. Weitere Informationen
- Vorträge von Mitgliedern von HPC.NRW bei HPC-Konferenzen wie zum Beispiel den Tagungen des Arbeitskreises Supercomputing des ZKI (ZKI AK SC).
Personen

Robert Schade
Leitung Software & Betrieb
Universität Paderborn

Dominik Brands
Universität Duisburg-Essen

Marc-André Hermanns
RWTH Aachen University