GPU Systeme

Der Urahn Grafikkarte:

Klassische Grafikkarten werden in einem PCI-E Slot betrieben und bekommen wenn notwendig (Größer 75W) über zusätzliche Stromkabel ausreichend Leistung.
Eine GPU ist letztlich nichts anderes als eine sehr leistungsfähige Grafikkarte, die jedoch nicht zur Darstellung auf einem Bildschirm verwendet wird, sondern zur schnellen parallelen Berechnung aufwendiger Aufgaben, sie ist einer klassischen CPU in vielen Bereichen weit überlegen – allerdings nicht überall – etwa wenn Aufgaben sich nicht parallelisieren lassen.

Das Bottleneck PCIe:

PCIe in der Version 5 oder 6 ist schon sehr schnell, reicht allerdings nicht aus, wenn man mehrere GPUs so betreiben möchte, dass sie wie eine einzige GPU arbeiten, dafür ist eine sehr hohe Bandbreite zwischen den GPUs erforderlich, die dann direkten Zugriff aufeinander haben müssen: Dafür hat Nvidia den NVLink entwickelt, eine hoch-performante Verbindung zwischen professionellen GPUs die das unterstützen müssen.

Wer benötigt das?

Ob NVLink erforderlich ist, hängt von der Aufgabe ab, kann man mit mehreren (auch vielen) einzelnen GPUs rechnen, benötigt man keine Hochgeschwindigkeits-Verbindung zwischen den GPUs, benötigt man aber zur effizienten Lösung der Aufgabe eine einzige, sehr leistungsfähige GPU, dann ist NVLink die Lösung.

NVIDIA NVLink

Quelle: https://www.nvidia.com/de-de/data-center/nvlink/

NVIDIA® NVLink® ist eine direkte Hochgeschwindigkeitsverbindung zwischen GPUs. NVIDIA NVSwitch™ hebt die Interkonnektivität auf die nächste Stufe, indem es mehrere NVLinks integriert, um eine All-to-All-GPU-Kommunikation mit voller NVLink-Geschwindigkeit innerhalb eines einzelnen Knotens wie dem NVIDIA HGX™ A100 zu ermöglichen.

Mit der Kombination aus NVLink und NVSwitch war NVIDIA in der Lage, die KI-Leistung über mehrere GPUs hinweg effizient zu skalieren und MLPerf 0.6 zu gewinnen – den ersten branchenweiten KI-Benchmark.

Und so geht‘s?

Bis zu 4 moderne GPUs lassen sich mittels NVLink verbinden, das ist eine kostengünstige variante um eine virtuelle GPU zu schaffen die aus 4 physischen GPUs besteht.
Benötigt man mehr Leistung, führt der Weg über den NVSwitch, dieser nutzt den speziellen, für diesen Zweck entworfenen SXM Steckplatz, der sowohl die PCI-E Signale als auch die NVLink Signale direkt zum Switch überträgt und für die Leistungen ausgelegt ist, die man für hochperformante GPUs benötigt (2025 ist der Richtwert 1500W je GPU)

Wenn die Leistung nicht reicht?

Reicht ein einzelner Server nicht aus, können z.B. 8 Server im Rack gruppiert und mittels High-Speed Netzwerk (2025 sind das 400-800Gbit) verbunden werden, sie werden dann so konfiguriert, dass eine einzelne virtuelle GPU entsteht, jedoch mit der Leistung von 64 physischen GPUs.

Und noch die Spitzenklasse:

Speziell für Aufgaben im AI Bereich werden enorme Rechenleistungen erforderlich, heutige Installationen erreichen 100.000 GPUs und mehr (Eigenes Kraftwerk inklusive), diese bestehen aus vielen Racks, bestückt mit GPU-Server, verbunden über High-Speed Fabrics, so kann das ganze Rechenzentrum wie eine virtuelle GPU agieren.

NVIDIA NVSwitch

Quelle: https://www.nvidia.com/de-de/data-center/nvlink/

Mit der rasanten Verbreitung von Deep Learning ist auch der Bedarf an schneller und skalierbarer Vernetzung gestiegen. Dies liegt daran, dass sich die PCIe-Bandbreite bei Multi-GPU-Systemen oft als Engpass erweist. Die Skalierung von Deep-Learning-Workloads erfordert eine deutlich höhere Bandbreite und geringere Latenzzeiten.

NVIDIA NVSwitch stützt sich auf die fortschrittliche Kommunikationsfähigkeit von NVLink, um dieses Problem zu lösen. Für eine noch höhere Deep Learning-Leistung unterstützt eine GPU-Fabric mehrere GPUs auf einem einzigen Server, die über Verbindungen mit voller Bandbreite miteinander vernetzt sind. Jede GPU verfügt über 12 NVLinks zum NVSwitch, um eine Hochgeschwindigkeits-Rundumkommunikation zu ermöglichen.

Wie immer schon:

In der Vergangenheit, seit Mitte der 90er Jahre werden Prozessoren aktiv mit Lüftern gekühlt, bei einem 486er Prozessor hat da noch ein kleiner Kühlkörper von 10mm Höhe ausgereicht um mit dem im Gehäuse kaum vorhandenen Luftstrom gekühlt zu werden, danach wurden die Kühlkörper mit integriertem Ventilator immer größer, bis zu dem Punkt an dem diese Art der Kühlung technisch an die Grenzen gestoßen ist.

Wie immer schon:

