Supercomputer: Die Exascale-Ära hat begonnen

Posted by Julia Werner  • 

EPEEC: Europäische Programmierumgebung für heterogene Supercomputer

Das gemeinsame Ziel im EU-Projekt EPEEC ist die Entwicklung und der Einsatz einer produktionsreifen parallelen Programmierumgebung, die überwiegend heterogene Exascale-Computer in verwaltbare Plattformen für Anwendungsentwicklerinnen und -entwickler verwandelt. Unser Part ist die Implementierung des verteilten Programmiermodells GASPI zusammen mit seiner GPI-Implementierung.

Die High Performance Community arbeitet daran, die Heterogenität künftiger Exascale-Rechner zu bewältigen. Dafür müssen sowohl unterschiedliche Processing-Unit-Architekturen (wie GPUs und FPGAs) als auch heterogene Speichersysteme und Netzwerke berücksichtigt werden. Das Projekt EPEEC stellt sich dieser Herausforderung, indem es fünf Softwarekomponenten, die von europäischen Forschungseinrichtungen und Unternehmen entwickelt wurden, zusammenführt und an die jeweilige Programmierumgebung anpasst und weiter ausarbeitet.

Zu diesen fünf gehört auch das an unserem Institut entwickelte Programmiermodell GASPI, das sich als europäischer Marktführer für einseitige Kommunikation zwischen Rechenknoten etabliert hat.

Unser Beitrag am Projekt

Gerade in Anwendungen wie dem Maschinellen Lernen ist die Komprimierung ein wichtiges Tool zur Verarbeitung der teilweise riesigen Datenmengen. Mithilfe unseres parallelen Programmiermodells GPI nutzen wir die sogenannte »Lossy Compression«, um Netzwerke zu entlasten. Beispiele für datenintensive Aufgaben sind die Entwicklung neuer Medikamente oder die Weiterentwicklung von Recommender System, welche basierend auf vorherigen Aktivitäten der Nutzerinnen und Nutzer (Einkäufe, gesehene Filme, o.ä.) Empfehlungen geben.

Der erste westliche Exaflops-Supercomputer: Frontier mit CPUs und GPUs von AMD

Frontier ist doch früher nutzbar als zuletzt in Aussicht gestellt – fast das komplette System ist inzwischen operabel. Somit schafft es Frontier auf eine Rechenleistung von 1,1 Exaflops im Linpack-Benchmark mit doppelter (FP64-)Genauigkeit, in der Spitze sind sogar fast 1,7 Exaflops drin und bei KI-Berechnung dank optimierter Matrizenrechner beinahe 6,9 Exaflops. Ein Exaflops entspricht einer Trillion Berechnungen pro Sekunde oder anders ausgedrückt: eine 1 mit 18 Nullen.

Und das scheint nicht einmal die finale Form von Frontier zu sein, denn rein rechnerischen fehlen dem Supercomputer noch einige Tausend GPU-Beschleuniger, die das System in den nächsten Monaten auf bis zu 2 Exaflops Dauerrechenleistung hieven könnten.

Konkret sollen es einmal 9408 AMD-Prozessoren des Typs Epyc 7A53 werden – angepasste 64-Kerner aus der Zen-3-Familie mit dem eigenen Codenamen Trento (statt Milan). Hinzu kommen pro Prozessor vier GPU-Beschleuniger in Form von AMDs Instinct MI250X, also insgesamt 37.632 Karten mit 75.264 GPUs beziehungsweise gut einer Milliarde Shader-Kernchen (14.080 pro GPU, auf jeder Karte sitzen zwei Chips).

Der 9,2 Petabyte umfassende Hauptspeicher besteht zu gleichen Teilen aus schnellem HBM2e-Stapelspeicher auf den GPUs sowie DDR4-RAM, das an die CPUs gekoppelt ist. Dank Infinity-Fabric-Verbindung teilen sich die Epyc- und Instinct-Chips den Speicherzugriff: Pro Knoten arbeiten sie Cache-kohärent in einer Unified Memory Architecture (UMA) zusammen.

Die Rechenknoten untereinander sind mit dem sogenannten Slingshot-Interconnect verbunden, den die HPE-Sparte Cray entwickelt hat.

Exascale im Westen

Frontier steht am Oak Ridge National Laboratory (ORNL) und ist der erste Supercomputer der Exascale-Klasse, der nicht in China rechnet – dort gibt es Systeme mit chinesischer Technik und über 1 EFlops offenbar schon seit 2021. Eigentlich sollte Aurora mit Intel-Hardware diesen Titel erhalten, allerdings verspätet er sich aufgrund von Intels Verschiebungen immer wieder.

