Forschungsbericht 2013 - Max Planck Computing and Data Facility (MPCDF)

Hochleistungsrechnen und Unterstützung datenintensiver Wissenschaften

High-performance computing and support of data-intensive sciences

Autoren
Dohmen, Renate; Lederer, Hermann; Rampp, Markus; Ritz, Raphael
Abteilungen
Rechenzentrum Garching (RZG), Garching
Zusammenfassung
Das RZG optimiert komplexe Anwendungscodes aus den Bereichen Plasmaphysik, Astrophysik, Materialwissenschaften und anderen Disziplinen für den Einsatz auf massiv-parallelen Hochleistungsrechnern und bietet Unterstützung beim Datenmanagement für alle Phasen des Lebenszyklus von Forschungsdaten sowie für die Visualisierung und Exploration von Simulationsdaten. Das RZG ist maßgeblich an Projekten auf MPG-, nationaler und europäischer Ebene beteiligt.  
Summary
The RZG supports optimization of complex applications from plasma physics, astrophysics, materials science, and other disciplines for massively parallel high-performance computers and offers data management services and infrastructure for all phases of the data life cycle. Moreover, the RZG provides data visualization services for the exploration and quantitative analysis of simulation results. The RZG plays a leading role in projects within the MPG and at national and European level.

1 Hochleistungsrechnen

Das RZG betreibt einen Hochleistungsrechnerkomplex, der 2013 durch ein erheblich leistungsfähigeres System mit modernster Technologie ersetzt wurde. Die älteren IBM-Power6- und -BlueGene/P-Systeme wurden außer Betrieb genommen, und das bereits seit Oktober 2012 betriebene Intel-Sandy-Bridge-Prozessor-basierte System mit 9700 Rechenkernen wurde um ca. 70 000 Rechenkerne auf Intel-Ivy-Bridge-Prozessor-Basis mit schnellem InfiniBand FDR14 Interconnect zwischen den Rechenknoten ausgebaut. 350 dieser neuen Rechenknoten (mit je 20 Rechenkernen) wurden zusätzlich mit Beschleunigerkarten ausgestattet, mit 676 NVidia-Kepler-K20X-GPUs und 24 Intel-Xeon-Phi-Karten. Das neue System verfügt über eine aggregierte Peakleistung von 2,6 PetaFlop/s. Zusätzlich werden  große Linux-Cluster für zahlreiche Max-Planck-Institute aus ganz Deutschland betrieben. Eine wesentliche Aufgabe des RZG stellt die Anwendungsunterstützung dar. Die Kernaufgabe beinhaltet die Optimierung von Codes und die Mitwirkung bei Visualisierung und grafischer Aufbereitung von Daten, auch für Rechenarchitekturen und Systeme, die nicht am RZG, sondern an den Instituten oder anderen Zentren weltweit im Einsatz sind. Oft geschieht dies in enger Zusammenarbeit von RZG-Experten und Code-Entwicklern an den Instituten.

1.1 Anwendungsoptimierung im Hochleistungsrechnerbereich

Der Bereich der Anwendungsoptimierung am RZG beinhaltet vielfältige Herausforderungen mit unterschiedlichsten Anforderungsprofilen. So müssen zum Beispiel bereits parallele Codes, etwa aus der Materialforschung, der Plasmaphysik oder der Astrophysik, bezüglich ihrer Skalierbarkeit optimiert und algorithmisch für die Verwendung auf Supercomputern mit sehr hoher Prozessorzahl vorbereitet werden. Darüber hinaus werden existierende, sequenzielle Applikationen parallelisiert, durch algorithmische Maßnahmen beschleunigt und auf neue Hard- und Softwaretechnologien vorbereitet. Außerdem werden Wissenschaftler zum effizienten Einsatz von Applikationen auf einem jeweils geeigneten Hochleistungsrechnersystem beraten und bei der Vor- und Nachbereitung von umfangreichen Produktionsrechnungen z. B. durch systematische Benchmarks beziehungsweise mit der Implementierung und Anwendung von Visualisierungskonzepten aktiv unterstützt.

