InfiniBand vs. RoCEv2: Netzwerke für große KI optimieren

Towardsdatascience

Große Sprachmodelle, die rechenstarken Giganten der modernen KI, werden zunehmend auf Tausenden von Grafikprozessoren (GPUs) trainiert. Doch die schiere Menge des Datenaustauschs zwischen diesen GPUs führt oft zu einem Engpass, der nicht in der Rechenleistung, sondern in der Netzwerkgeschwindigkeit liegt. In solch massiven verteilten Systemen summieren sich selbst die geringsten Kommunikationsverzögerungen dramatisch; eine Mikrosekundenverzögerung beim Datenaustausch zwischen GPUs kann eine Kettenreaktion auslösen und Stunden zu einem Trainingsjob hinzufügen. Diese kritische Abhängigkeit erfordert spezialisierte Netzwerke, die für den Datentransfer mit hohem Volumen und minimaler Latenz ausgelegt sind.

Historisch gesehen stützten sich Datenübertragungen zwischen Rechenknoten stark auf die zentrale Verarbeitungseinheit (CPU). Wenn eine GPU Daten an einen entfernten Knoten senden musste, war der Prozess umständlich: Die GPU schrieb die Daten zuerst in den Host-Systemspeicher, die CPU kopierte sie dann in einen Netzwerkkartenpuffer, und die Netzwerkschnittstellenkarte (NIC) übertrug sie. Auf der Empfangsseite lieferte die NIC die Daten an die CPU, die sie in den Systemspeicher schrieb, damit die empfangende GPU sie lesen konnte. Dieser mehrstufige, CPU-zentrierte Ansatz war zwar für kleinere Systeme ausreichend, wurde aber bei der für KI-Workloads erforderlichen Skalierung schnell zu einem schwerwiegenden Hindernis, da Datenkopien und die CPU-Beteiligung inakzeptable Verzögerungen mit sich brachten.

Um diesen CPU-gebundenen Engpass zu umgehen, wurden Technologien wie Remote Direct Memory Access (RDMA) und NVIDIAs GPUDirect entwickelt. RDMA ermöglicht einer lokalen Maschine den direkten Zugriff auf den Speicher einer entfernten Maschine, ohne die CPU in die Datenübertragung einzubeziehen. Die Netzwerkschnittstellenkarte übernimmt alle Speichervorgänge eigenständig, eliminiert Zwischenkopien von Daten und reduziert die Latenz erheblich. Dieser direkte Speicherzugriff ist in KI-Trainingsumgebungen, in denen Tausende von GPUs Gradienteninformationen effizient austauschen müssen, besonders wertvoll, da er Betriebssystem-Overheads und Netzwerkverzögerungen umgeht. GPUDirect erweitert dieses Konzept, indem es GPUs ermöglicht, direkt mit anderer Hardware über PCIe-Verbindungen zu kommunizieren, wodurch der Systemspeicher und die CPU vollständig umgangen werden. GPUDirect RDMA erweitert dies zusätzlich, indem es der NIC ermöglicht, direkt auf den GPU-Speicher für Netzwerkübertragungen zuzugreifen. Dieses Paradigma der direkten Kommunikation erfordert ein Netzwerk, das immense Geschwindigkeiten bewältigen kann, und heute kommen zwei primäre Optionen in Frage: InfiniBand und RoCEv2. Die Entscheidung zwischen ihnen erfordert ein kritisches Gleichgewicht zwischen Rohgeschwindigkeit, Budgetbeschränkungen und der Bereitschaft, eine manuelle Netzwerkabstimmung vorzunehmen.

InfiniBand ist eine dedizierte Hochleistungs-Netzwerktechnologie, die speziell für die anspruchsvollen Umgebungen von Rechenzentren und Supercomputing entwickelt wurde. Im Gegensatz zu Standard-Ethernet, das allgemeinen Datenverkehr verarbeitet, ist InfiniBand von Grund auf darauf ausgelegt, ultrahohe Geschwindigkeiten und extrem niedrige Latenz speziell für KI-Workloads zu liefern. Es funktioniert ähnlich wie ein Hochgeschwindigkeitsbahnsystem, bei dem sowohl die Züge als auch die Gleise für maximale Geschwindigkeit maßgeschneidert sind; jede Komponente, von Kabeln und Netzwerkkarten (bekannt als Host Channel Adapters oder HCAs) bis hin zu Switches, ist optimiert, um Daten schnell zu bewegen und Verzögerungen zu vermeiden.

InfiniBand arbeitet nach einem grundlegend anderen Prinzip als normales Ethernet. Es umgeht das traditionelle TCP/IP-Protokoll und setzt stattdessen auf eigene, leichtgewichtige Transportschichten, die auf Geschwindigkeit und minimale Latenz optimiert sind. Im Kern unterstützt InfiniBand RDMA direkt in der Hardware, was bedeutet, dass der HCA Datenübertragungen handhabt, ohne das Betriebssystem zu unterbrechen oder zusätzliche Datenkopien zu erstellen. Es verwendet auch ein verlustfreies Kommunikationsmodell, das Paketverluste selbst bei starkem Datenverkehr durch ein kreditbasiertes Flusskontrollsystem verhindert, bei dem Sender Daten nur übertragen, wenn der Empfänger über ausreichenden Pufferspeicherplatz verfügt. In großen GPU-Clustern bewegen InfiniBand-Switches Daten zwischen Knoten mit Latenzen, die oft unter einer Mikrosekunde liegen, und gewährleisten so eine konsistente, hohe Durchsatzkommunikation, da das gesamte System kohärent für diesen Zweck konzipiert ist. Seine Stärken liegen in seiner unvergleichlichen Geschwindigkeit, Vorhersehbarkeit und inhärenten Skalierbarkeit, da es speziell für RDMA entwickelt wurde und Paketverluste vermeidet. Die Schwächen sind jedoch bemerkenswert: Die Hardware ist teuer und weitgehend an NVIDIA gebunden, was die Flexibilität einschränkt. Es erfordert auch spezialisierte Kenntnisse für Einrichtung und Abstimmung, was die Verwaltung erschwert und die Interoperabilität mit Standard-IP-Netzwerken verringert.

