Hardwarekonfiguration und Netzwerkdesign für große GPU-Cluster

Hintergrund

Seit OpenAI ChatGPT eingeführt hat, haben große Sprachmodelle (LLMs) erhebliche Aufmerksamkeit erlangt und sich rasant weiterentwickelt. Viele Unternehmen investieren in das Vortraining von LLMs, um mit diesem Trend Schritt zu halten. Das Training eines LLMs im 100-B-Maßstab erfordert jedoch in der Regel erhebliche Rechenressourcen, wie z. B. Cluster mit Tausenden von GPUs. Beispielsweise trainiert das Modell der Falcon-Serie ein 180-B-Modell auf einem 4096 A100 GPU-Cluster und benötigt dabei fast 70 Tage für 3.5-T-Token. Mit dem weiteren Wachstum der Datenmengen steigt der Bedarf an Rechenleistung. Meta beispielsweise trainierte sein Modell der LLaMA3-Serie mit 15-T-Token auf zwei 24-K-H100-Clustern.

In diesem Artikel befassen wir uns mit den Komponenten und Konfigurationen, die beim Aufbau großer GPU-Cluster erforderlich sind. Wir behandeln verschiedene GPU-Typen, Serverkonfigurationen, Netzwerkgeräte (wie Netzwerkkarten, Switches und optische Module) und Netzwerktopologien für Rechenzentren (z. B. 3-Tier, Fat-Tree). Insbesondere untersuchen wir die Konfigurationen DGX A100 SuperPod und DGX H100 SuperPod von NVIDIA sowie gängige Topologien, die in Multi-GPU-Clustern verwendet werden.

Bedenken Sie, dass der Aufbau extrem großer GPU-Cluster ein äußerst komplexes Unterfangen ist und dieser Artikel nur an der Oberfläche kratzt. Bei der praktischen Clusterbereitstellung spielen Speichernetzwerke, Verwaltungsnetzwerke und andere Aspekte eine Rolle, aber wir werden hier nicht näher auf diese Details eingehen. Darüber hinaus variieren die Designs der Netzwerktopologie je nach Anwendungsszenario. Unser Schwerpunkt liegt auf baumbasierten Topologien, die häufig in großen KI-GPU-Clustern verwendet werden. Schließlich werden wir kritische Komponenten wie Stromversorgungssysteme und Kühlsysteme nicht behandeln, die für die Wartung und den Betrieb von GPU-Clustern unerlässlich sind.

Relevante Komponenten

GPUs

Die folgende Tabelle zeigt die GPUs der Ampere-, Hopper- und neuesten Blackwell-Serie. Beachten Sie, dass sich Speicherkapazität, Rechenleistung und NVLink-Funktionen schrittweise verbessern:

A100 -> H100: Die Rechenleistung bei FP16 erhöht sich um mehr als das Dreifache, während der Stromverbrauch nur von 3 W auf 400 W steigt.

H200 -> B200: Die FP16-Rechenleistung verdoppelt sich, wobei der Stromverbrauch von 700 W auf 1000 W steigt.

Die Rechenleistung des B200 FP16 ist etwa 7-mal so hoch wie die des A100, während der Stromverbrauch nur 2.5-mal höher ist.

Blackwell-GPUs unterstützen FP4-Präzision und bieten die doppelte Rechenleistung von FP8. Einige Vergleiche zwischen FP4 und Hoppers FP8-Architektur zeigen eine noch deutlichere Beschleunigung.

Beachten Sie, dass GB200 den vollständigen B200-Chip verwendet, während B100 und B200 entsprechende abgespeckte Versionen sind.

GB200 nutzt den vollständigen B200-Chip

HGX-Server

HGX ist ein Hochleistungsserver von NVIDIA, der normalerweise 8 oder 4 GPUs enthält, normalerweise gepaart mit Intel- oder AMD-CPUs, und NVLink und NVSwitch verwendet, um eine vollständige Verbindung zu erreichen (8 GPUs sind normalerweise die Obergrenze der vollständigen NVLink-Verbindung, mit Ausnahme von NVL). und SuperPod).

Von HGX A100 -> HGX H100 und HGX H200 erhöhte sich die Rechenleistung des FP16 um das 3.3-fache, während der Stromverbrauch weniger als das Zweifache betrug.