Im Rahmen der im Oktober 2013 erfolgten Inbetriebnahme des neuen Hochleistungsrechners der Max-Planck-Gesellschaft, „Hydra“, konnte für die folgenden Applikationen aus der Max-Planck-Gesellschaft eine effiziente parallele Skalierbarkeit auf bis zu 36 000 Prozessorkerne demonstriert werden: GROMACS (public domain), GADGET3 (Max-Planck-Institut für Astrophysik, Garching), LINMOD3D (Max-Planck-Institut für Sonnensystemforschung, Katlenburg-Lindau), NSCOUETTE (Max-Planck-Institut für Dynamik und Selbstorganisation, Göttingen). Die beiden letztgenannten Codes waren maßgeblich vom RZG parallelisiert worden und verdanken ihre hohe Skalierbarkeit vor allem dem Einsatz eines hybriden Programmiermodells, das auf einer expliziten Datenverteilung über die Prozessoren oder Knoten eines Rechnerclusters und Kommunikation mittels MPI (Message Passing Interface, der etablierte Standard für verteilte Parallelisierung) in Kombination mit Thread-basierter Programmierung (zum Beispiel OpenMP) innerhalb der einzelnen Prozesse beruht. Im Folgenden werden exemplarisch ausgewählte aktuelle Projekte zur Anwendungsoptimierung vorgestellt.

1.1.1 Hybride Parallelisierung eines Hydrodynamik-Codes für dreidimensionale Simulationen der Sonnenkorona

In der Arbeitsgruppe „Theorie und Simulation von Sonnensystem-Plasmen“ (Jörg Büchner, Max-Planck-Institut für Sonnensystemforschung, Katlenburg-Lindau) wird der dreidimensionale Magnetohydrodynamik-Simulationscode LINMOD3D entwickelt und soll z. B. zur Untersuchung von sogenannten Flares und Eruptionen in der Sonnenkorona eingesetzt werden. Am RZG wurde für den Code ein hybrides Parallelisierungskonzept basierend auf Message-Passing zwischen den Rechnerknoten (MPI) und Shared-Memory-Threads (OpenMP) erarbeitet und implementiert. In Zusammenarbeit mit den Entwicklern wurde eine klassische, MPI-basierte zweidimensionale Zonenzerlegung mit Randaustausch und OpenMP-Parallelisierung innerhalb der MPI-Domänen umgesetzt. Zusammen mit weiteren algorithmischen Optimierungen ermöglicht der neue parallele Code nun Simulationen in der geforderten Größenordnung von bis zu etwa 2000 Gitterpunkten je Raumrichtung. Bis dato konnte LINMOD3D nur auf Shared-Memory-Systemen mit maximal wenigen Dutzend Prozessorkernen eingesetzt werden. Damit waren Simulationen mit maximal 256 Gitterpunkten je Raumrichtung möglich, und das bei deutlich schwächerer Performance. Das neue parallele Programm skaliert nun bis zur maximal verfügbaren Zahl von Prozessorkernen (ca. 36 000) auf der größten Partition des neuen MPG-Hochleistungsrechners „Hydra“. Ferner wurde mithilfe der parallelen HDF5-Bibliotheken eine skalierbare Datenausgabe implementiert. Damit kann die grafische Analyse mittels Remote-Visualisierung (z. B. mithilfe von ParaView oder VisIT) am RZG erfolgen.

1.1.2 Beschleuniger- beziehungweise Coprozessorarchitekturen: NVidia GPU und Intel MIC (Xeon Phi)

