„Die Hardware wird spezieller, die Architektur eines Supercomputers komplexer“

platine

Platine eines Computers: Die Architektur von Hochleistungsrechnern wird dank neuer Prozessoren und beschleunigern vielfältiger und komplexer. Foto: Adobe

Am Leibniz-Rechenzentrum (LRZ) wurde gerade SuperMUC-NG Phase 2 aufgebaut, und das nächste High Performance Computing-System (HPC) ist bereits in Planung: Dabei stehen den Spezialist:innen so viele unterschiedliche Komponenten wie nie zur Verfügung. Zu den Central Processing Units (CPUs) addieren sich verschiedene Typen von Graphics Processing Units (GPUs) sowie weitere Beschleuniger und die ersten Quantensysteme sind ebenfalls schon in der Erprobung. Um neue Technologien abzuschätzen, betreibt das LRZ schon länger das Testfeld BEAST.  Damit kann der Nutzen von neuen Prozessoren und Komponenten fürs HPC beurteilt und praktische Fragen zur Energieaufnahme und zum Strombedarf geklärt werden. Außerdem wird mit BEAST ausprobiert, wie unterschiedliche Prozessoren und Komponenten miteinander kooperieren. Die LRZ-Spezialist:innen gewinnen so den Überblick über aktuelle Trends und Entwicklungen: Zeit wird’s für Fragen an Dr. Josef Weidendorfer, der das Future Computing-Team am LRZ leitet, an Dr. Michael Ott, der mit BEAST Chancen für Energieeffizienz im Supercomputing aufspürt, und Dr. Juan Durillo Barrinuevo, der sich mit den Möglichkeiten von GPUs beschäftigt. Diese verarbeiten Daten nicht nur schneller, sondern bringen jetzt vor allem die Künstliche Intelligenz (KI) ins Supercomputing.

Die HPC-Technik wird komplexer, vielfältiger, vielseitiger: Welche technischen Trends seht ihr zurzeit fürs Supercomputing? Dr. Josef Weidendorfer: Moore’s Law wird vielleicht noch ein paar Jahre funktionieren, wir könnten bei gleichem Platzbedarf zwar mehr Transistoren auf einen Chip integrieren, aber dadurch steigt die Leistungsaufnahme und muss folglich beim Computing noch mehr Hitze abgeführt werden. Deswegen versuchen Hersteller zurzeit, dass mehr Transistoren auf den Chips nicht zu deutlich mehr Abwärme führen, etwa indem pro Task nur ein Teil aktiv wird. Außerdem arbeiten sie daran, mehr Rechenleistung aus den Transistoren herauszukitzeln. Das funktioniert, wenn Hardware spezifisch an Anforderungen angepasst wird. Folglich wird die Hardware spezieller, vielfältiger, die Architektur eines Supercomputers komplexer. Ein Beispiel für Spezialisierung sind die GPUs, die zunächst für den Spielemarkt und die Anforderungen der Bildverarbeitung entwickelt waren und die nun auch für die High Performance Computing- oder HPC-Community nutzbar werden und sich auch für Methoden der Künstlichen Intelligenz eignen.
Dr. Juan Durillo Barrionuevo: Auch aus Perspektive der KI und besonders der Deep Neural Networks, kurz: DNN, oder Large Language Models, LLM, ist die Differenzierung notwendig. Mit dem seinem CS-2-System hat Cerebras einen speziellen Chip für den KI-Workload geliefert, auch die Prozessoren von Graphcore, Sambanova gehen in diese Richtung. Grund dafür ist der steigende Bedarf an Rechenleistung.
Dr. Michael Ott: Die Leistungsdichte nimmt weiter zu. Der Trend zu GPU-basierten Systemen führt dazu, dass sich deutlich mehr Rechenleistung in ein einzelnes Rack packen lässt. Dadurch nimmt auch der Strombedarf pro Rack zu und damit der Kühlungsbedarf. Das Positive aus Sicht der Energieeffizienz ist daran, dass sich die entstehenden Wärmemengen nicht mehr mit Luft kühlen lassen und sich die deutlich energieeffizientere Warmwasserkühlung weiter durchsetzen wird. Leider sehen wir aber auch einen Trend zu sinkenden Wassertemperaturen, was sich negativ auf die Energieeffizenz auswirkt und die Nachnutzung der Abwärme deutlich erschwert. Die Spezialisierung von Hardware eröffnet aber auch neue Chancen für energieeffizientere HPC-Systeme. Dadurch verschiebt sich aber die Bringschuld von den Betreibern der Rechenzentren zu den Nutzer:innen, da sie ihre Anwendungen an die neue Hardware anpassen müssen um diese auch effizient zu nutzen. Die Rechenzentren können sie dabei unterstützen, etwa indem sie ihnen die nötigen Werkzeuge an die Hand geben oder Systemsoftware einsetzen, die sie dabei unterstützt.

