AI Hypercomputer verwendet bestimmte Netzwerkdienste, die vom ausgewählten GPU Maschinentyp abhängen. Wenn Sie diese Dienste kennen, können Sie Leistung und Goodput optimieren. Goodput ist der effektive Fortschritt einer Aufgabe für das Training von Modellen für maschinelles Lernen.
Netzwerk nach Infrastruktur
Die Netzwerktopologie für Ihre Bereitstellung hängt von der von Ihnen ausgewählten Infrastruktur ab: Allgemeine GPUs oder Cluster-GPUs.
Standard-VPC-Netzwerk für allgemeine GPUs
Allgemeine GPUs verwenden das Standard Google Cloud VPC-Netzwerk.
- Architektur: basiert auf einem Standard-VPC-Design mit mehreren Mandanten für Inferenz, Modellbereitstellung und explorative Forschung.
- Protokolle: verwendet TCP/IP über die virtuelle Google-Netzwerkkarte (gVNIC).
Hochleistungs-Fabrics für Cluster-GPUs
Mit AI Hypercomputer können Sie GPU Maschinen bereitstellen, die eine hierarchische, Rail-Topologie- Netzwerkarchitektur verwenden. Die vorhersagbare, leistungsstarke Konnektivität dieses Designs minimiert den Kommunikationsaufwand. Dadurch wird der Goodput direkt verbessert, da GPUs mehr Zeit für Berechnungen aufwenden können, anstatt auf Daten zu warten.
Die Rail-Topologie-Anordnung von Cluster-GPUs umfasst drei Komponenten:
- Unterblöcke:eine Gruppe von Hosts, die sich physisch auf demselben Block befinden. Ein ToR-Switch (Top-of-Rack) verbindet diese Hosts und ermöglicht eine extrem effiziente Kommunikation mit nur einem Hop zwischen zwei GPUs im Unterblock. RDMA over Converged Ethernet (RoCE) erleichtert diese direkte Kommunikation. Eine erweiterte NCCL-Bibliothek, die für die Rail-Topologie von Google optimiert ist, verarbeitet GPU-Kommunikationskollektive.
- Blöcke:eine Sammlung von Unterblöcken, die über ein nicht blockierendes Hochgeschwindigkeitsnetzwerk mit hoher Bandbreite miteinander verbunden sind. Jede GPU in einem Block ist in maximal zwei Netzwerk-Hops erreichbar. Das System stellt Block- und Unterblock-Metadaten zur Verfügung, um eine optimale Jobplatzierung zu ermöglichen.
- Cluster:eine Sammlung miteinander verbundener Blöcke, die auf Tausende von GPUs skaliert werden können, sodass Sie Trainingsarbeitslasten im großen Maßstab ausführen können. Für die Kommunikation zwischen verschiedenen Blöcken ist nur ein weiterer Hop erforderlich. So bleiben Leistung und Planbarkeit auch in dieser Größenordnung hoch. Um eine intelligente Jobplatzierung im großen Maßstab zu ermöglichen, sind auch Metadaten auf Clusterebene für Orchestratoren verfügbar.
Technologien für die GPU-zu-GPU-Kommunikation
GPU-Maschinen verwenden eine Kombination von Technologien, um eine hohe Leistung, einen hohen Durchsatz und eine niedrige Latenz für Arbeitslasten zu bieten. Dazu gehören RDMA over Converged Ethernet (RoCE), NVIDIA-Netzwerkkarten und die Rail-Netzwerktopologie von Google im gesamten Rechenzentrum.
Die NVLink-Technologie von NVIDIA erstellt direkte Datenpfade mit extrem hoher Geschwindigkeit zwischen den NVIDIA-Netzwerkkarten auf jeder Maschine. Außerdem ermöglicht RoCE eine effiziente RDMA-Kommunikation zwischen GPUs auf verschiedenen Maschinen.
GPU-Netzwerkstacks
Ein Netzwerkstack ist eine Sammlung von Softwareprotokollen, Treibern und Ebenen, die zusammenarbeiten, um die GPU-zu-GPU-Kommunikation zu implementieren. Verschiedene GPU-Maschinentypen verwenden unterschiedliche Netzwerkstacks. In der folgenden Tabelle sind die Netzwerkstacks und die zugehörigen Maschinentypen definiert:
| Netzwerkstack | Beschreibung | GPU-Maschinentyp |
|---|---|---|
| GPUDirect RDMA | Ermöglicht einen direkten Pfad für den Datenaustausch zwischen einer GPU und einem anderen Gerät. Bei A4X Max- und A4X-Instanzen verwendet dieser Netzwerkstack RoCE. Weitere Informationen finden Sie unter Cluster Konfigurationsoptionen mit GPUDirect RDMA. | |
| GPUDirect-TCPXO | Verbessert GPUDirect-TCPX durch Auslagern des TCP-Protokolls. Mit GPUDirect-TCPXO erreicht der Maschinentyp A3 Mega die doppelte Netzwerkbandbreite des Maschinentyps A3 High. Informationen zum Maximieren der Netzwerkbandbreite in GKE-Clustern, die GPUDirect-TCPXO verwenden, finden Sie unter GPU-Netzwerkbandbreite in Clustern im Standardmodus maximieren. Wählen Sie dann den Tab „GPUDirect-TCPXO“ aus. | |
| GPUDirect-TCPX | Erhöht die Netzwerkleistung, indem Datennutzlasten direkt vom GPU-Speicher an die Netzwerkschnittstelle übertragen werden. Informationen zum Maximieren der Netzwerkbandbreite in GKE-Clustern, die GPUDirect-TCPX verwenden, finden Sie unter GPU-Netzwerkbandbreite in Clustern im Standardmodus maximieren. Wählen Sie dann den Tab „GPUDirect-TCPX“ aus. |
|
| Standard-TCP/IP | Das Basisnetzwerkprotokoll für allgemeine (Standard-)Arbeitslasten. Es bietet hohe Zuverlässigkeit und breite Kompatibilität mit Standard-VPC-Diensten. |
|
Netzwerk der Host- und Datenebene
Für Multi-GPU-Instanzen sind unterschiedliche Netzwerkkonfigurationen für die Kommunikation mit der Compute-Instanz und für die GPU-zu-GPU-Informationsverarbeitung erforderlich.
Ein separater Netzwerkpfad (manchmal auch als North-South-Netzwerk oder Frontend-Netzwerk bezeichnet) verarbeitet die gesamte Kommunikation mit der Compute-Instanz. Dieser Traffic umfasst den Zugriff auf Festplatten, die Kommunikation innerhalb von VMs, den Internetzugriff, den Zugriff auf Cloud Storage, die Verwaltung auf Hostebene und die Kommunikation mit anderen Google Cloud Diensten.
Zur Verwaltung dieses Traffics verwenden die GPU-Maschinentypen die Google Virtual NIC-Konfiguration (gVNIC) über Google Titanium-Netzwerkkarten. Titanium-Netzwerkkarten lagern Netzwerkverarbeitungsaufgaben von der CPU aus, sodass sich die CPU auf Ihre Arbeitslasten konzentrieren kann. Diese Trennung trägt dazu bei, dass Host-Traffic für allgemeine Zwecke und dedizierter GPU-zu-GPU-Traffic unterschiedliche physische Schnittstellen verwenden, sodass sie nicht um dieselben Systemressourcen konkurrieren.
Umgebung mit mehreren VPCs
Alle Arbeitslasten werden in der Virtual Private Cloud (VPC) von Google Cloudausgeführt.
Beschleuniger mit hoher Leistung haben ein spezielles Hardwaredesign, das mehrere physische Netzwerkschnittstellen verwendet, um verschiedene Arten von Traffic zu verarbeiten. Für dieses spezielle Hardwaredesign ist eine Umgebung mit mehreren VPCs erforderlich, unabhängig davon, ob Sie Slurm, GKE oder Compute Engine zum Ausführen Ihrer Arbeitslasten verwenden.
Die spezifische Multi-VPC-Konfiguration hängt vom GPU-Maschinentyp und seinem Netzwerkstack ab:
A4X Max, A4X, A4 und A3 Ultra mit GPUDirect RDMA:Diese Maschinen werden von zwei physischen Netzwerkkarten unterstützt: eine für allgemeinen Traffic und eine für RDMA-Traffic. Instanz-vNICs, die der physischen Netzwerkkarte für allgemeine Zwecke zugeordnet sind (die
nic0-Schnittstelle und eine zusätzliche Netzwerkschnittstelle), werden an reguläre VPC-Netzwerke angehängt. RDMA-vNICs, die der RDMA-fähigen physischen Netzwerkkarte zugeordnet sind, werden an ein separates VPC-Netzwerk mit einem RDMA-Netzwerkprofil angehängt, um GPUDirect RDMA zu nutzen. Insgesamt sind für diese Maschinentypen drei VPC-Netzwerke erforderlich. Informationen zum Einrichten dieser Netzwerk infrastruktur finden Sie unter VPCs und Subnetze erstellen.A3 Mega mit GPUDirect-TCPXO:Für diese Maschinen sind acht separate VPCs für die GPU-Netzwerkkarten erforderlich, die für die Kommunikation mit hoher Bandbreite vorgesehen sind. Eine detaillierte Anleitung zum Ausführen dieser Konfiguration finden Sie unter VPCs und Subnetze erstellen.
A3 High mit GPUDirect-TCPX:Für diese Maschinen sind vier separate VPCs für die GPU-Netzwerkkarten erforderlich, die für die Kommunikation mit hoher Bandbreite vorgesehen sind. Eine detaillierte Anleitung zum Ausführen dieser Konfiguration finden Sie unter VPCs und Subnetze erstellen.
Diese Multi-VPC-Konfiguration trägt dazu bei, dass Speicher- und andere Systemaufgaben nicht mit der Bandbreite für kritische GPU-zu-GPU-Kommunikation konkurrieren.
Die erforderliche Multi-VPC-Netzwerkkonfiguration, die Sie einrichten müssen, hängt vom GPU-Maschinentyp ab. Eine detaillierte Anleitung zur Netzwerkanordnung, zu Bandbreitengeschwindigkeiten und zu Netzwerkkarten für alle unterstützten GPU-Maschinentypen finden Sie unter Netzwerk und GPU-Maschinen.
Das folgende Diagramm zeigt die Netzwerktopologie für eine Cluster-GPU-Maschine. Dabei wird die Trennung von Traffic für allgemeine Zwecke und dediziertem GPU-zu-GPU-Traffic auf verschiedene Netzwerkebenen hervorgehoben.
Wie im
vorherigen Diagramm gezeigt, verwenden diese GPU-Maschinen dedizierte Netzwerkpfade für verschiedene
Arten von Traffic. Traffic für allgemeine Zwecke, einschließlich Verwaltungs- und Speicherzugriff, wird über Google Titanium-Netzwerkkarten geleitet, die mit einer VPC verbunden sind. Für die GPU-zu-GPU-Kommunikation mit hoher Leistung werden separate Netzwerkschnittstellen und VPCs verwendet, die mit Technologien wie RDMA optimiert sind. So werden eine hohe Bandbreite und eine niedrige Latenz für KI- und ML-Arbeitslasten gewährleistet.
Netzwerkbibliotheken und ihre Komponenten
Die folgenden Netzwerkbibliotheken und ‑komponenten ermöglichen Ihnen, GPUs mit dem Netzwerkstack von Google zu verwenden, um die Netzwerkbandbreite und ‑leistung zu maximieren:
- gVNIC: Die virtuelle Google-Netzwerkkarte (gVNIC) ist eine virtuelle Netzwerkschnittstelle, die speziell für Compute Engine entwickelt wurde. gVNIC verbessert die Leistung, erhöht die Konsistenz und trägt dazu bei, Probleme mit „lauten Nachbarn“ zu reduzieren. gVNIC wird für alle Maschinenfamilien empfohlen und ist die empfohlene vNIC für die Host-zu-Host-Kommunikation. Weitere Informationen finden Sie unter Google Virtual NIC verwenden.
- NCCL: Die NVIDIA Collective Communications Library (NCCL) bietet optimierte Primitive für gemeinsame Kommunikationsvorgänge. NCCL wurde speziell für Umgebungen mit mehreren GPUs und Knoten entwickelt, die NVIDIA-GPUs und ‑Netzwerke verwenden. Führen Sie NCCL-Tests aus, um die Leistung der bereitgestellten Cluster zu bewerten. Weitere Informationen finden Sie unter Netzwerkleistung testen.
- GKE-Multi-Networking: Die Multi-Netzwerk-Unterstützung für Pods ermöglicht mehrere Schnittstellen auf Knoten und Pods in einem GKE Cluster. Weitere Informationen zum Einrichten von Multi-Networking im Zusammenhang mit GPUDirect finden Sie unter GPU-Netzwerkbandbreite in Clustern im Standardmodus maximieren und Clusterkonfigurationsoptionen mit GPUDirect RDMA.
Weitere Informationen zu den verfügbaren Softwarestacks finden Sie unter Betriebssystem- und Docker Images.
Nächste Schritte
- Informationen zum Schützen Ihrer Bereitstellungen finden Sie unter Best Practices für die Verwendung von Dienst konten.
- Informationen zum Härten Ihres Netzwerks finden Sie unter VPC-Firewall regeln.
- Weitere Informationen zur Beschleunigerkonnektivität finden Sie unter Übersicht über GPU-Netzwerke.