Von HGX H100 und HGX H200 -> HGX B100 und HGX B200 stieg die dichte Rechenleistung des FP16 um etwa das Zweifache, während der Stromverbrauch ähnlich ist, höchstens nicht mehr als 2 %.

Es ist darauf hinzuweisen, dass:

Das Netzwerk von HGX B100 und HGX B200 wurde grundsätzlich nicht aktualisiert und die IB-Netzwerkkarte beträgt immer noch 8 x 400 Gb/s.

HGX B100 und HGX B200

NVIDIA DGX und HGX sind zwei Hochleistungslösungen, die für Deep Learning, künstliche Intelligenz und große Rechenanforderungen entwickelt wurden. Sie unterscheiden sich jedoch in Design und Zielanwendungen:

DGX:

Richtet sich an allgemeine Verbraucher.

Bietet Plug-and-Play-Hochleistungslösungen.

Wird mit umfassender Softwareunterstützung geliefert, einschließlich NVIDIAs Deep-Learning-Software-Stack, Treibern und Tools.

Typischerweise vorgefertigte und geschlossene Systeme.

HGX:

Zielt auf Cloud-Service-Provider und Betreiber großer Rechenzentren ab.

Geeignet für den Aufbau individueller Hochleistungslösungen.

Bietet modulares Design, sodass Kunden die Hardware entsprechend ihren Anforderungen anpassen können.

Normalerweise als Hardwareplattform oder Referenzarchitektur bereitgestellt.

Zum Thema Vernetzung:

Networking mit anderen Teilnehmern

Netzwerkkarten

Wir konzentrieren uns auf ConnectX-5/6/7/8, die Hochgeschwindigkeits-Netzwerkkarten von Mellanox.

Diese Karten unterstützen sowohl Ethernet als auch InfiniBand (IB).

ConnectX-5 wurde 2016 veröffentlicht, gefolgt von ConnectX-6 im Jahr 2020, ConnectX-7 im Jahr 2022 und ConnectX-8, das von Jensen Huang während der GTC-Konferenz 2024 vorgestellt wurde (detaillierte Spezifikationen sind jedoch noch nicht verfügbar).

Mit jeder Generation verdoppelt sich die Gesamtbandbreite ungefähr, und die nächste Generation wird schätzungsweise 1.6 Tbit/s erreichen.

Netzwerkkarten

Switches

NVIDIA bietet außerdem Switches für Ethernet und InfiniBand (IB). Diese Switches verfügen häufig über Dutzende oder sogar Hunderte von Ports, was einem Gesamtdurchsatz (Bidirectional Switching Capacity) entspricht, der sich aus der maximalen Bandbreite multipliziert mit der Anzahl der Ports errechnet, wobei die „2“ für bidirektionale Kommunikation steht.

Ethernet-Switche der Spectrum-X-Serie

Ethernet-Switche der Spectrum-X-Serie

InfiniBand-Switches der Quantum-X-Serie:

Diese Switches bieten einen Durchsatz von 400 Gb/s.

Sie zeichnen sich durch Spitzenleistungen im Bereich High-Performance-Computing (HPC), KI und Hyperscale-Cloud-Infrastrukturen aus.

Quantum-X-Switches bieten robuste Leistung bei minimierter Komplexität und Kosten.

Zusätzlich zu Mellanox-Switches verwenden viele Rechenzentren neben herkömmlichen Optionen mittlerweile auch modulare Switches (wie die Arista 7800-Serie). So hat Meta beispielsweise kürzlich zwei GPU-Cluster mit 24K H100-GPUs unter Verwendung von Arista 7800-Switches gebaut. Die 7800-Serie umfasst modulare Switches wie den 7816LR3 und den 7816R3, die 576 Ports mit 400G Hochgeschwindigkeitsbandbreite bereitstellen können. Diese Switches verwenden effiziente interne Busse oder Switch-Backplanes für die Datenübertragung und -verarbeitung mit geringer Latenz.

Modularer Schalter

Optische Module

Optische Module spielen bei der Glasfaserkommunikation eine entscheidende Rolle. Sie wandeln elektrische Signale in optische Signale um, die dann über Glasfasern übertragen werden. Diese Module bieten höhere Übertragungsraten, größere Entfernungen und eine höhere Immunität gegen elektromagnetische Störungen. Normalerweise besteht ein optisches Modul aus einem Sender (zur Umwandlung elektrischer in optische Signale) und einem Empfänger (zur Umwandlung optischer in elektrische Signale).

