Deutsch

Grundlagen des GPU-Computing-2

Veröffentlicht am 27. Dez 2023 by
413

Es ist allgemein bekannt, dass das Training großer Modelle auf Clustern von Maschinen mit möglichst vielen GPUs pro Server erfolgt. Im vorherigen Artikel Grundlagen des GPU-Computing-1haben wir allgemeine Begriffe und Konzepte in GPU-Netzwerken eingeführt. In diesem Artikel werden wir die Behandlung der gängigen GPU-Architekturen fortsetzen.

8x NVIDIA A100 GPU Node/8x NVIDIA A800 GPU Node

Typische 8-Karten-A100-Host-Hardware-Topologie

Wie im obigen Topologie-Diagramm der A100 GPU dargestellt, umfasst die Topologie von 8 A100 GPUs die folgenden Komponenten:

  • 2 CPU-Chips (und zugehöriger Speicher auf beiden Seiten, NUMA): Die zentrale Recheneinheit ist für allgemeine Rechenaufgaben zuständig.

  • 2 Speichernetzwerkkarten (für den Zugriff auf verteilten Speicher, mit In-Band-Management usw.): Diese Netzwerkkarten werden für den Zugriff auf den verteilten Speicher verwendet.

  • 4 PCIe Gen4 Switch Chips: PCIe Gen4 ist die vierte Generation der PCIe-Schnittstelle und bietet höhere Datenübertragungsraten.

  • 6 NVSwitch Chips: NVSwitch ermöglicht eine direkte GPU-zu-GPU-Kommunikation mit extrem hohen Geschwindigkeiten, was für den effizienten Betrieb von großen Deep-Learning-Modellen und gleichzeitigen Berechnungen entscheidend ist.

  • 8 GPUs: TDie A100 GPUs sind die primären Verarbeitungseinheiten, die für die Ausführung paralleler Berechnungen verantwortlich sind und sich besonders gut für Deep-Learning eignen.

  • 8 GPU-dedizierte Netzwerkkarten: Jede GPU verfügt über eine dedizierte Netzwerkkarte, um die Kommunikation zwischen den GPUs zu optimieren und die Gesamtleistung paralleler Verarbeitungsaufgaben zu verbessern.

Wir werden diese Komponenten in den folgenden Abschnitten ausführlich erläutern.

Die folgende Abbildung enthält detailliertere Topologie-Informationen als Referenz.

NVIDIA DGX A100 Host (offizielle 8-Karten-Maschine) Hardware-Topologie

Speichernetzwerkkarte

Die Positionierung der Speichernetzwerkkarte in der GPU-Architektur bezieht sich in erster Linie auf ihre Verbindung mit der Zentraleinheit (CPU) über den PCIe-Bus und ihre Aufgabe, die Kommunikation mit verteilten Speichersystemen zu ermöglichen. Im Folgenden werden die Hauptaufgaben der Speichernetzwerkkarte in der GPU-Architektur erläutert:

  • Lesen und Schreiben verteilter Speicherdaten: Eine der Hauptfunktionen der Speichernetzwerkkarte ist das effiziente Lesen und Schreiben von Daten aus und in verteilte Speichersysteme. Dies ist von entscheidender Bedeutung für den Trainingsprozess von Deep-Learning-Modellen, bei dem der häufige Zugriff auf Trainingsdaten aus verteilten Speichern und das Schreiben von Trainingsergebnissen in Checkpoint-Dateien unerlässlich ist.

  • Aufgaben der Knotenverwaltung: Die Speichernetzkarte beschränkt sich nicht nur auf die Datenübertragung, sondern umfasst auch Aufgaben der Knotenverwaltung. Dazu gehören Aufgaben wie Remote-Login über SSH (Secure Shell), die Überwachung der Systemleistung und die Erfassung relevanter Daten. Diese Aufgaben tragen zur Überwachung und Aufrechterhaltung des Betriebsstatus von GPU-Clustern bei.

Obwohl BF3 DPU offiziell empfohlen wird, können in der Praxis auch alternative Lösungen gewählt werden, solange sie die Bandbreitenanforderungen erfüllen. Aus Gründen der Kosteneffizienz kann beispielsweise RoCE in Betracht gezogen werden, während zur Maximierung der Leistung InfiniBand die bessere Wahl ist.

NVSwitch Fabric

In einer Full-Mesh-Netzwerktopologie ist jeder Knoten direkt mit allen anderen Knoten verbunden. Normalerweise sind 8 GPUs in einer Full-Mesh-Konfiguration über sechs NVSwitch Chips verbunden, die auch als NVSwitch Fabric bezeichnet werden.