Lesen Sie auch Die Exascale-Ära ist eingeläutet: Die 59. Top500-Liste der Supercomputer Mehr anzeigen ⊕

Als weiterer Rekord sind die Supercomputer mit AMD-Hardware die effizientesten High-Performance-Systeme: Frontier kommt bei einer Gesamtleistungsaufnahme von 21,1 Megawatt auf etwas mehr als 52 Gigaflops pro Watt, der Mini-Ableger Crusher alias Frontier TDS sogar auf fast 63. Das effizienteste System mit Nvidia-GPUs ist das "Scalable Module" des südkoreanischen SSC-21 auf Platz 6 mit knapp 34 Gigaflops pro Watt. Zum Einsatz kommen hier allerdings noch A100-Beschleuniger der vergangenen Ampere-Generation und noch keine neuen Hopper-Karten.

Forschung läuft dieses Jahr an

US-amerikanische Forschungsteams erhalten im Laufe dieses Jahres Zugriff auf Frontier, unter anderem für Nuklearsimulationen, Krankheitsforschung und die Entwicklung von Künstlicher Intelligenz.

Im März 2022 räumte das Energieministerium der Vereinigten Staaten (Department of Energy, DoE) noch eine Verspätung ein, woraufhin der Mini-Ableger Crusher entstand. Dieses Testsystem hat es unter dem Namen Frontier TDS auf Platz 29 der aktuellen Top500-Liste mit den weltweit schnellsten Supercomputer geschafft.

Im März befürchteten die Verantwortlichen noch eine Inbetriebnahme Frontiers erst im Jahr 2023. Unter der Hand wurde gemunkelt, dass die Verzögerung an der Skalierung von HPEs Slingshot-Interconnect lag, die alle Racks miteinander verkabeln – wohlgemerkt mit insgesamt 90 Kilometern Verkabelung.

(mma)

Supercomputer: Die Exascale-Ära hat begonnen

Bild vergrößern Blick auf den "Frontier"-Supercomputer am Oak Ridge National Laboratory (ORNL) in den USA Carlos Jones/ORNL, U.S. Dept. of Energy

In der Welt der Computer geht es darum, möglichst viele Rechenoperationen in möglichst kurzer Zeit zu absolvieren. Denn daran bemisst sich letztlich die Leistung eines Rechners. Durch immer leistungsstärkere Prozessoren, viele parallel arbeitende Rechnerkerne und spezielle Beschleuniger hat sich die Rechengeschwindigkeit der Computer bereits drastisch gesteigert.

Immer schneller und besser

Wenn es um offizielle Messung der Supercomputer-Leistung geht, wird ein Programm verwendet, das die Lösung eines sehr großen Gleichungssystems in sogenannter doppelter (64bit) Genauigkeit berechnet. Die TOP500-Liste zeigt, wer die schnellsten Supercomputer der Welt sind. 1997 schaffte einer dieser Rechenboliden erstmals eine Billion Gleitkommaoperationen pro Sekunde – ein Teraflop. 2008 wurde dann die nächste Schwelle von einer Billiarde Gleitkommaoperationen pro Sekunde geknackt – die Petaflop-Ära hatte begonnen.

Seither lief das weltweite Rennen um die nächste symbolträchtige Marke von einem Exaflop – eine Trillion Gleitkommaberechnungen pro Sekunde. „Die Dimension dieser Zahl wird deutlicher, wenn man sich vergegenwärtigt, dass das Universum etwa 10 hoch 18 Sekunden alt ist. Hätte ein Mensch seit dem Urknall jede Sekunde eine Rechnung ausgeführt, könnte ein Exascale-Rechner die gleiche Arbeit in einer einzigen Sekunde verrichten“, erklärt Christian Plessl vom Center for Parallel Computing (PC2) an der Universität Paderborn.

Er und sein Team haben erst vor Kurzem erstmals eine Rechensimulation im Exaflop-Tempo durchgeführt. Auf dem Supercomputer „Perlmutter“ am NERSC-Rechenzentrum in den USA ließen sie eine atomgenaue Simulation des Spike-Proteins des Coronavirus SARS-CoV-2 laufen. Anders als bei der offiziellen Benchmark für die TOP500 erfolgte dies mit 32/16bit-Präzision statt mit 64bit. Die gesamte Simulation der 83 Millionen Atome dauerte nur 42 Sekunden. Dabei wurden etwa 47 mal 10 hoch 18 Gleitkommaoperationen ausgeführt – das entspricht 1,1 Exaflop und war ein neuer Weltrekord.