Moderne CPUs haben einen TDP Wert von bis zu 500W, GPUs bis zu 1500W. Damit ist es technisch nicht mehr möglich alle Komponenten mit Luft zu kühlen, einerseits verliert man bis zu 30% der eingesetzten Energie an die Hochleistungslüfter welche die Wärme aus dem Gerät blasen die dann noch über Kältemaschinen mit noch mehr Energieaufwand ins Freie transportiert werden muss und ungenutzt verloren gehen. Nicht sehr effizient und mit Blick auf die Stromrechnung auch nicht günstig.

So geht’s besser:

Jeder weiß, will man etwas kühlen, verwendet man Wasser: Jedes moderne Auto mit Verbrennungsmotor macht das so.

Wieso ist das so? Nun, Wasserstoff hat die höchste Wärmespeicherkapazität – dummerweise lässt sich flüssiger Wasserstoff technisch nicht sinnvoll einsetzen, glücklicherweise besteht Wasser aber aus 2 Teilen Wasserstoff und einem Teil Sauerstoff, damit hat es zwar nur noch unter 30% der Fähigkeiten des Wasserstoffs, aber immer noch viel mehr als andere gängige Materialien, es kann also vergleichsweise viel Wärmeenergie bei geringer Erwärmung aufnehmen.

Gut für die Kühlung, schlecht für die Energierechnung für ein heißes Bad.

Für den gleichen Kühleffekt von einem Liter Wasser benötigt man theoretisch etwa 4m3 Luft, während das Wasser gemütlich plätschert, muss die Luft in hohem Tempo über Kühlkörper geblasen werden. In der Realität ist die Luftmenge noch größer, weil die Wärmeübertragung weniger effizient ist.

Luftkühlung

Source: https://store.supermicro.com/us_en/pub/media/catalog/

  • Leistung:
  • Gut für Standardanwendungen. Erfordert eine effektive Gehäusebelüftung.
  • Lautstärke:
  • Kann je nach Lüfterdrehzahl laut sein, insbesondere bei hoher Last.
  • Installation:
  • Einfach und unkompliziert.
  • Kosten:
  • Billiger zu kaufen.
  • Wartung:
  • Geringer Wartungsaufwand.
  • Ästhetik:
  • Funktional.
  • Lebensdauer:
  • Hochwertige Lüfter können über 10 Jahre halten.
  • Risiko:
  • Geringes Risiko.

Die Lösung:

Um eine optimale Ableitung der Hitze zu erreichen, verwendet man spezielle Wärmetauscher auf allen relevanten Komponenten (GPUs, CPUs, Speicher, Spannungsregler) und bekommt auf diese Weise die Wärme direkt in eine Flüssigkeit, die dann wiederum in einem Wärmetauscher die Energie in Wasser abgibt.

Das tolle daran ist, dass man nun „heißes“ Wasser mit ~60-70 Grad hat, welches man sinnvoll einsetzen kann, z.B. für Heizung oder Warmwasser. Hat kann die Möglichkeit nicht, kann an das heiße Wasser mit einem Kühlturm am Dach oder anderen Wärmetauschern ohne großen Energieeinsatz wieder soweit kühlen, damit es wieder für die Server verwendet werden kann, im Unterschied zur Luftkühlung welche Ansaugluft um die 20 Grad benötig kann das Wasser mit rund 40 Grad zurückkehren – damit braucht es auch im Sommer keine energiehungrigen Kältemaschinen.

Der Workaround:

Viele Rechenzentren in Europa sind in der 90ern stecken geblieben, Leistungen für ein Rack liegen nicht selten bei 5kW und „Liquid Cooling“ ist Englisch – eben ein Fremdwort.

Einen GPU Server kann man da nicht betreiben – mit 5kW kommt man nicht weit. Dafür haben wir keine Lösung, das muss der Rechenzentrumsbetreiber lösen. Aber für die Kühlthematik gibt’s eine Lösung: Einerseits haben moderne GPUs mit Luftkühlung einen reduzierten TDP Wert (Leider bedeutet weniger Energie auch weniger Rechenleistung bei gleichem Anschaffungspreis) und andererseits ist wie oben erwähnt die Luftbewegung nur durch hohen Energieverbrauch bei den Lüftern zu erreichen.

Unser Side-by-Side Rack enthält einen großen Wärmetauscher, der zwischen 2 GPU Racks betrieben wird, so können zwei „Direct Liquid Cooled“ Racks mit je 100kW Leistung mittels dieses „Side-by-Side“ Racks optimal gekühlt werden, man hat die volle GPU Leistung und in Summe weniger Stromverbrauch, es ist kein Umbau im Rechenzentrum erforderlich, die Wärmeenergie wird wie bei Servern in den Raum abgegeben, nur effizienter.

Flüssigkeitskühlung

Source: https://store.supermicro.com/us_en/pub/media/catalog/

  • Leistung:
  • Besser für Hochleistungssysteme, Übertaktung und schwere Arbeitslasten, da Wasser Wärme besser leitet als Luft.
  • Lautstärke:
  • Tendenziell leiser, da die Lüfter am Radiator mit geringerer Geschwindigkeit drehen können.
  • Installation:
  • Komplexer, erfordert mehr Zeit und Platz für Pumpe, Radiator und Schläuche.
  • Kosten:
  • Teurer, insbesondere bei individuellen Systemen.
  • Wartung:
  • Erfordert regelmäßige Wartung. Können Luftblasen entwickeln oder Flüssigkeit verlieren.
  • Ästhetik:
  • Kann sehr ansprechend gestaltet werden, insbesondere mit benutzerdefinierten Systemen und Beleuchtung.
  • Lebensdauer:
  • AIO-Systeme haben typischerweise eine Lebensdauer von 3–7 Jahren.
  • Risiko:
  • Geringes Leckrisiko, da die Flüssigkeit nicht leitend ist.