In der Full-Mesh-Struktur hängt die Bandbreite jeder Leitung von der Bandbreite pro NVLink-Lane ab, dargestellt als n * bw-per-nvlink-lane. Für die A100-GPU, die die NVLink3-Technologie mit einer Bandbreite von 50 GB/s pro Lane nutzt, beträgt die Gesamtbandbreite jeder Leitung in der Full-Mesh-Struktur 12 * 50 GB/s = 600 GB/s. Dabei ist zu beachten, dass diese Bandbreite bidirektional ist und sowohl Datenübertragung als auch -empfang unterstützt, was eine unidirektionale Bandbreite von 300 GB/s ergibt.

Im Gegensatz dazu reduziert die A800-GPU die Anzahl der NVLink-Lanes von 12 auf 8. Folglich beträgt in der Full-Mesh-Struktur die Gesamtbandbreite jeder Leitung 8 * 50 GB/s = 400 GB/s, mit einer unidirektionalen Bandbreite von 200 GB/s.

Unten sehen Sie die nvidia-smi-Topologie für einen 8*A800-Rechner.

nvidia-smi-Topologie für einen 8*A800-Rechner

    • GPU-zu-GPU-Verbindungen (oberer linker Bereich):

Alle werden als NV8 bezeichnet, was für 8 NVLink-Verbindungen steht.

    • NIC-Verbindungen:

Auf demselben CPU-Chip: Als NODE gekennzeichnet, was bedeutet, dass keine NUMA-Verbindungen erforderlich sind, aber PCIe-Switch-Chips gekreuzt werden müssen.

Auf verschiedenen CPU-Chips: Mit SYS gekennzeichnet, was bedeutet, dass NUMA gekreuzt werden muss.

    • GPU-zu-NIC-Verbindungen:

Auf demselben CPU-Chip und unter demselben PCIe-Switch-Chip: Bezeichnet als NODE, was darauf hinweist, dass nur PCIe-Switch-Chips gekreuzt werden müssen.

Auf demselben CPU-Chip, aber nicht unter demselben PCIe-Switch-Chip: Bezeichnet als NNODE, was darauf hinweist, dass sowohl PCIe-Switch-Chips als auch die PCIe-Host-Bridge gekreuzt werden müssen.

Auf verschiedenen CPU-Chips: Mit SYS gekennzeichnet, was darauf hinweist, dass NUMA und PCIe-Switch-Chips gekreuzt werden müssen und die längste Strecke zurückgelegt werden muss.

IDC GPU Fabric

Die folgende Abbildung zeigt die Verbindungsarchitektur von GPU-Knoten:

GPU-Knoten-Verbindungsarchitektur

Compute-Network

Das Compute-Netzwerk wird in erster Linie zur Verbindung von GPU-Knoten verwendet, um die Zusammenarbeit bei parallelen Berechnungen zu unterstützen. Dazu gehören die Übertragung von Daten zwischen mehreren GPUs, die gemeinsame Nutzung von Berechnungsergebnissen und die Koordinierung der Ausführung umfangreicher paralleler Berechnungen.

Speichernetzwerk

Das Speichernetzwerk dient zur Verbindung von GPU-Knoten und Speichersystemen und unterstützt die Lese- und Schreibvorgänge von großen Datenmengen. Dies umfasst das Laden von Daten aus Speichersystemen in den GPU-Speicher und das Zurückschreiben von Berechnungsergebnissen in das Speichersystem.

Um die Hochleistungsanforderungen zu erfüllen, ist RDMA (Remote Direct Memory Access) sowohl für Rechen- als auch für Speichernetzwerke unerlässlich. Zur Auswahl stehen zwei RDMA-Technologien: RoCEv2 und InfiniBandZwischen ihnen besteht ein Kompromiss zwischen Kosteneffizienz und überlegener Leistung, wobei jede Option auf bestimmte Anwendungsfälle und Budgets zugeschnitten ist.

Anbieter von öffentlichen Cloud-Diensten verwenden häufig RoCEv2-Netzwerke in ihren Konfigurationen, wie z. B. die CX-Konfiguration mit 8 GPU-Instanzen, die jeweils mit 8 * 100 Gbps ausgestattet sind. Im Vergleich zu anderen Optionen ist RoCEv2 relativ kostengünstig, vorausgesetzt, es erfüllt die Leistungsanforderungen.

Um mehr zum Unterschied zwischen RoCE und Infiniband zu erfahren, lesen Sie gerne unseren Artikel: InfiniBand vs. RoCE: How to choose a network for data center?

Bandbreitenengpässe bei Datenverbindungen

Analyse der Bandbreitenengpässe des A100-GPU-Hosts auf einer Maschine mit 8 Karten