Optische Module

Zwei häufig verwendete Schnittstellentypen für optische Module sind:

SFP (Small Form-factor Pluggable): SFP-Module arbeiten normalerweise als einzelne Übertragungskanäle (unter Verwendung einer Faser oder eines Faserpaars).

QSFP (Quad Small Form-factor Pluggable): QSFP-Module unterstützen mehrere Übertragungskanäle. QSFP-DD (Double Density) verbessert die Portdichte zusätzlich durch die Verwendung von 8 Kanälen.

Vor kurzem wurde das OSFP-Gehäuse (Octal Small Form-factor Pluggable) eingeführt, das speziell für Szenarien mit hoher Bandbreite wie 400 Gbit/s und 800 Gbit/s entwickelt wurde. OSFP-Module haben 8 Kanäle und sind etwas größer als QSFP-DD. Sie sind nicht mit SFP- und QSFP-Schnittstellen kompatibel und erfordern Konverter. Das folgende Diagramm veranschaulicht 400 Gbit/s OSFP-Module für unterschiedliche Übertragungsdistanzen (100 m, 500 m, 2 km und 10 km).

Bei unterschiedlichen Entfernungen können Sie zwischen folgenden Modulen wählen:

Zwischen Kern- und Rückenschicht: Verwenden Sie 10 km 400 G LR4 oder 800 G 2 x LR4.

Zwischen Spine- und Leaf-Ebenen: Entscheiden Sie sich für 2 km 400G FR4.

Zwischen Leaf und ToR (Top of Rack): Wählen Sie 500 m 400G DR-Module.

400G DR

Topologie des Data Center Network (DCN)

Grundlegende Konzepte

Nord-Süd-Verkehr: Bezieht sich auf den Verkehr, der von außerhalb des Rechenzentrums kommt. Dazu gehört nicht nur der internetbezogene Verkehr, sondern auch der Verkehr zwischen verschiedenen Rechenzentren.

Ost-West-Verkehr: Bezieht sich auf den Verkehr innerhalb desselben Rechenzentrums. Er umfasst beispielsweise die Kommunikation zwischen verschiedenen Servern innerhalb des Rechenzentrums. In modernen Rechenzentren macht diese Art von Verkehr typischerweise einen erheblichen Anteil aus, oft 70 % bis 80 % des Gesamtverkehrs.

Gängige Data Center Network (DCN)-Topologien werden im folgenden Diagramm dargestellt.

Rechenzentrumsnetzwerk

Mehrschichtige DCN-Architektur

Mehrschichtige DCN-Architekturen sind weit verbreitet, insbesondere die dreischichtige DCN-Architektur. Diese baumbasierte Struktur verwaltet hauptsächlich den Nord-Süd-Verkehr und besteht aus drei Schichten:

  • Kernschicht: Die Kernschicht besteht normalerweise aus Routern oder Switches mit hoher Kapazität.
  • Aggregationsschicht (Verteilungsschicht): Verantwortlich für die Verbindung von Geräten der Zugriffsschicht und die Bereitstellung von Routing, Filterung und Verkehrstechnik zwischen ihnen.
  • Zugriffsebene: Auf der Zugriffsebene stellen Endbenutzergeräte eine direkte Verbindung zum Netzwerk her, wodurch die Verbindung der Benutzergeräte mit dem Rechenzentrumsnetzwerk erleichtert wird.
Mehrschichtige DCN-Architektur

In dieser Architektur wird im Allgemeinen davon ausgegangen, dass nicht alle Zugriffsgeräte gleichzeitig mit maximaler Bandbreite kommunizieren. Daher ist es gängige Praxis, je weiter wir in der Hierarchie nach oben gehen, eine geringere Gesamtbandbreite zuzuweisen. Beispielsweise könnte die Gesamtbandbreite auf der Zugriffsebene 20 Gbit/s betragen, während die Gesamtbandbreite der Verteilungsebene nur 1 Gbit/s beträgt. In Extremfällen, wenn alle Geräte mit maximaler Bandbreite kommunizieren, kann dies zu Blockierungen, erhöhter Latenz und unvorhersehbaren Verzögerungen führen. Diese Situation wird oft als Überbuchung bezeichnet, wobei das Verhältnis (z. B. 20:1) die Überbuchungsrate angibt.