Im Gegensatz dazu bringt RoCEv2 (RDMA over Converged Ethernet Version 2) die Vorteile von RDMA in konventionelle Ethernet-Netzwerke. Anstatt kundenspezifische Netzwerk-Hardware zu benötigen, nutzt RoCEv2 bestehende IP-Netzwerke und läuft über UDP für den Transport. Dieser Ansatz ähnelt dem Hinzufügen einer Express-Spur für kritische Daten zu einer bestehenden Autobahn, anstatt das gesamte Straßensystem neu aufzubauen. Es liefert Hochgeschwindigkeits-, Niederlatenz-Kommunikation unter Verwendung der vertrauten Ethernet-Infrastruktur.

RoCEv2 ermöglicht direkten Speicherzugriff zwischen Maschinen, indem es RDMA-Schreibvorgänge in UDP/IP-Pakete kapselt, wodurch sie Standard-Layer-3-Netzwerke durchqueren können, ohne eine dedizierte Fabric zu benötigen. Es verwendet handelsübliche Switches und Router, was es zugänglicher und kostengünstiger macht. Der Hauptunterschied zu InfiniBand besteht darin, dass InfiniBand die Flusskontrolle und Überlastung in seiner streng kontrollierten Umgebung verwaltet, während RoCEv2 auf spezifische Verbesserungen von Ethernet angewiesen ist, um ein nahezu verlustfreies Netzwerk zu erreichen. Diese Verbesserungen umfassen Priority Flow Control (PFC), das den Datenverkehr auf der Ethernet-Schicht basierend auf Priorität pausiert, um Paketverluste zu verhindern; Explicit Congestion Notification (ECN), das Pakete markiert, anstatt sie fallen zu lassen, wenn Überlastung erkannt wird; und Data Center Quantized Congestion Notification (DCQCN), ein Überlastungskontrollprotokoll, das auf ECN-Signale für eine reibungslosere Verkehrsverwaltung reagiert. Für eine optimale RoCEv2-Leistung muss das zugrunde liegende Ethernet-Netzwerk sorgfältig als verlustfrei oder nahezu verlustfrei konfiguriert werden, was eine akribische Abstimmung von Switches, Warteschlangen und Flusskontrollmechanismen erfordert. Seine Stärken umfassen Kosteneffizienz durch Standard-Ethernet-Hardware, einfachere Bereitstellung für Teams, die mit IP-basierten Netzwerken vertraut sind, und flexible Integration in gemischte Umgebungen. Es erfordert jedoch eine sorgfältige Abstimmung von PFC, ECN und der Überlastungskontrolle, um Paketverluste zu vermeiden. Es ist auch weniger deterministisch als InfiniBand, mit potenzieller Variabilität bei Latenz und Jitter, und die Aufrechterhaltung einer konsistent verlustfreien Ethernet-Fabric wird mit zunehmender Clustergröße immer komplexer.

Letztendlich ist im Bereich der großskaligen KI das Netzwerk nicht nur ein Kanal; es ist das Rückgrat, das die Effizienz und Geschwindigkeit des Trainings bestimmt. Technologien wie RDMA und GPUDirect RDMA sind unverzichtbar, um CPU-induzierte Engpässe zu eliminieren und GPUs die direkte Kommunikation zu ermöglichen. Sowohl InfiniBand als auch RoCEv2 beschleunigen die GPU-zu-GPU-Kommunikation, gehen aber grundlegend unterschiedliche Wege. InfiniBand baut ein maßgeschneidertes, dediziertes Netzwerk-Setup auf, das unvergleichliche Geschwindigkeit und niedrige Latenz zu einem erheblichen Preis bietet. RoCEv2 hingegen bietet größere Flexibilität, indem es die vorhandene Ethernet-Infrastruktur nutzt und eine budgetfreundlichere Lösung bietet, die eine akribische Abstimmung des zugrunde liegenden Netzwerks erfordert, um optimale Leistung zu erzielen. Die Entscheidung zwischen InfiniBand und RoCEv2 läuft auf einen klassischen Kompromiss hinaus: unvergleichliche, vorhersagbare Leistung zu einem Premiumpreis oder kostengünstige Flexibilität, die eine akribische Netzwerkabstimmung erfordert. Für diejenigen, die absolute Spitzenleistung priorisieren und sich weniger um das Budget kümmern, bleibt InfiniBand der Goldstandard. Wenn jedoch die Nutzung vorhandener Ethernet-Infrastruktur und die Kostenverwaltung von größter Bedeutung sind, bietet RoCEv2 eine überzeugende, wenn auch konfigurationsintensivere Alternative.