Mehr Prozessoren = mehr Leistung oder Rechenkraft: Diese Gleichung geht doch aber schon aus Gründen des Energiebedarfs nicht mehr auf. Wie entsteht heute trotzdem mehr Performance? Weidendorfer: Die Zahl der Prozessoren kann durchaus weiterwachsen – wenn neue, spezialisierte Prozessoren energieeffizient arbeiten. Aber es gibt ein weiteres Problem: Um Rechenaufträge zu lösen, müssen Daten durch HPC-Systeme fließen. Je mehr Prozessoren daran beteiligt sind, umso weiter die Transportwege, die ebenfalls viel Energie brauchen. So gesehen wird die Zahl der Prozessoren durch ein Optimum begrenzt, danach verschlechtert jeder zusätzliche Chip die Leistung. Eine Lösung ist, Algorithmen zu entwickeln, die weniger Datentransfer benötigen, etwa dadurch, dass Berechnungen redundant durchgeführt werden.
Durillo Barrinuevo: Effizientere Algorithmen führen mit weniger Aufwand zur gleichen Lösung. Im Kontext von ML würde das bedeuten, Rechenaufwand und Energie durch weniger Iterationen beim Training einzusparen. Dafür finde ich zwei Methoden spannend, zu denen es auch schon erste Forschungsarbeiten gibt: Mit der Hesse-Matrix ließe sich, kurz gesagt, die Zahl der notwendigen Trainingspunkte verringern, und mit Hilfe der Destillation können große Trainingsmodelle für spezifische Aufgaben aufgeteilt werden. 

Auf welche Technologien setzen die ersten Exascale-Rechner? Durillo Barrinuevo: Laut aktueller Top500-Liste nutzen Exascale-Computer derzeit GPUs verschiedener Anbieter.
Weidendorfer: Interessant ist der japanische Supercomputer Fugaku, der etwas unter ein Exaflop kommt: Er wurde in einem Co-Design-Prozess entwickelt und soll Anforderungen von HPC-Codes gut abbilden, ohne auf GPUs angewiesen zu sein. Programmierer:innen müssen ihre Codes zwar nicht für diese Prozessoren umschreiben, aber trotzdem Zeit in die Anpassung ihrer Codes an die Hardware investieren.

Wäre ein Supercomputer denkbar, der ausschließlich aus GPUs besteht? Durillo Barrinuevo: Nein, das funktioniert nicht, CPUs sind für das Betriebssystem zuständig, orchestrieren Datenbewegungen, den Zugriff auf Festplatten und andere Aufgaben. Obwohl GPUs immer leistungsfähiger werden, was den direkten Zugriff auf Speicher und Netzwerk betrifft, werden in einem (Super)Computer weiterhin CPUs benötigt. Wie das Verhältnis von GPU zu CPU aussieht, steht auf einem anderen Blatt. Möglich, dass CPUs künftig einfacher und den GPU-Chips ähnlicher werden.

BEAST ist das Testfeld des LRZ – welche neuen Technologien sind dort gerade im Test? Weidendorfer: Wir schauen uns verschiedene Architekturen mit CPUs und GPUs an und testen ihre Eignung für Benchmarks, die den Anforderungen von Codes unserer Anwender:innen gleichen. Auf CPU-Seite arbeiten wir zum Beispiel mit neuesten x86-Architekturen von Intel und AMD, aber auch mit Chips von ARM, Marvell und Fujitsu. BEAST enthält außerdem neuere A100-GPUs von NVidia, MI-210 von AMD, neue Ponte Vecchio-GPUs von Intel sind in Phase 2 von SuperMUC-NG verfügbar. 

beastk

BEAST: Die Testumgebung des LRZ dient der Erkundung neuer
Technologien und ihrer Energieeffizienz.