Bild vergrößern Mit einem speziellen Rechenverfahren und dem Supercomputer „Perlmutter“ am National Energy Research Scientific Computing Center in Berkeley gelang die erste Exaflop-Rechnung. NERSC

Frontier: der erste Exascale-Rechner

Inzwischen ist es auch bei der offiziellen Benchmark soweit: Am 30. Mai 2022 wurde gemeldet, dass ein Supercomputer erstmals die Exaflop-Marke geknackt hat. Dies geht aus der aktuellen TOP500-Liste hervor, die auf der Supercomputing-Konferenz ISC in Hamburg veröffentlicht wurde. Demnach ist der Supercomputer "Frontier" des Oak Ridge National Laboratory (ORNL) in den USA der erste echte Exascale-Rechner weltweit. In der offiziellen Benchmark erreichte er 1,102 Trillionen Gleitkommaoperationen pro Sekunde – und damit 1,1 Exaflop.

Der gerade erst aufgebaute Superrechner hat 8,7 Millionen Rechenkerne und gilt mit 52,23 Gigaflop pro Watt als relativ energieeffizient. "Frontier läutete eine neue Ära des Exascale-Computings ein und hilft damit, die größten wissenschaftlichen Herausforderungen der Welt zu bewältigen", sagt ORNL-Direktor Thomas Zacharia. "Diese Meilenstein ist erst ein Vorgeschmack der beispiellosen Fähigkeiten von Frontier als Werkzeug für die Wissenschaft."

Bild vergrößern Der Supercomputer "Frontier" in Zahlen Laddy Fields/ORNLA, .S. Dept. of Energy

Interview: Die Herausforderungen des Exascale-Computing

Auch am Forschungszentrum Jülich arbeitet man intensiv an neuen Technologien, die den Sprung zum Exascale-Rechnen ermöglichen. Im Interview erläutern Thomas Lippert und Estela Suarez vom Jülich Supercomputing Centre, welche Herausforderungen ein solches System mit sich bringt.

Der Bau eines Exascale-Rechners gilt als gigantische Herausforderung. Welche Schwierigkeiten gibt es da?

Thomas Lippert: Es gibt hunderte Schritte, die man auf verschiedenen Ebenen machen muss, um diesen einen großen Schritt in Richtung Exascale zu gehen. Viele Schwierigkeiten hängen damit zusammen, dass bestimmte Skalierungsgesetze wie Moore’s Law seit etwa 2005 nicht mehr so gelten wie die 20 Jahre zuvor. Die Performance der Prozessoren hat sich früher beispielsweise alle 10 Jahre um das Hundertfache verbessert. Bei Supercomputern hat man zudem noch andere Freiheitsgrade ausgenutzt und am Ende eine tausendfache Steigerung hinbekommen. Diese grundlegende Steigerung bei den Prozessoren tritt heute aus verschiedenen Gründen nicht mehr ein. Damit wird es sehr viel schwieriger, einen substanziellen Schritt im Supercomputing zu machen.

Ein Problem ist der Energieverbrauch und die Wärmeentwicklung: In einem Rack, also einem Schrank, steckt heute eine elektrische Leistung von 150 Kilowatt. Schon die Leistung eines einzelnen Racks ist also 10- bis 15-mal so hoch wie die einer normalen Heizungsanlage in einem Einfamilienhaus. Die Wärme muss man irgendwie abführen, sonst verdampft das System innerhalb von Minuten. Vor 10 Jahren waren die Superrechner noch luftgekühlt. Aber heutzutage nutzt man andere, effizientere Lösungen, nämlich Warmwasser. Die Technik verbraucht weniger Energie und ermöglicht es, die erzeugte Wärme für die Gebäudeheizung zu nutzen.

Im Hinblick auf Exascale stellen sich aber noch viele andere grundsätzliche Fragen: Wie beherrscht man so viele Prozessoren und Komponenten gleichzeitig? Und wie kriegt man das Ganze administriert? Auf 10.000 Maschinen können wir ein Softwareupdate nicht mehr händisch aufspielen. Es braucht eine orchestrierte Software, um ein System komplett zu administrieren.

Für welche Anwendungen wird ein Exascale-Rechner benötigt?