Innerhalb dieser Architektur sind normalerweise Redundanz- oder Backup-Mechanismen vorhanden. Switches zwischen den Kern- und Verteilungsschichten können miteinander verbunden sein, wodurch möglicherweise Schleifen entstehen. Um Schleifen zu vermeiden, werden Spanning Tree-Protokolle (wie das Spanning Tree Protocol, STP) verwendet. Dies kann jedoch auch zu einer Verschwendung von Bandbreite aufgrund von Redundanz führen.

CLOS-Netzwerke

CLOS-Netzwerke sind eine mehrstufige Schaltnetzstruktur, die erstmals 1953 von Charles Clos vorgeschlagen wurde. Obwohl sie ursprünglich für Telefonzentralen verwendet wurden, werden ihre Prinzipien und ihr Design heute häufig in Rechenzentren und bei Hochleistungsrechnern eingesetzt. Die Kernidee besteht darin, Netzwerkdienste mit hoher Bandbreite und geringer Latenz durch eine mehrstufige, miteinander verbundene Struktur bereitzustellen und gleichzeitig die Skalierbarkeit aufrechtzuerhalten.

Wie im folgenden Diagramm dargestellt, bestehen CLOS-Netzwerke typischerweise aus drei Schichten:

Ingress-Schicht: Verantwortlich für den Empfang externer Eingangssignale.

Mittlere Schicht: Verbindet die Eingangsschicht mit den Switches der Ausgangsschicht.

Ausgangsschicht: Verantwortlich für das Senden von Daten an das endgültige Ziel.

CLOS-Netzwerke

CLOS-Netzwerke bieten die folgenden Funktionen und Vorteile:

Blockierungsfrei: Im Idealfall ist ein CLOS-Netzwerkdesign blockierungsfrei (ohne Konvergenz), was bedeutet, dass aufgrund von Switch-Engpässen keine Verzögerungen oder Verluste bei der Datenübertragung auftreten.

Skalierbarkeit: Durch das Hinzufügen weiterer Schichten und Switches können CLOS-Netzwerke problemlos skaliert werden, um zusätzliche Eingangs- und Ausgangsverbindungen zu unterstützen, ohne dass die Leistung darunter leidet.

Redundanz: Die mehreren Pfade des Designs ermöglichen die Datenübertragung über alternative Routen, selbst wenn bestimmte Switches oder Verbindungen ausfallen, wodurch die allgemeine Netzwerkzuverlässigkeit verbessert wird.

Flexibilität: CLOS-Netzwerke unterstützen verschiedene Konfigurationen, um unterschiedlichen Systemgrößen und Leistungsanforderungen gerecht zu werden.

Fat-Tree-Topologie

Die Fat-Tree-Architektur für Rechenzentrumsnetzwerke (DCN) ist eine spezielle Form des CLOS-Netzwerks. Sie wird häufig in Hochleistungsrechnern und großen Rechenzentren eingesetzt.

Charles Leiserson führte diese Netzwerktopologie 1985 ein. Im Gegensatz zu den herkömmlichen 3-Tier-Baumnetzwerken weist die Fat-Tree-Topologie einige einzigartige Merkmale auf:

Alle Layer-Switches werden durch kostengünstige Switches ersetzt.

Wenn wir uns in der Hierarchie nach oben bewegen, werden die Verbindungen „dicker“, sodass eine konstante Gesamtbandbreite zwischen den Schichten erhalten bleibt und Engpässe vermieden werden.

Die Anzahl der Switches und ihre Verbindungen sind auf jeder Ebene symmetrisch. Dadurch werden ausgewogene Pfade für Geräte sichergestellt und einzelne Fehlerquellen minimiert.

Fat-Tree-Topologien

Maximierung der End-to-End-Bandbreite: Das Hauptziel der Fat-Tree-Architektur besteht in der Maximierung der End-to-End-Bandbreite. Sie erreicht ein Überbuchungsverhältnis von 1:1, was zu einem nicht blockierenden Netzwerk führt.

Anzahl der Switches und Portkonfiguration:

