Dr. Thomas Schwitalla, Physiker an der Universität Hohenheim, ist ein langjähriger Nutzer der HPC-Systeme des HLRS. Basierend auf dem Weather Research & Forecasting Model (WRF) und dem Model for Prediction Across Scales (MPAS) arbeitet Schwitalla an Wettersimulationen, die in den letzten Jahren immer präziser geworden sind. Kürzlich hat er mithilfe des Supercomputers Hawk am HLRS das Wetter der Erde mit einer beeindruckend hohen Auflösung von 1,5 km simuliert. Wie andere Forschungsbereiche, die mit großen Simulationen arbeiten, sind globale Wetter- und Klimamodelle eine Herausforderung für das High-Performance Computing. Die Dateisysteme müssen in hochparallelisierten Rechensystemen kontinuierlich eine große Anzahl an Daten zwischen Rechenknoten und Speicherplatten verschieben. Auch wenn die Rechenknoten eines HPC-Systems schneller werden, kann dieser sogenannte „Input/Output (I/O)“-Vorgang die Effizienz einer Simulation stark beeinträchtigen.
19. Apr 2023
Anwender-Forschung
HLRS-Projekte
Erd- und Klimawissenschaft
Interview
Hawk
Simulation
Visualisierung
Alle Nachrichten
In einem neuen Projekt mit der Bezeichnung TOPIO arbeitet Schwitalla mit Wissenschaftler:innen des HLRS zusammen, um einen Ansatz zur Verbesserung des I/O bei großen Simulationen zu testen. Im folgenden Interview erörtert Schwitalla, welche Chancen und Herausforderungen die Weiterentwicklung von HPC in Richtung Exascale birgt.
In der Vergangenheit war es sehr oft so gewesen, dass man aufgrund der verfügbaren Rechenressourcen hochaufgelöste, sub-saisonale Simulationen — Simulationen von 4 Wochen bis 2 Monate — nur als Limited-Area-Modelle (LAM) machen konnte. Das heißt, man konnte nur einen Ausschnitt der Erde simulieren. Daraus ergab sich immer ein mathematisches Problem, weil man Randbedingungen gebraucht hat, die von einem anderen globalen Modell kamen. Es war oft so, dass sich die Physik eines LAM von der des antreibenden Modells unterschied. Wenn z.B. die Wolkendarstellung oder die Darstellung der Grenzschicht anders sind, kann das zu unerwünschten Effekten führen, in denen bei längeren Simulationen die Randbedingungen „durchscheinen“ und man nicht mehr das Modell selbst sieht.
Bei einem globalen Modell hat man den Vorteil, dass es keine Randbedingungen gibt. Und das Besondere ist eben heutzutage, dass man globale Simulationen mit einer sehr kleinen Gitterboxgröße rechnen kann — anders gesagt, mit sehr hoher Auflösung. Dafür braucht man aber enorme Rechenressourcen.
Es gibt im Moment Klimasimulationen, die global mit einer Auflösung von 25 bis 50 km laufen. Das ist gut, aber wenn man auf der lokalen Ebene schaut, reichen sie nicht aus. Im Schwarzwald, zum Beispiel, gibt es viele Berge und Täler und eine Auflösung von 25 km erfasst diese komplexe Topografie nicht. Auch bei Inselgruppen wie den Philippinen, Indonesien oder den Kanaren ist eine Gitterzelle mit 25 km Auflösung nicht ausreichend, weil kleinere Inseln einfach nicht dargestellt werden.
Dr. Schwitalla und HLRS-Visualisierungsexpertin Leyla Kern demonstrieren eine Visualisierung seines hochauflösenden globalen Modells im HLRS CAVE.
Die Hoffnung ist, mit höher aufgelösten Modellen genauere Vorhersagen machen zu können. Man kann damit atmosphärische Prozesse realitätsnäher darstellen und z.B. die Entwicklung von tropischen Stürmen oder Starkregenereignissen besser vorhersagen. Ein Zeitraum von 30 bis 60 Tagen ist auch für die Landwirtschaft interessant, weil Bauern genau wissen wollen, wann sie am besten aussähen oder ernten sollen. Im Rahmen eines EU-Projekts gibt es mit MPAS jetzt die ersten 40-Tage-Simulationen und in diesen sieht man, dass eine höhere Auflösung einen deutlich positiven Effekt auf die Niederschlagsvorhersage hat.
Wenn man den Globus in 1,5*1,5 km Boxen einteilen würde, hätte man bei MPAS auf der Erdoberfläche 262 Millionen Gitterzellen. In meiner Konfiguration gibt es auch 75 Vertikalschichten, um die Atmosphäre zu simulieren. Das heißt, ich habe 262 Millionen Mal 75 — insgesamt ca. 20 Milliarden — Gitterzellen. Um das Wetter realistisch zu modellieren, brauche ich aber für jede Gitterzelle die Temperatur, den Luftdruck, den Wind und die relative Feuchte. Zusätzlich benötigt man noch Variablen wie Wolkenwasser, Regen, Eis oder Schnee. Jede dieser Variablen hat 20 Milliarden Datenpunkte, die abgespeichert werden müssen. Auch wenn sich im einfachsten Fall mit Single Precision rechnen lässt (ein Format, in dem Gleitkommazahlen mit 32 statt 64 Bits gespeichert werden), ist die resultierende Datei etwa ein Terabyte pro Ausgabezeitschritt. Bei einer Simulationsdauer von 24 Stunden und stündlicher Ausgabe ergäbe das 24 Terabyte an Daten und bei 60 Tagen sogar 1,3 Petabyte. Das ist selbst für sehr große Dateisysteme extrem viel.
Eine so große Datenmenge stellt eine Herausforderung für die Dateisysteme dar. Bei Simulationen mit mehreren Zehntausend oder Hunderttausend Rechenkernen kann es passieren, dass zum einen die Kommunikation zwischen den MPI-Prozessen nicht mehr schnell genug ist, zum anderen kann das Dateisystem aufgrund begrenzter Speicherbandbreiten die Daten nicht mehr schnell genug verarbeiten.
TOPIO beschäftigt sich mit der Frage, ob sich das I/O des Dateisystems mittels eines Autotuning-Ansatzes für die Datenkompression beschleunigen ließe. Es gibt schon Algorithmen für die Datenkompression, aber sie sind noch nicht parallelisiert für HPC-Architekturen. Wir wollen untersuchen, ob es noch Optimierungsmöglichkeiten mithilfe von MPI gibt. Wissenschaftler aus dem Projekt EXCELLERAT, das vom HLRS geleitet wird, haben die Kompressionsbibliothek BigWhoop entwickelt. In TOPIO werden wir die Bibliothek auf MPAS anwenden. Das Ziel ist, die Datengrößen ohne Informationsverlust um bis zu 70% zu reduzieren.
Dieser letzte Punkt ist für die Atmosphärenmodellierung sehr wichtig. Die Schwierigkeit ist, dass bestimmte Variablen wie Wasserdampf, Wolkenwasser oder Wolkeneis sehr kleine Werte annehmen kann. Wenn ich wegen der Datenkompression eine Stelle in einer Zahl verliere, dann kann das Ergebnis einer längeren Simulation eine andere Information und daraus resultierende Statistik ergeben. Das Problem ist auch relevant, wenn man Simulationen mit Satellitendaten vergleicht. Wenn Informationen wegen der Kompression verloren gehen, sind u. U. bestimmte Features nicht mehr da.
Geringe Datenmengen sind auch für die Nutzer:innen (z.B. in der Landwirtschaft oder Hochwasservorhersagezentren) der Informationen von großer Bedeutung. Wenn die Daten groß und schwer zu übertragen sind, dann nutzt diese auch niemand. Wenn die Daten komprimiert sind, ist die Chance höher, dass sie in den Entscheidungsprozessen genutzt werden. Ein weiterer positiver Nebeneffekt ist die Energieeinsparung für das vorhalten und archivieren der Daten.
In Zukunft möchten Wissenschaftler:innen Unsicherheiten in ihren Modellen besser abschätzen. Wir sehen beispielsweise den Bedarf in der Modellierung von Wolken. Die Entstehung von Wolken ist sehr wichtig für das Klima, weil Wolken den Strahlungshaushalt stark beeinflussen. Bei einer groben Auflösung kann das Modell kleine Wolken gar nicht darstellen. Es könnte sogar passieren, dass der Strahlungshaushalt nicht korrekt simuliert wird. Wenn ein Klimaszenario auf 100 Jahre projiziert wird, kann der Fehler groß werden.
Für die Unsicherheitsabschätzung lassen sich Ensemblesimulationen berechnen. In Multi-Physics-Ensembles, zum Beispiel, können verschiedene Parametrisierungen für die Darstellung von Wolken oder atmosphärischen Grenzschichtprozessen gewählt werden. Alternativ dazu kann mit einem Time-Lagged Ensemble eine zweite Simulation (zum Beispiel) 24 Stunden später gestartet und die Ergebnisse mit denen der Ersten verglichen werden. Wenn die Ergebnisse konvergieren, ist die Vertrauenswürdigkeit besser.
Die Simulation von Dr. Schwitalla zeigt das Wetter für den gesamten Globus mit einer Auflösung von 1,5 km.
Die Durchführung von Ensemblesimulationen ist allerdings sehr rechenintensiv. Wenn ich ein Ensemble von 10 Mitgliedern rechnen wollte, würde ich 10-mal so viel Rechenzeit brauchen und die Datenmenge wäre zehnmal so groß. Rechenpower ist daher immer noch ein limitierender Faktor. Deswegen werden wir in der Zukunft einen höheren Bedarf an GPUs sehen, weil sie für Floating Point Operationen sehr gut geeignet und viel schneller als CPUs sind. Viele globale Modelle nutzen jetzt eine Kombination von CPUs und GPUs und in den kommenden Jahren ist zu erwarten, dass mehr gemischte HPC-Systeme zu sehen sind, die sowohl auf CPU- als auch GPU-Komponenten zurückgreifen.
Dieser Umstieg auf GPUs hat auch Konsequenzen für das Programmieren von Simulationssoftware. Der gleiche Code lässt sich nicht einfach direkt auf GPUs portieren, er muss an GPUs angepasst werden. Momentan gibt es hierfür verschiedene Ansätze wie OpenACC, CUDA, oder OpenMP Offloading. Auch wenn Wissenschaftler:innen erfahren im Umgang mit HPC sind, werden sie diese Methoden in den kommenden Jahren adoptieren müssen. Das HLRS hat dies bereits in sein Schulungsprogramm aufgenommen.
— Interview: Christopher Williams