Lippert: Die wissenschaftlichen Fragestellungen sind äußerst vielfältig. Die Masse der Simulationsanwendungen ist heute immer ein Kompromiss zwischen der verfügbaren Rechenleistung und der Größe des Systems, das man simuliert. Klimasimulationen erreichen beispielsweise auf einem Petascale-Rechner eine Auflösung von 10 Kilometern. Was man aber will, ist eine Auflösung von einem Kilometer. Und dann sind da noch Hotspots, die man sehr fein auflösen muss, um bestimmte Phänomene mitzunehmen, die sehr kleinräumig oder kombiniert auftreten. Das geht nur, wenn die Rechenleistung der Maschine entsprechend höher ist.

Unsere Philosophie ist es, immer besser zu werden, immer größere und komplexerer Probleme zu simulieren, sodass am Ende ein immer realistischeres Bild der Welt entsteht. Der Exascale-Rechner ist hier der nächste Schritt, aber noch lange nicht das Ende. Man wird in voraussehbarer Zeit immer die maximale Systemleistung nutzen. Je höher diese ist, desto verlässlicher ist die Aussage. Das gilt speziell für Wetter- und Klimasimulationen und die Ökosystem-Forschung, aber auch für jedes andere komplexe System, beispielsweise für Molekulardynamik-Simulationen und die Wirkstoffforschung.

Estela Suarez: Neben der Genauigkeit ist es auch immer die Frage, welche Aspekte man berücksichtigen kann. In der Klimaforschung ist neben der Atmosphäre auch der Zustand der Ozeane und der Erdoberfläche von Bedeutung. Die alle rechnerisch miteinander zu verbinden, ist ungeheuer komplex. Ähnliches gilt in anderen Bereichen. Beispielsweise in den Neurowissenschaften möchte man das ganze Gehirn des Menschen simulieren. Um bestimmte Krankheiten verstehen zu können, möchte man aber gleichzeitig einzelne Nervenzellen betrachten, mitsamt den verschiedenen Funktionen, die sie erfüllen. Dafür benötigt man eine Rechenleistung, die höher ist als die, die wir heute haben.

Es wird immer schwieriger, substanzielle Fortschritte im Supercomputing zu erzielen, wie Sie anfangs erwähnt haben. Welche Ansätze gibt es, um die Rechenleistung weiterhin zu steigern?

Suarez: Man hat ja früher zunächst versucht, die Taktfrequenz der Prozessoren stetig zu erhöhen. Das hat irgendwann nicht mehr funktioniert, weil der Energieverbrauch zu hoch wurde. Daraufhin fing man an, mehr Rechenkerne pro Einheit zu verbauen. Diese stark zunehmende Parallelität kann man auch bei normalen Computern und mobilen Geräten beobachten. Danach versuchte man, neben CPUs auch andere Recheneinheiten zu nutzen, zum Beispiel Grafikkarten. Diese wurden ursprünglich für andere Zwecke entwickelt, etwa für die Spieleindustrie. Mittlerweile werden sie auch in Superrechnern eingesetzt, weil sie viel Rechenleistung anbieten und vergleichsweise wenig Energie verbrauchen.

Dieser Herangehensweise wird auch in Zukunft eine wichtige Rolle spielen. Das heißt, man schaut sich nach Technologien um, die ursprünglich nicht unbedingt für Superrechner gedacht waren, aber dort eingesetzt werden können. Als nächstes werden möglicherweise Quantencomputer und neuromorphe Chips, die eher dem menschlichen Gehirn nachempfunden sind, integriert, wenn sie auf dem notwendigen Entwicklungsstand sind. In Jülich verfolgen wir dafür den Ansatz einer modularen Supercomputer-Architektur. Diese macht es möglich, unterschiedliche Cluster mit jeweils unterschiedlichen Hardwareeigenschaften zu definieren und miteinander zu verbinden. Anwender können dann gleichzeitig auf all diese Clustermodule zugreifen, je nachdem, was ihr Code braucht.

Beim Thema Exascale geht es aber nicht nur um Hardware, mindestens genauso wichtig ist die Software. Die Systeme werden immer komplexer. Die Software muss mit der wachsenden Heterogenität umgehen können und die Systeme den End-Anwendern zugänglich machen. Es geht darum, die entsprechenden Softwarepakete weiterzuentwickeln, neue Schnittstellen bereitzustellen und Anwendungscodes auf zukünftige Exascale-Maschinen vorzubereiten. Daran arbeiten wir unter anderem im aktuell laufenden Projekt „DEEP-SEA“.

Tagged:

  • Was nützt Supercomputer?
  • Leave a Reply