In einer K-Port-Fat-Tree-Netzwerktopologie (wobei K die Anzahl der Ports pro Switch ist) haben alle Switches normalerweise die gleiche Anzahl an Ports.

Lassen Sie uns die 2- und 3-Schicht-Fat-Tree-Topologien untersuchen:

2-Schicht-Fat-Tree-Topologie:

Spine-Switches: K/2-Switches, jeweils mit K*(K/2) Ports.

Leaf-Switches: K-Switches, jeweils mit K*K-Ports.

Diese Konfiguration ermöglicht maximal KK/2-Server in einem nicht blockierenden Netzwerk und erfordert 3K/2-Netzwerk-Switches.

3-Schicht-Fat-Tree-Topologie:

Core-Switches (Super Spine Switches): (K/2)^2 Switches, jeder mit K*(K/2)^2 Ports.

Spine-Switches: 2*(K/2)^2 Switches, jeweils mit K2(K/2)^2 Ports.

Leaf-Switches: 2*(K/2)^2 Switches, jeweils mit K2(K/2)^2 Ports.

Dieses Design unterstützt maximal K2(K/2)^2/2 = K^3/4 Server in einem nicht blockierenden Netzwerk und erfordert 5*K^2/4 Switches.

2- und 3-Schicht-Fat-Tree-Topologien

Sowohl bei 2- als auch bei 3-Schicht-Fat-Tree-Topologien folgen die Switch-Anzahl und Port-Konfigurationen bestimmten Mustern.

Beachten Sie, dass es Unterschiede in der Terminologie gibt (z. B. Fat-Tree vs. Spine-Leaf), wir werden sie jedoch alle unter dem Begriff Fat-Tree betrachten.

NVIDIA DGX SuperPod – A100

DGX A100 System

Das DGX A100-System ist, wie im Diagramm unten dargestellt, eine 6U-Konfiguration mit den folgenden Komponenten:

8*A100 GPUs: Jede GPU bietet 600 GB/s NVLink-Bandbreite.

Gesamte NVSwitch-Bandbreite: Das System erreicht eine NVSwitch-Bandbreite von insgesamt 4.8 TB/s mit 640 GB HBM2-Speicher (80 GB pro GPU).

Compute Connections (IB): Es gibt 8 ConnectX-6-Netzwerkkarten, die zusammen eine Gesamtbandbreite von 8 x 200 Gbit/s bieten.

Speicherverbindungen (IB): 2 Verbindungen für die Speicherung.

In-Band-Verbindung (Ethernet): Wird für die interne Kommunikation verwendet.

Out-Band-Verbindung (Ethernet): Für Verwaltungszwecke.

DGC A100-System

Insbesondere wird die NVLink-Bandbreite in Bytes gemessen, während die Netzwerkbandbreite normalerweise in Bits angegeben wird. In diesem System erreicht die interne Bandbreite 4.8 TB/s, während die gesamte Netzwerkbandbreite 1.6 Tbps beträgt, was einen 24-fachen Unterschied ergibt.

DGX A100 System

SuperPod SU

Der in der Abbildung dargestellte SuperPod SU (Scalable Unit) dient als grundlegender Baustein für den Aufbau des DGX-SuperPod-A100. Hier sind seine Hauptkomponenten:

Jede SU umfasst 5 Compute-Racks und 1 Leaf-Network-Rack.

Jedes Compute Rack enthält 4 DGX A100-Systeme und 2 3U Power Distribution Units (PDUs), insgesamt also 32 A100 GPUs pro Compute Rack. Somit umfasst eine SU 160 A100 GPUs.

Das Leaf-Netzwerk-Rack enthält 8 Compute-Switches (1U) und 2 Storage-Switches (1U).

Compute Switches nutzen QM8790 200 Gb/s IB-Switches, was insgesamt 320 Ports ergibt:

160 Ports stellen eine Verbindung zu den ConnectX-6-Netzwerkkarten in den Compute Racks her und bieten 200 Gbit/s pro GPU.

Die restlichen 160 Ports stellen eine Verbindung zum Spine Rack her.

SU-Rack-Erhöhungen

In einigen Szenarien können auch Top-of-Rack (ToR)-Switches in einem Schrank verwendet werden, um die Verkabelung zu vereinfachen. Dieser Ansatz kann jedoch zu Portverschwendung führen. Beispielsweise sind GPU-Server aufgrund von Strombeschränkungen und Kühlungsproblemen oft auf einen einzigen Schrank beschränkt, was die Anzahl der Netzwerkkarten reduziert.