Das Diagramm zeigt die Bandbreitenspezifikationen der wichtigsten Verbindungen:

  • Kommunikation zwischen GPUs auf demselben Host: Bei Verwendung von NVLink erreicht die bidirektionale Bandbreite 600 GB/s, während die unidirektionale Bandbreite 300 GB/s erreicht.

  • Kommunikation zwischen GPUs und ihren jeweiligen Netzwerkkarten (NICs) auf demselben Host: Bei Verwendung von PCIe Gen4 Switch-Chips beträgt die bidirektionale Bandbreite 64 GB/s und die unidirektionale Bandbreite 32 GB/s.

  • Kommunikation zwischen GPUs über verschiedene Hosts: Die Datenübertragung basiert auf NICs, und die Bandbreite hängt von der verwendeten NIC ab. Derzeit bieten die in China für die A100/A800-Modelle üblichen NICs eine Bandbreite von 100 Gbps (12,5 GB/s) in einer Richtung. Daher ist die Leistung bei der Inter-Host-Kommunikation im Vergleich zur Intra-Host-Kommunikation deutlich geringer.

200 Gbit/s (25 GB/s) entspricht nahezu der unidirektionalen Bandbreite von PCIe Gen4.

400Gbps (50GB/s) übertrifft die unidirektionale Bandbreite von PCIe Gen4.

Daher bringt die Verwendung einer NIC mit 400 Gbps in dieser Art von Konfiguration keine nennenswerten Vorteile, da sie PCIe Gen5-Leistung erfordert, um die Bandbreite von 400 Gbps vollständig zu nutzen.

8x NVIDIA H100/8x NVIDIA H800 Host

Hardware-Topologie des H100 Hosts

Die gesamte Hardware-Topologie des H100 Hosts ist der des A100-Rechners mit 8 Karten recht ähnlich, mit einigen Unterschieden, die sich vor allem in der Anzahl der NVSwitch Chips und der Bandbreitenerweiterung zeigen.

Hardware-Topologie innerhalb des H100-Hosts

  • In jedem H100 Host befinden sich vier Chips, das sind zwei weniger als in der A100-Konfiguration.

  • Der H100-Chip wird in einem 4-Nanometer-Verfahren hergestellt und verfügt über 18 Gen4-NVLink-Verbindungen entlang der unteren Reihe, die eine bidirektionale Gesamtbandbreite von 900 GB/s bieten.

H100 GPU Chip

Single-Chip H100 GPU internes logisches Layout

  • Der Chip wird in einem hochmodernen 4-Nanometer-Verfahren hergestellt, mithilfe einer fortschrittlichen Fertigungstechnologie.

  • Die untere Reihe des Chips umfasst 18 Gen4 NVLink-Verbindungen, die eine bidirektionale Gesamtbandbreite von 18 Lanes * 25 GB/s/Lane = 900 GB/s bieten.

  • Der zentrale blaue Bereich stellt den L2-Cache dar, einen Hochgeschwindigkeits-Cache, der für die Speicherung temporärer Daten verwendet wird.

  • Auf der linken und rechten Seite des Chips befinden sich HBM-Chips, die als Grafikspeicher fungieren und die für die Grafikverarbeitung erforderlichen Daten speichern.

Vernetzung

In Bezug auf die Vernetzung ist der H100 dem A100 ähnlich, mit dem einzigen Unterschied, dass die Standardkonfiguration die 400Gbps CX7 Netzwerkkarte beinhaltet.

Das könnte Sie auch interessieren

Kenntnisse
Kenntnisse
See profile for Jason.
Jason
Die Vorteile und Nachteile der Glasfaserkabel
07. Aug 2020
87.9k
Kenntnisse
Kenntnisse
See profile for Sheldon.
Sheldon
TCPIP vs. OSI: Was ist der Unterschied?
06. Jul 2022
76.2k
Kenntnisse
See profile for Sheldon.
Sheldon
Das ABC von PON: OLT, ONU, ONT und ODN
19. Aug 2020
28.4k
Kenntnisse
Kenntnisse
See profile for Sheldon.
Sheldon
Grundlagen von optischen Verteilern (ODF)
02. Apr 2019
4.4k
Kenntnisse
See profile for Sheldon.
Sheldon
LACP vs. PAGP: Was ist der Unterschied?
06. Jun 2022
7.0k
Kenntnisse
See profile for Vincent.
Vincent
Einführung zu BiDi-Transceivern
26. Jun 2020
10.3k
Kenntnisse
See profile for Moris.
Moris
Simplex- vs. Duplex-Glasfaserkabel
10. Jun 2021
41.1k