Mit Grafikkarten (GPUs) und Coprozessoren, basierend auf Intels „Many Integrated Cores“-(MIC)-Architektur, haben zwei konzeptionell ähnliche, hochparallele Prozessorarchitekturen Einzug ins wissenschaftliche Hochleistungsrechnen gehalten und werden weltweit bereits in vielen Großrechnern eingesetzt. Indem ein Teil des neuen Hochleistungsrechners mit solchen Beschleunigerprozessoren ausgestattet wurde, trägt die Max-Planck-Gesellschaft dieser Entwicklung Rechnung. Es wurden 338 Knoten mit 676 GPUs vom Typ NVidia „Kepler“ K20x und 12 Knoten mit 24 Xeon-Phi-Coprozessoren versehen, so dass eine Rechnerplattform dieses neuen Typs mit einer nennenswerten Rechenleistung (nominell ca. 1 PetaFlop/s) zur Verfügung steht. Das System dient einerseits – auch im internationalen Vergleich – als sehr attraktive Produktionsressource und wird von Max-Planck-Wissenschaftlern aus verschiedenen Instituten aktuell z. B. für klassische Molekulardynamik-Simulationen mit GROMACS, NAMD, LAMMPS, ACEMD benutzt. Andererseits dient das System als Technologie- und Entwicklungsplattform für Portierungen und Neuentwicklungen, so z. B. vonseiten des RZG für die Anwendungen GENE (Mikroturbulenz in magnetisierten Kernfusions- oder astrophysikalischen Plasmen, Max-Planck-Institut für Plasmaphysik, Garching), VERTEX (Typ-II-Supernovae, Max-Planck-Institut für Astrophysik, Garching), MNDO (Quantenchemie, Max-Planck-Institut für Kohlenforschung, Mülheim an der Ruhr), ELPA (skalierbare Eigenwertlöserbibliothek, interdisziplinäres Konsortium unter Federführung der Max-Planck-Gesellschaft, siehe Abschnitt 1.1.3).

GPUs bzw. Xeon-Phi-(MIC)-Coprozessoren besitzen im Vergleich zu konventionellen Mehrkernprozessoren (CPUs) sehr viele, hinsichtlich Taktfrequenz und Instruktionssatz aber reduzierte, „leichtgewichtige“ Recheneinheiten, womit sich prinzipiell sehr große Rechenleistungen bei hoher Energieeffizienz erzielen lassen. In der Praxis ist die Programmierung solcher Prozessoren und insbesondere die effiziente Portierung von großen Applikationscodes, wie z. B. den oben genannten, oft noch mit beträchtlichem Aufwand verbunden. Es wird jedoch allgemein erwartet, dass im Bereich des wissenschaftlichen Hochleistungsrechnens der Trend zu leichtgewichtigen Recheneinheiten anhält und die damit verbundenen technischen und algorithmischen Herausforderungen auch in Zukunft bestehen werden. Die rechtzeitige Vorbereitung wichtiger Anwendungen erscheint daher unabdingbar, zumal die Erfahrung zeigt, dass viele der für die neuen Architekturen nötigen Optimierungen auch in die Entwicklungslinien für herkömmliche CPU-Architekturen zurückfließen können.

1.1.3 Hochskalierbare Eigenwertlöser-Bibliothek ELPA

Im vom Bundesministerium für Bildung und Forschung (BMBF) geförderten ELPA-Projekt waren hochskalierende direkte Eigenlöser für symmetrische Matrizen entwickelt worden. Die 2011 frei verfügbar gemachte Software wird seitdem weltweit für verschiedenste Simulationssoftwarepakete auf Supercomputern eingesetzt. Die ELPA-Bibliothek wurde nun um eine hybride Parallelisierung (OpenMP/MPI) erweitert und in Zusammenarbeit mit der TU München für die neueste Generation von Intel- und AMD-Prozessoren optimiert und verfügbar gemacht. Eine Gesamtdarstellung von ELPA wurde von der „Psi-k“-Organisation im Dezember 2013 als „Scientific Highlight of the Month“ publiziert (“The ELPA Library – Scalable Parallel Eigenvalue Solutions for Electronic Structure Theory and Computational Science”).