GPU-Server

Bitte beachten Sie, dass in einigen industriellen Szenarien innerhalb eines 4*A200-Systems möglicherweise weniger Netzwerkkarten verwendet werden (z. B. 8×100 Gbit/s), die allgemeine Netzwerktopologie jedoch ähnlich bleibt.

Wirbelsäulenständer

Wie in der Abbildung dargestellt, enthält ein Spine Rack 20 1U Compute Switches, insbesondere QM8790 200 Gb/s IB Switches, mit insgesamt 800 Ports. Die verbleibenden Out-of-Band Switches und In-Band Switches können für die Netzwerkverwaltung verwendet werden.

Wirbelsäulenständererhöhungen

DGX SuperPod 100-Knoten

Die folgende Abbildung zeigt einen 100-Knoten-DGX-SuperPOD, bestehend aus 5 SUs und einem zusätzlichen Spine Rack.

Jede SU umfasst 8 Leaf Compute Switches (QM7890, 200 Gbit/s).

Die 8 ConnectX-6-NICs jedes Knotens sind mit 8 Leaf Compute Switches verbunden, wobei jeder ConnectX-6 einer GPU entspricht.

Die Leaf Compute Switches verfügen über 20 Ports, die eine Verbindung zu 20 Knoten innerhalb der SU herstellen, und weitere 20 Ports, die eine Verbindung zu den 20 Spine Compute Switches im Spine Rack herstellen.

Compute Fabric-Topologie für 100 Knoten-System

Mit dieser Topologie wird ein nicht blockierendes Netzwerk für 800 GPUs erreicht (jede der beiden GPUs kann kommunizieren):

GPUs von verschiedenen SUs werden verbunden über: ConnectX-6 -> Leaf Switch -> Spine Switch -> Leaf Switch -> ConnectX-6.

GPUs innerhalb derselben SU, aber unterschiedlicher Knoten werden über ConnectX-6 -> Leaf Switch -> ConnectX-6 verbunden.

GPUs innerhalb desselben Knotens kommunizieren über NVLink.

Die praktische Grenze für 800 GPUs (jede GPU entspricht einem 200-Gbit/s-NIC-Port) bei Verwendung von QM8790 ist ein 2-stufiges Fat-Tree-Netzwerk. Über 800 GPUs hinaus wäre ein 3-stufiges Fat-Tree-Netzwerk erforderlich, das bis zu 16,000 GPUs zulässt.

DGX SuperPod 140-Knoten

In einem 100-Knoten-System, in dem alle Compute Switch-Ports belegt sind, erfordert die Erweiterung auf mehr GPUs den Übergang von 2-Schicht- zu 3-Schicht-Switches. Dazu muss eine Core Compute Switch-Schicht hinzugefügt werden, wobei weiterhin QM8790 mit 200 Gbit/s verwendet wird.

Die Abbildung zeigt einen SuperPod mit 140 Knoten und 7 SUs, insgesamt also 56 Leaf Switches. Idealerweise würden 56 Leaf Switches 56 Spine Switches und 28 Core Switches erfordern. Das tatsächliche Design verwendet jedoch 80 Spine Switches, die in 8 Gruppen (SG) mit jeweils 10 Spine Switches und jeder Core Group (CG) mit 14 Core Switches organisiert sind. Diese symmetrische Fat-Tree-Topologie vereinfacht die Verwaltung.

Jeder Leaf Switch in einer SU verbindet sich mit 10 Spine Switches in der entsprechenden SG (20 Ports pro Leaf Switch). Spine Switches wechseln sich mit Core Switches ab (ungerade Positionen mit ungeraden Core Switches, gerade Positionen mit geraden Core Switches).

Jeder Core Switch ist mit 40 Spine Switches verbunden.

140-Knoten-GHX-SuperPOD

Diese Konfiguration unterstützt einen 140*8=1120 GPU-Cluster, wobei jede GPU über eine ConnectX-6 200 Gbps NIC verfügt.

Storage Rack