Wird dort auch das Zusammenspiel CPU und GPU getestet? Welche Erfahrungen gibt es? Weidendorfer: Das Zusammenspiel von CPUs und GPUs ist bei den aktuellen Technologien eher schwierig, weil es Engpässe beim Datentransfer gibt. Der erfolgt über eine Verbindung namens PCIe4/5, die deutlich langsamer als ein Zugriff auf Speicher ist, die direkt der CPU oder der GPU zur Verfügung stehen. Daten sollten zurzeit also auf dem Chip belassen werden, der rechnet. Die Hersteller arbeiten bereits an einer besseren Integration. Wie sich der gebremste Datenfluss beim HPC auswirkt, hängt von den Anwendungen ab. Das intensiver auszutesten, ist Teil des BEAST-Praktikum für Studierende der Münchener Universitäten. Diese optimieren zuerst Codes für den Einsatz auf CPUs, um ihn nach Möglichkeit auch auf GPUs und auf beiden Prozessor-Typen laufen zu lassen. Schon die Aufgabe, mehrere GPUs in einem Rechenknoten zu nutzen, kann schwierig sein.
Ott: Eine spannende Frage ist das beste Verhältnis von CPU und GPU in einem Rechenknoten: Eigentlich möchte man möglichst viel Rechenleistung in einen Knoten packen, da das System dadurch prinzipiell energieeffizienter wird. Das trifft aber nur zu, wenn die GPUs auch wirklich effizient genutzt werden können. Kann die CPU die Daten nicht schnell genug bereitstellen, verschwenden GPUs während des Wartens Energie.

GPUs beschleunigen das Supercomputing, erweitern die Möglichkeiten von Datenanalyse und Simulation: Funktioniert die Zusammenarbeit gut? Durillo Barrinuevo: Ja – es zeigt sich, dass Simulationen mit Hilfe von Datenanalysen verbessert und beschleunigt werden können. KI kann außerdem Inhalte und Details ergänzen helfen, die mit klassischen Simulationsberechnungen noch nicht gelöst werden können. So steigt auch die Qualität der Simulation. Wir freuen uns schon auf neue Möglichkeiten und Forschungsprojekte, die KI und klassische Simulation kombinieren.

SuperMUC-NG, Phase 2 enthält neben CPUs auch GPUs – was bringt diese Architektur energetisch und für Nutzer:innen? Durillo Barrinuevo: SuperMUC-NG Phase 2 ist der erste LRZ-Supercomputer, der sich sowohl für klassische Modellierung und Simulationen als auch für KI-Workloads eignet. Wir sind schon gespannt, was die Maschine im Betrieb ermöglicht.
Ott: GPUs gehen deutlich effizienter mit Energie um. Das lässt sich auch an der Top500-Liste und der verwandten Green500-Liste, deren Schwerpunkt auf Energieeffizienz liegt, beobachten: So gut wie alle gut positionierten Systeme schöpfen ihre Rechenleistung aus GPUs. Ein rein CPU-basiertes System werden wir vorerst in der Top500 nicht mehr auf den vorderen Plätzen sehen.
Weidendorfer:  GPUs spielen ihr Potential aus, wenn man Jobs in viele, viele kleine, möglichst wiederkehrende Aufgaben zerlegen kann, und zwar so, dass alle parallel laufenden Rechnungen auf dieselbe Art und Weise abgearbeitet werden und es keine Datenstaus gibt. Anwender:innen sollten daher, wenn möglich, Codes so umschreiben, dass diese auf Algorithmen mit diesen Eigenschaften zurückgreifen. Das dürfte nach unseren ersten Beobachtungen bei manchen Anwendungen schwerfallen, aber das ist genau einer der Punkte, wo wir Nutzer:innen unterstützen und gemeinsam mit ihnen lernen wollen.