1.2 PRACE

Das RZG ist als Tier1-Partner gemeinsam mit dem Gauß Centre for Supercomputing (GCS) weiterhin an EU-PRACE-IP-Projekten beteiligt. Dabei geben zahlreiche europäische HPC-Zentren gemeinsam Unterstützung für herausragende Simulationsprojekte aus ganz Europa. Max-Planck-Wissenschaftler beteiligten sich inzwischen vornehmlich an Tier-0-Projekten. Das RZG war auch in die Organisation und Durchführung der internationalen HPC Summer School in Computational Sciences eingebunden, die im Juni 2013 in New York City für europäische, amerikanische und japanische Doktoranden und Post-docs stattfand, mit Finanzierung der europäischen Teilnehmer durch PRACE.

1.3 Visualisierung wissenschaftlicher Daten

Das RZG betreibt für die Max-Planck-Gesellschaft und das Max-Planck-Institut für Plasmaphysik eine zentrale Soft- und Hardwareinfrastruktur zur Visualisierung und quantitativen Analyse von Simulationsdatensätzen. Unabhängig vom Typ, der Leistung und dem Standort seines PCs kann ein Wissenschaftler über das Internet Simulationsdaten, die auf den Großrechnern des RZG generiert wurden, mithilfe der besonders leistungsfähigen Grafik-Hardware des Clusters interaktiv analysieren. Das RZG unterstützt Wissenschaftler bei der Nutzung dieser Ressourcen und übernimmt konkrete Visualisierungsprojekte.

Als aktuelles Beispiel für Projektunterstützung sei die Visualisierung von Datensätzen aus umfangreichen dreidimensionalen Supernova-Simulationen genannt, die in der Gruppe von Hans-Thomas Janka am Max-Planck-Institut für Astrophysik im Rahmen eines PRACE-Tier-0-Projekts auf europäischen Großrechnern durchgeführt werden. Abbildung 1 zeigt einen Schnappschuss der zeitlichen Entwicklung der innersten ca. 500 Kilometer des Simulationsgebietes. Die Entropie pro Baryon (als einschlägiges Maß für die Heizung des stellaren Materials durch Neutrinos) ist in verschiedenen Rot- und Gelbtönen dargestellt. Die bläulich durchschimmernde, äußere Hülle markiert die Position der Supernova-Stoßwelle. Die deutlich erkennbaren, großskaligen Abweichungen von der sphärischen Symmetrie spielen eine entscheidende Rolle im Verständnis des neutrinogetriebenen Explosionsmechanismus. Im Inneren ist der junge Neu­tronenstern als kleine Kugel zu erkennen. Das Projekt wurde beim Wettbewerb „Max Planck Award 2013 – Hidden Treasures?“ der Max-Planck-Gesellschaft mit dem zweiten Preis ausgezeichnet.

2 Unterstützung datenintensiver Wissenschaften

Bei wissenschaftlichen Anwendungen durchlaufen die damit verbundenen Daten typischerweise die im folgenden Diagramm (Abb. 2) dargestellten Phasen, den Lebenszyklus des Umgangs mit Daten, allerdings in unterschiedlicher Ausprägung und abweichendem Umfang. Das RZG unterstützt Max-Planck-Institute beim Datenmanagement in allen Phasen dieses Datenlebenszyklus.

Im Folgenden wird anhand von drei Beispielen illustriert, wie sich die Unterstützung des RZG konkret gestaltet und zwar in den Bereichen (i) Metadatenstrukturierung, ‑erfassung und ‑bereitstellung (Max-Planck-Institut für Ornithologie, Seewiesen), (ii) Datenreplikation und ‑analyse (ATLAS) sowie (iii) Langzeitarchivierung (Replix).

2.1 Ornithologie: Metadatenmanagement