Wie in der Abbildung unten dargestellt, enthält ein Storage Rack 4 Storage Switches, außerdem QM8790 200 Gbps IB Switches, mit insgesamt 160 Ports. Die entsprechenden Storage-Einheiten sind ebenfalls im Rack vorhanden.

Lagerregalerhöhungen

DGX SuperPod-Speichergewebe

Die Abbildung zeigt das Storage Fabric für die 140-Knoten-Konfiguration. Es besteht aus 18 Leaf Switches. Jede SuperPod SU (Scalable Unit) enthält 2 Leaf Network Racks und 1 Storage Rack. Zusätzlich gibt es 8 Spine Switches.

Storage Fabric-Topologie für 140-Knoten-System

Zusätzliche Konfigurationen

Tabelle 3 enthält Einzelheiten zu den Compute-Konfigurationen für verschiedene Knoten.

Berechnen Sie die Anzahl der Fabric-Switche und Kabel

Tabelle 4 zeigt die Speicherkonfigurationen.

Speichergewebe zählt

NVIDIA DGX SuperPod – H100

DGX H100-System

Das abgebildete DGX H100-System (6U) umfasst:

  • 8 H100-GPUs, jede mit 900 GB/s NVLink-Bandbreite.
  • Insgesamt 7.2 TB/s NVSwitch-Bandbreite und 640 GB HBM3-Speicher (80 GB pro GPU).
  • 4 OSFP-Ports (IB) entsprechend 8 ConnectX-7-NICs, die eine Bandbreite von 8*400 Gbit/s bieten.
  • Steckplätze 1 und 2 mit 2 ConnectX-7-NICs, die eine Bandbreite von 2*400 Gbit/s bieten.
  • Eine In-Band-Verbindung (Ethernet).
DGX H100-System
Das DGX H100 System (6U)

Alle 8 GPUs sind über NVSwitch vollständig miteinander verbunden. Die interne Bandbreite erreicht 7.2 TB/s, während die gesamte Netzwerkbandbreite 3.2 Tbps beträgt, ein Unterschied von 22.5 Mal.

SuperPod SU

Abbildung 2 zeigt den grundlegenden Baustein des DGX-SuperPod-H100, bekannt als SuperPod SU:

  • Jede SU enthält 8 Compute-Racks, wobei jedes Rack 40 kW bereitstellt.
  • Jedes Compute Rack enthält 4 DGX H100-Systeme und 3 PDUs (Power Distribution Units), was 32 H100-GPUs pro Compute Rack ergibt. Somit bietet eine SU Platz für 256 H100-GPUs.
komplettes einzelnes SU-Rack-Layout

Verwaltungsrack

Im DGX SuperPod, das den H100-GPUs entspricht, bietet NVIDIA ein Management Rack an, das den Spine- und Storage Racks der A100-Serie ähnelt. Abbildung 3 zeigt ein Beispiel (spezifische Konfigurationen können abweichen):

  • 32 Leaf Compute Switches (QM9700) bieten jeweils 64 400-Gbit/s-Ports. Theoretisch stehen 1024 400-Gbit/s-Ports zur Verfügung, um eine Verbindung zu den ConnectX-7-NICs auf den Knoten herzustellen. Die verbleibenden 1024 Ports verbinden sich genau mit 16 Spine Compute Switches, wodurch ein nicht blockierendes Netzwerk für 1024 GPUs erreicht wird.
  • 16 Spine Compute Switches (auch QM9700) verbinden sich mit der Hälfte der Ports von 32 Leaf Compute Switches.
  • 8 Leaf Storage Switches (QM9700) sind Teil des Setups.
  • 4 Spine Storage Switches (QM9700) vervollständigen die Konfiguration.
Management-Rack-Konfiguration

DGX SuperPod 127-Knoten

Abbildung 5 zeigt einen DGX SuperPod mit 127 Knoten, 4 skalierbaren Einheiten (SUs) und einem zugehörigen Management Rack. Theoretisch kann das Management Rack über die 128 SUs eine Verbindung zu den 4 Knoten herstellen. Da jedoch einige Leaf Switches mit dem Unified Fabric Manager (UFM) verbunden sind, beträgt die tatsächliche Anzahl der Knoten 127.

127 Knoten

Zusätzliche Konfigurationen