Was müssen Nutzer:innen dafür bedenken? Weidendorfer: Der Trend zur Nutzung von GPUs im HPC hat leider einen Nachteil: Code muss umgeschrieben werden, und außerdem gibt es verschiedene Schnittstellen der GPU-Anbieterfirmen. Dringend notwendig wird ein portabler Code, der auf allen Architekturen läuft, er ist aus LRZ-Sicht die aktuell größte Herausforderung. Es gibt Ansätze für standardisierte Schnittstellen, die Hersteller aber oft unterlaufen, um Wettbewerbsvorteile zu erhalten. Als kleinster gemeinsamen Nenner kann „OpenMP Offloading“ für die GPU-Programmierung verwendet werden, womit dann aber oft nicht die Leistung der Hardware ausgereizt werden kann. Eine Alternative ist der Einsatz abstrakter Schnittstellen wie Kokkos oder Raja, die intern die Schnittstellen verschiedener GPU-Hersteller abbilden. Am LRZ entwickeln wir gerade ein eigenes Tool, das automatisch zwischen GPU-Schnittstellen übersetzen kann. Es gibt noch viel zu tun.

Helfen GPUs wirklich, den Energiebedarf der Supercomputer zu senken? Immerhin benötigt das Training mit Daten schon viel Strom. Durillo Barrinuevo: Knifflige Frage, tatsächlich können GPUs den Energiebedarf reduzieren, ihre Leistung pro Watt ist höher als bei klassischen CPUs. Aber Machine Learning, kurz: ML, benötigt sehr viel Strom. Würde man aber mit CPUs trainieren, läge der Bedarf weit höher. Das Problem ist, dass aktuelle ML-Trainingsmethoden auf Gradient-Descent-Algorithmen basieren, die viele Iterationen für die Konvergenz erfordern. Dies aber ist kein GPU-spezifisches Problem und in etwa vergleichbar mit Autos: Würde ich mit einem Auto, das wenig CO2 emittiert, deutlich mehr längere Strecken fahren als mit einem Fahrzeug, das viel CO2 fabriziert, trage ich trotzdem viel zur Luftverschmutzung bei. Problematisch aber wäre es, wenn hohe Emissionen die einzige Option für lange Strecken wären. Auf GPUs übertragen: Diese Prozessoren sind für Tasks ausgelegt, die in extrem viele gleiche Teilaufgaben zerlegt werden können, nur dann garantieren sie auch eine hohe Energieeffizienz.
Ott: Eigentlich helfen GPUs nicht, den Energiebedarf der Supercomputer zu senken, sondern nur dessen Anstieg zu bremsen. Noch wird mehr Rechenleistung gebraucht, deshalb kommt es zu klassischen Rebound-Effekten: Zwar steigt Effizienz, aber das Mehr an Rechenleistung wird durch die Nutzer:innen sofort absorbiert. Zeigt ein neuer Supercomputer 10mal soviel Rechenleistung als sein Vorgänger, heißt das ja nicht, dass man nun 9 ältere Computer abschalten könnte. Stattdessen wird der Neue genutzt, um deutlich rechenintensivere Probleme zu lösen.

Ein weiterer Beschleuniger für Supercomputer können Quantenprozessoren werden – testet ihr in BEAST schon Quantentechnologien? Weidendorfer: Quantencomputer, die jetzt gerade entwickelt werden, könnten Nutzer:innen in Zukunft bei der Lösung von Problemen helfen, die mit der aktuellen Computertechnologie nicht zu bewältigen sind. Und sie könnten auch das Supercomputing beschleunigen. Die Hoffnungen sind groß. Wir bereiten uns schon heute auf ihren Einsatz vor und forschen mit den ersten Systemen. Kolleg:innen arbeiten an der Frage, wie Quantencomputer in bestehende Rechnerinfrastrukturen und Supercomputer integriert werden können. Das erfordert ein Verständnis der physikalischen Beschränkungen und Anforderungen sowie von Funktionalität für einen Software-Stack. Das ist aber noch Zukunftsmusik, und die dazu notwendigen Erkundungen potenzieller Komponenten und Schnittstellen unterscheidet sich von den Tests der aktuellen Technologien in BEAST, die darauf abzielen zu prüfen, ob sie für das nächste HPC-System verwendet werden kann.
Ott: Ähnlich wie GPUs haben Quantenprozessoren das Potenzial, bestimmte Probleme effizienter zu lösen und damit den Energieverbrauch zu senken. Vermutlich werden sie wiew CPUs aber nur eine Teilmenge der klassischen Probleme lösen helfen, die im wissenschaftlichen Hochleistungsrechnen bearbeitet werden. Für den Rest werden wir auch in Zukunft auf klassische Rechnerarchitekturen setzen, die mit CPUs und GPUs implementiert werden. (Interview: vs)