In Zusammenarbeit mit Wissenschaftlern des Max-Planck-Instituts für Ornithologie in Seewiesen wurde eine Applikation entwickelt, die es erlaubt, beliebige Teilbereiche eines komplexen Dateibaumes wissenschaftlich zu annotieren. Diese zusätzlichen Informationen können dann in einer Datenbank zusammengeführt werden und erlauben somit eine spätere gezielte Suche nach einzelnen Dateien oder Verzeichnissen auf Basis dieser zusätzlichen Informationen.

Im Einzelnen besteht das Metadaten-Management-Werkzeug TACO (Tags and Components) aus vier Komponenten (siehe Abb. 3): (i) einer Konfigurationsdatei zur Definition fachspezifischer Konventionen (Attributnamen, kontrollierte Vokabularien etc.) (ii) einer Desktopapplikation, mithilfe derer Wissenschaftler die Annotation ihrer Daten direkt im Filesystem vornehmen können, (iii) einem Harvester, der die eingegebenen Informationen aus dem Filesystem ausliest und sie in einer Datenbank ablegt, sowie (iv) einer Webapplikation, die es ermöglicht, die Datenbank mithilfe eines Webbrowsers abzufragen.

2.2 ATLAS-Experiment: Datenreplikation und -analyse

Arbeitsgruppen des Max-Planck-Instituts für Physik (MPP) und der Physikalischen Fakultät der Ludwig-Maximilians-Universität sind am ATLAS-Projekt des Large-Hadron-Colliders (LHC) am CERN beteiligt. ATLAS ist ein spezieller Detektor, der seit 2008 große Mengen an Daten liefert, mit denen viele Institute weltweit arbeiten. Um die Daten allen Instituten zugänglich zu machen, wurde ein hierarchisches Netzwerk aus sogenannten Tier-Zentren aufgebaut, in dem die Daten in sinnvoller Weise repliziert werden. In München wurde ein Tier2-Zentrum gegründet, an dem die oben genannten Physikinstitute sowie das Leibniz-Rechenzentrum und das RZG beteiligt sind. Die Aufgabe des RZG beinhaltet neben dem Betrieb einer Compute-Infrastruktur einschließlich hierarchischer Speicherlösung die Betreuung der mithilfe von ATLAS-Middleware automatisierten Datenverarbeitungsketten.

2.3 Replix: Langzeitarchivierung

Mithilfe eines neuartigen Datenmanagement-Systems (iRODS) werden Audiodaten des Spracharchivs des Max-Planck-Instituts für Psycholinguistik automatisch von Nijmwegen nach Garching repliziert und in das Massenspeichersystem des RZG zur Langzeitarchivierung überführt. Langzeitarchivierung wird bereits für andere Max-Planck-Einrichtungen aus den Geisteswissenschaften wie die Bibliotheca Hertziana in Rom und das Kunsthistorische Institut in Florenz praktiziert.

2.4 Europäische Datenprojekte

Das RZG beteiligt sich zusammen mit anderen Einrichtungen der Max-Planck-gesellschaft an durch die EU geförderten Datenprojekten. Dazu zählen DARIAH, CLARIN, EUDAT und RDA-Europe. In DARIAH wird eine gemeinsame Dateninfrastruktur für die Geistes- und Sozialwissenschaften in Europa aufgebaut. Für das ESFRI-(European Strategic Forum on Research Infrastructure)-Projekt CLARIN wird eine Virtualisierungsplattform betrieben und Unterstützung für linguistische Forschung geleistet. Durch EUDAT wurden verschiedene zentrale Datendienste entwickelt, die nun europaweit für verschiedene wissenschaftliche Communities angeboten werden. Im RDA-Europe-Projekt wird der europäische Beitrag zum weltweiten RDA-Projekt geleistet, das globalen Austausch von Forschungsdaten durch Standardisierungsbemühungen erleichtern und die Entwicklung pragmatischer Lösungen vorantreiben soll.

Zur Redakteursansicht