Wie in Tabelle 3 gezeigt, kann ein 9700-Level-Fat-Tree mit QM2-Switches ein nicht blockierendes Netzwerk für bis zu 6464/2=2048 GPUs (entspricht 8 SUs) erreichen. Ein 3-Level-Fat-Tree kann bis zu 6464*64/4=65536 GPUs unterstützen. In der Praxis umfasst die Konfiguration 64 SUs, insgesamt also 16384 GPUs.

Große Superpod-Komponentenzählungen

GPU-Schulungsclusterlösungen für die Branche

Zweistufige Fat-Tree-Topologie

Die übliche zweistufige, nicht blockierende Fat-Tree-Topologie (Spine-Leaf) ist für Trainingsmaschinen mit 8 GPUs vorherrschend. Innerhalb einer einzelnen Maschine sind die 8 GPUs über NVLink + NVSwitch vollständig miteinander verbunden, wobei die Kommunikationsbandbreite deutlich höher ist als die Netzwerkbandbreite. Daher ist es gängige Praxis, die Netzwerkkarte jeder GPU an unterschiedliche Switches anzuschließen:

Jede Gruppe enthält 8 Leaf-Switches, die den 8 GPUs in einer Maschine entsprechen.

Angenommen, ein Leaf Switch hat 128 Ports, dann sind 64 Ports mit den entsprechenden NICs der GPUs verbunden, was 64*8=512 GPUs pro Gruppe ergibt. Leaf Switch 1 verbindet alle NICs der GPUs von Node 1 und so weiter.

Diese Funktion kann beim Entwerfen verteilter Trainingsstrategien genutzt werden.

Um ein Full Mesh zwischen Spine- und Leaf-Switches zu erreichen, wird jeder Leaf-Switch mit einem Spine-Switch verbunden. Somit gibt es 64 Spine-Switches und jeder Spine-Switch wird mit allen 128 Leaf-Switches verbunden. Dies erfordert 16 Gruppen.

Zusammenfassend können maximal 192 Switches mit jeweils 128 Ports 512*16=8192 GPUs unterstützen.

Zweistufige Fat-Tree-Topologie

FiberMall Zwei-Ebenen-Fat-Tree-Topologie

Die FiberMall-Standardlösung für zweistufiges Fat-Tree ähnelt der zuvor beschriebenen Topologie. Sie verwendet jedoch 64-Port-Switches.

FiberMall Zwei-Ebenen-Fat-Tree-Topologie

Dank der 64-Port 400 Gbit/s Switches:

Leaf- und Spine-Switches werden halbiert (64 bzw. 32).

Die GPU-Unterstützung reduziert sich auf 1/4, was zu 2*(64/2)*(64/2)=2048 GPUs führt.

Die Gesamtzahl der optischen Module umfasst Switch-Ports und GPU-NICs: (64+32)*64+2048=8192.

Dreistufige Fat-Tree-Topologie

Die gängige dreistufige, nicht blockierende Fat-Tree-Topologie (SuperSpine-Spine-Leaf) behandelt das zweistufige Spine-Leaf als Pod.

Da Spine Switches auch mit SuperSpine Switches verbunden sind, halbiert sich die Anzahl der Gruppen. Jeder Pod verfügt über 64 Spine Switches, was 4096 GPUs entspricht.

Mehrere Pods können darüber hinaus 64 SuperSpine Fabrics bilden, die jeweils vollständig mit Spine Switches aus verschiedenen Pods verbunden sind. Bei 8 Pods beispielsweise benötigt jede Fabric nur 4 SuperSpine Switches mit 128 Ports.

Die Konfiguration für 8 Pods umfasst:

  • GPUs insgesamt: 4096*8=32768
  • SuperSpine-Switches: 64*4=256
  • Spine-Schalter: 64*8=512
  • Blattschalter: 64*8=512
  • Gesamtzahl der Schalter: 256+512+512=1280
  • Gesamtzahl optischer Module: 1280*128+32768=196608

Das theoretische Maximum unterstützt 128 Pods, entsprechend:

  • GPUs: 4096128=524288=2(128/2)^3
  • SuperSpine Switches: 64*64=4096=(128/2)^2
  • Spine Switches: 64128=8192=2(128/2)^2
  • Leaf Switches: 64128=8192=2(128/2)^2
  • Total Switches: 4096+8192+8192=20480=5*(128/2)^2

Hinterlasse einen Kommentar

Nach oben scrollen