Analyse der GPU-Cluster-Netzwerktechnologie: NVLink, InfiniBand, ROCE, DDC

Um eine gute Trainingsleistung zu erzielen, müssen GPU-Netzwerke die folgenden Bedingungen erfüllen:

1. End-to-End-Verzögerung: Da die GPU-Kommunikation häufig erfolgt, trägt die Reduzierung der Gesamtlatenz der Datenübertragung zwischen Knoten dazu bei, die Gesamttrainingszeit zu verkürzen.

2. Verlustfreie Übertragung: Dies ist für das KI-Training von entscheidender Bedeutung, da jeder Verlust von Gradienten oder Zwischenergebnissen dazu führt, dass das Training auf den vorherigen im Speicher gespeicherten Prüfpunkt zurückgreift und neu startet, was die Trainingsleistung erheblich beeinträchtigt.

3. Effektiver End-to-End-Überlastungskontrollmechanismus: In einer Baumtopologie ist eine vorübergehende Überlastung unvermeidlich, wenn mehrere Knoten Daten an einen einzelnen Knoten übertragen. Anhaltende Überlastung führt zu einer Erhöhung der System-Tail-Latenz. Aufgrund der sequentiellen Abhängigkeit zwischen GPUs kann es dazu führen, dass mehrere GPUs nicht mehr funktionieren, selbst wenn die Gradientenaktualisierung einer GPU durch Netzwerklatenz beeinträchtigt wird. Eine langsame Verbindung reicht aus, um die Trainingsleistung zu reduzieren.

Zusätzlich zu den oben genannten Faktoren müssen auch die Gesamtkosten, der Stromverbrauch und die Kühlkosten des Systems umfassend berücksichtigt werden. Basierend auf diesen Prämissen werden wir die verschiedenen Designoptionen für GPU-Architekturen und ihre Vor- und Nachteile untersuchen.

I. NVLink-Switching-System

Der NVLink-Switch, der 8 GPUs in einem GPU-Server verbindet, kann auch zum Aufbau eines Switching-Netzwerks verwendet werden, das GPU-Server verbindet. Nvidia demonstrierte auf der Hot-Chips-Konferenz im Jahr 32 eine Topologie, die die NVSwitch-Architektur nutzt, um 256 Knoten (oder 2022 GPUs) zu verbinden. Da NVLink speziell für die Verbindung von GPUs mit Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindungen entwickelt wurde, bietet es eine höhere Leistung und geringerer Overhead als herkömmliche Netzwerke.

nvidia-nvswitch-topology-two

Der NVswitch der dritten Generation ist mit 64 NVLink-Ports ausgestattet, die eine Switching-Kapazität von bis zu 12.8 Tbit/s bieten und gleichzeitig Multicast- und Netzwerkaggregationsfunktionen unterstützen. Die Netzwerkaggregation kann alle von den arbeitenden GPUs innerhalb der NVswitches generierten Farbverläufe sammeln und die aktualisierten Farbverläufe für die nächste Iteration an die GPUs zurückmelden. Diese Funktion trägt dazu bei, die Menge der Datenübertragung zwischen GPUs während des Trainingsiterationsprozesses zu reduzieren.

Laut Nvidia ist die NVswitch-Architektur beim Training des GPT-3-Modells doppelt so schnell wie das InfiniBand-Switching-Netzwerk und zeigt eine beeindruckende Leistung. Es ist jedoch erwähnenswert, dass die Bandbreite dieses Switches viermal geringer ist als die des 51.2-Tbit/s-Switches, der von High-End-Switch-Anbietern bereitgestellt wird.

Wenn man versucht, mithilfe von NVswitches ein großes System mit mehr als 1000 GPUs aufzubauen, ist dies nicht nur kostenineffektiv, sondern kann auch durch das Protokoll selbst eingeschränkt sein, sodass große Systeme nicht unterstützt werden können. Darüber hinaus verkauft Nvidia NVswitches nicht separat, was bedeutet, dass Rechenzentren, wenn sie ihre bestehenden Cluster durch die Kombination von GPUs verschiedener Anbieter erweitern möchten, keine NVswitches verwenden können, da die GPUs anderer Anbieter diese Schnittstellen nicht unterstützen .

nvidia-nvswitch-diagramm

II. InfiniBand-Netzwerk

InfiniBand (IB) ist eine Technologie, die seit ihrer Einführung im Jahr 1999 als Hochgeschwindigkeitsalternative dient, PCI- und PCI-X-Bustechnologien effektiv ersetzt und häufig für die Verbindung von Servern, Speicher und Netzwerken verwendet wird. Obwohl seine ursprüngliche große Vision aus wirtschaftlichen Gründen verkleinert wurde, wird InfiniBand immer noch häufig in Bereichen wie Hochleistungsrechnen, Clustern für künstliche Intelligenz/maschinelles Lernen und Rechenzentren eingesetzt. Dies ist vor allem auf die hervorragende Geschwindigkeit, die geringe Latenz, die verlustfreie Übertragung und den direkten Fernzugriff auf den Speicher zurückzuführen (RDMA) Fähigkeiten.

unendlich

Das InfiniBand (IB)-Protokoll zielt darauf ab, ein effizientes und leichtes Design zu erreichen und den üblichen Overhead bei Ethernet-Protokollen effektiv zu vermeiden. Es unterstützt sowohl kanalbasierte als auch speicherbasierte Kommunikation und kann verschiedene Datenübertragungsszenarien effizient bewältigen.

Durch die Verwendung einer kreditbasierten Flusskontrolle zwischen Sende-/Empfangsgeräten erreicht IB eine verlustfreie Übertragung (Warteschlangen- oder virtuelle Kanalebene). Diese Hop-by-Hop-Flusskontrolle stellt sicher, dass kein Datenverlust aufgrund eines Pufferüberlaufs auftritt. Darüber hinaus unterstützt es auch die Überlastungsbenachrichtigung zwischen Endpunkten (ähnlich wie ECN im TCP/IP-Protokollstapel). IB bietet eine hervorragende Servicequalität und ermöglicht die Priorisierung bestimmter Verkehrsarten, um die Latenz zu reduzieren und Paketverluste zu verhindern.

Erwähnenswert ist, dass alle IB-Switches das RDMA-Protokoll unterstützen, das die direkte Übertragung von Daten vom Speicher einer GPU zum Speicher einer anderen GPU ermöglicht, ohne dass das CPU-Betriebssystem eingreifen muss. Dieser direkte Übertragungsmodus verbessert den Durchsatz und reduziert die End-to-End-Latenz erheblich.

Trotz seiner vielen Vorteile erfreut sich das InfiniBand-Switching-System jedoch nicht so großer Beliebtheit wie das Ethernet-Switching-System. Dies liegt daran, dass das InfiniBand-Switching-System relativ schwierig zu konfigurieren, zu warten und zu skalieren ist. Der InfiniBand Die Steuerungsebene wird normalerweise zentral von einem einzelnen Subnetzmanager gesteuert. Obwohl es in kleinen Clustern gut läuft, kann seine Skalierbarkeit für Netzwerke mit 32K oder mehr GPUs zu einer Herausforderung werden. Darüber hinaus erfordert das IB-Netzwerk auch spezielle Hardware wie Host-Channel-Adapter und InfiniBand-Kabel, wodurch seine Erweiterungskosten höher sind als beim Ethernet-Netzwerk.

NVIDIA LinkX

Derzeit ist Nvidia der einzige Anbieter, der High-End-IB-Switches für HPC- und AI-GPU-Cluster anbietet. OpenAI nutzte beispielsweise 10,000 Nvidia A100-GPUs und ein IB-Switching-Netzwerk, um sein GPT-3-Modell in der Microsoft Azure-Cloud zu trainieren. Meta hat kürzlich einen Cluster mit 16 GPUs aufgebaut, der Nvidia A100-GPU-Server und Quantum-2 IB-Switches verwendet (Nvidia hat auf der GTC 2021-Konferenz eine neue InfiniBand-Netzwerkplattform mit 25.6 Tbit/s Switching-Kapazität und 400-Gbit/s-Ports vorgestellt). Dieser Cluster wird zum Trainieren ihrer generativen künstlichen Intelligenzmodelle, einschließlich LLaMA, verwendet. Es ist erwähnenswert, dass bei der Verbindung von mehr als 10,000 GPUs die Umschaltung zwischen GPUs innerhalb des Servers durch die NVswitches innerhalb des Servers erfolgt, während das IB/Ethernet-Netzwerk für die Verbindung der Server verantwortlich ist.

Um den Trainingsbedarf für größere Parameter zu decken, versuchen sehr große Cloud-Dienstanbieter, GPU-Cluster mit 32K- oder sogar 64K-GPUs aufzubauen. In dieser Größenordnung kann es wirtschaftlich sinnvoller sein, Ethernet-Netzwerke zu nutzen. Dies liegt daran, dass Ethernet unter vielen Silizium-/System- und optischen Modullieferanten ein starkes Ökosystem gebildet hat und auf offene Standards abzielt, um Interoperabilität zwischen den Lieferanten zu erreichen.

RoCE Verlustfreies Ethernet

Ethernet wird häufig in verschiedenen Anwendungen eingesetzt, von Rechenzentren bis hin zu Backbone-Netzwerken, mit Geschwindigkeiten von 1 Gbit/s bis 800 Gbit/s und wird in Zukunft voraussichtlich sogar 1.6 Tbit/s erreichen. Im Vergleich zu Infiniband hat Ethernet einen Vorteil bei der Geschwindigkeit der Verbindungsports und der gesamten Switch-Kapazität. Darüber hinaus sind Ethernet-Switches vergleichsweise günstiger und weisen geringere Kosten pro Bandbreiteneinheit auf, was auf den harten Wettbewerb zwischen Anbietern von High-End-Netzwerkchips zurückzuführen ist, der sie dazu zwingt, mehr Bandbreite in ASICs zu integrieren und so die Kosten pro Gigabit zu senken.

Ethernet-Switch-Chip

Die Hauptlieferanten von High-End-Ethernet-Switch-ASICs können bis zu 51.2 Tbit/s Switch-Kapazität bereitstellen, ausgestattet mit 800-Gbit/s-Ports, was der doppelten Leistung von Quantum-2 (einer neuen InfiniBand-Netzwerkplattform, die auf der NVIDIA GTC 2021 veröffentlicht wurde, mit 25.6 Tbit/s) entspricht Switch-Kapazität und 400-Gbit/s-Ports). Dies bedeutet, dass bei einer Verdoppelung des Switch-Durchsatzes die Anzahl der zum Aufbau eines GPU-Netzwerks erforderlichen Switches halbiert werden kann.

Ethernet kann durch Priority Flow Control (PFC) auch einen verlustfreien Übertragungsdienst bereitstellen. PFC unterstützt acht Serviceklassen, von denen jede flussgesteuert sein kann und einige als verlustfreie Klassen bezeichnet werden können. Bei der Verarbeitung und Durchleitung von Switches hat verlustfreier Verkehr eine höhere Priorität als verlustbehafteter Verkehr. Im Falle einer Netzwerküberlastung können Switches oder NICs Upstream-Geräte durch Flusskontrolle verwalten, anstatt Pakete einfach zu verwerfen.

Darüber hinaus unterstützt Ethernet auch RDMA (Remote Direct Memory Access) über RoCEv2 (RDMA over Converged Ethernet), wobei RDMA-Frames in IP/UDP gekapselt sind. Wenn RoCEv2-Pakete am Netzwerkadapter (NIC) im GPU-Server ankommen, kann der NIC die RDMA-Daten ohne Eingreifen der CPU direkt in den Speicher der GPU übertragen. In der Zwischenzeit können leistungsstarke End-to-End-Überlastungskontrollsysteme wie DCQCN eingesetzt werden, um die End-to-End-Überlastung und den Paketverlust von RDMA zu reduzieren. Im Hinblick auf den Lastausgleich verwenden Routing-Protokolle wie BGP Equal-Cost-Multipath-Routing (ECMP), um Pakete mit gleichen „Kosten“ über mehrere Pfade zum Ziel zu verteilen. Wenn Pakete an einem Switch ankommen, der über mehrere Pfade mit gleichen Kosten zum Ziel verfügt, verwendet der Switch eine Hash-Funktion, um den Pfad der Pakete zu bestimmen. Allerdings ist der Hash nicht immer perfekt und kann dazu führen, dass einige Links ungleichmäßig ausgelastet sind, was zu einer Überlastung des Netzwerks führt.

RDMA-Anwendung

Im Hinblick auf den Lastausgleich nutzen Routing-Protokolle wie BGP Equal-Cost Multi-Path Routing (ECMP), um Pakete mit gleichen „Kosten“ auf mehrere Pfade zu verteilen. Wenn ein Paket an einem Switch ankommt, der über mehrere Pfade mit gleichen Kosten zum Ziel verfügt, verwendet der Switch eine Hash-Funktion, um zu entscheiden, über welchen Pfad das Paket gesendet werden soll. Der Hash ist jedoch nicht immer perfekt und kann dazu führen, dass einige Links ungleichmäßig ausgelastet sind, was zu einer Überlastung des Netzwerks führt.

Um dieses Problem zu lösen, können einige Strategien angewendet werden, z. B. die Reservierung eines leichten Überschusses an Bandbreite oder die Implementierung eines adaptiven Lastausgleichs, der es dem Switch ermöglicht, neue Flusspakete an andere Ports weiterzuleiten, wenn ein Pfad überlastet ist. Viele Switches unterstützen diese Funktion bereits. Darüber hinaus kann der Lastausgleich auf Paketebene von RoCEv2 Pakete gleichmäßig auf alle verfügbaren Verbindungen verteilen, um das Verbindungsgleichgewicht aufrechtzuerhalten. Dies kann jedoch dazu führen, dass Pakete in der falschen Reihenfolge am Ziel ankommen. Außerdem muss die Netzwerkkarte die Verarbeitung dieser ungeordneten Daten auf der RoCE-Transportschicht unterstützen, um sicherzustellen, dass die GPU die Daten in der richtigen Reihenfolge empfängt. Dies erfordert zusätzliche Hardwareunterstützung durch die Netzwerkkarte und den Ethernet-Switch.

Darüber hinaus können die ROCE-Ethernet-Switches einiger Anbieter auch die Gradienten der GPUs innerhalb des Switches aggregieren, was dazu beiträgt, den Datenverkehr zwischen GPUs während des Trainingsprozesses zu reduzieren, wie beispielsweise die High-End-Ethernet-Switches von NVIDIA.

Zusammenfassend lässt sich sagen, dass High-End-Ethernet-Switches und Netzwerkkarten über eine leistungsstarke Überlastungskontrolle, Lastverteilung und RDMA-Unterstützung verfügen und sich auf größere Designs skalieren lassen als IB-Switches. Einige Cloud-Dienstanbieter und große Cluster-Unternehmen haben damit begonnen, Ethernet-basierte GPU-Netzwerke zu nutzen, um mehr als 32 GPUs zu verbinden.

Vollständig geplantes DDC-Netzwerk

Kürzlich haben mehrere Anbieter von Switch-/Router-Chips die Einführung von Chips angekündigt, die vollständig geplantes Fabric oder AI Fabric unterstützen. Dieses vollständig geplante Netzwerk wird seit mehr als einem Jahrzehnt auf viele modulare Gehäusedesigns angewendet, einschließlich der Router der PTX-Serie von Juniper, die ein VOQ-Netzwerk (Virtual Output Queue) verwenden.

In der VOQ-Architektur werden Pakete nur einmal am Eingangs-Blatt-Switch gepuffert und in Warteschlangen gespeichert, die dem endgültigen Ausgangs-Blatt-Switch/WAN-Port/Ausgangswarteschlange entsprechen. Diese Warteschlangen werden am Ingress-Switch als Virtual Output Queues (VOQs) bezeichnet. Daher stellt jeder Ingress-Blatt-Switch Pufferraum für jede Ausgabewarteschlange im gesamten System bereit. Die Größe dieses Puffers reicht normalerweise aus, um die Pakete jedes VOQ aufzunehmen, wenn es innerhalb von 40–70 Mikrosekunden zu einer Überlastung kommt. Wenn die Datenmenge in einem VOQ klein ist, wird sie im On-Chip-Puffer gehalten; Wenn die Warteschlange zu wachsen beginnt, werden die Daten in den tiefen Puffer im externen Speicher übertragen.

Wenn ein VOQ auf einem Ingress-Blatt-Switch mehrere Pakete sammelt, sendet er eine Anfrage an den Egress-Switch mit der Bitte, diese Pakete im Netzwerk zu übertragen. Diese Anfragen werden über das Netzwerk an den Egress-Leaf-Switch gesendet.

Der Scheduler im Egress-Leaf-Switch genehmigt diese Anforderungen auf der Grundlage einer strengen Planungshierarchie und des verfügbaren Platzes in seinem flachen Ausgabepuffer. Die Rate dieser Genehmigungen ist begrenzt, um eine Überbelegung der Switch-Links (über den Akzeptanzbereich des Warteschlangenpuffers hinaus) zu vermeiden.

Sobald die Genehmigung beim Ingress-Leaf-Switch eintrifft, sendet dieser den genehmigten Paketsatz an den Egress und überträgt sie über alle verfügbaren Uplinks.

Die an einen bestimmten VOQ gesendeten Pakete können gleichmäßig auf alle verfügbaren Ausgangsverbindungen verteilt werden, um einen perfekten Lastausgleich zu erreichen. Dies kann dazu führen, dass die Pakete neu angeordnet werden. Der Egress-Switch verfügt jedoch über eine logische Funktion, die diese Pakete der Reihe nach neu anordnen und sie dann an die GPU-Knoten übertragen kann.

Da der Egress-Scheduler die genehmigten Daten kontrolliert, bevor sie in den Switch gelangen, und so eine Überbeanspruchung der Verbindungsbandbreite vermeidet, beseitigt er 99 % der Überlastungsprobleme, die durch Incast in der Ethernet-Datenebene verursacht werden (wenn mehrere Ports versuchen, Datenverkehr an einen einzelnen Ausgangsport zu senden). ) und eliminiert Head-of-Line-Blockierung (HOL-Blockierung). Es ist zu beachten, dass in dieser Architektur die Daten (einschließlich Anfragen und Genehmigungen) immer noch über Ethernet übertragen werden.

Unter HOL-Blockierung versteht man das Phänomen bei der Netzwerkübertragung, bei dem das erste Paket in einer Reihe von Paketen auf ein Hindernis stößt, wodurch alle folgenden Pakete blockiert werden und die Übertragung nicht fortgesetzt werden kann, selbst wenn der Ausgangsport der folgenden Pakete inaktiv ist. Dieses Phänomen beeinträchtigt die Übertragungseffizienz und -leistung des Netzwerks erheblich.

Einige Architekturen, wie zum Beispiel die Express-Serie von Juniper und die Jericho-Serie von Broadcom, implementieren virtuelle Ausgabewarteschlangen (VOQs) über ihre proprietäre Cellified Data Plane.

Bei dieser Methode teilt der Leaf-Switch die Pakete in Segmente fester Größe auf und verteilt sie gleichmäßig auf alle verfügbaren Ausgangsverbindungen. Im Vergleich zur gleichmäßigen Verteilung auf Paketebene kann dies die Verbindungsauslastung verbessern, da es bei einer Mischung aus großen und kleinen Paketen schwierig ist, alle Verbindungen vollständig auszunutzen. Durch die Segmentweiterleitung vermeiden wir außerdem eine weitere Store/Forward-Verzögerung auf dem Ausgangslink (Egress-Ethernet-Schnittstelle). Auf der Segmentdatenebene werden die zum Weiterleiten von Segmenten verwendeten Spine-Switches durch benutzerdefinierte Switches ersetzt, die eine effiziente Segmentweiterleitung durchführen können. Diese Segment-Data-Plane-Switches sind Ethernet-Switches hinsichtlich Stromverbrauch und Latenz überlegen, da sie den Overhead des L2-Switchings nicht unterstützen müssen. Daher kann die segmentbasierte Datenebene nicht nur die Verbindungsauslastung verbessern, sondern auch die Gesamtverzögerung der VOQ-Datenebene reduzieren.

VOQ+Zellenbasierter Weiterleitungsmechanismus

Es gibt einige Einschränkungen der VOQ-Architektur:

Der Eingangsport jedes Leaf-Switches sollte über einen angemessenen Puffer verfügen, um Pakete für alle VOQs im System während einer Überlastung zu speichern. Die Puffergröße ist proportional zur Anzahl der GPUs und der Anzahl der Prioritätswarteschlangen pro GPU. Eine größere GPU-Skalierung führt direkt zu einem größeren Eingangspufferbedarf.

Der Ausgangswarteschlangenpuffer sollte über genügend Platz verfügen, um die Umlaufverzögerung durch die Datenebene abzudecken, um zu verhindern, dass diese Puffer während des Anforderungsgenehmigungs-Handshakes erschöpft werden. In größeren GPU-Clustern, die eine Datenebene mit drei Ebenen verwenden, kann sich diese Umlaufverzögerung aufgrund der Kabellatenz und der Anwesenheit zusätzlicher Switches erhöhen. Angenommen, der Ausgangswarteschlangenpuffer ist nicht richtig angepasst, um die erhöhte Umlaufverzögerung zu berücksichtigen. In diesem Fall kann die Ausgangsverbindung keine 3-prozentige Auslastung erreichen, wodurch die Systemleistung beeinträchtigt wird.

Obwohl das VOQ-System die durch Head-of-Line-Blockierung verursachte Tail-Latenz durch Egress-Scheduling reduziert, wird die minimale Latenz eines Pakets durch eine zusätzliche Round-Trip-Verzögerung erhöht, da der Ingress-Leaf-Switch zuvor einen Handshake zur Anforderungsgenehmigung durchführen muss Senden des Pakets.

Trotz dieser Einschränkungen weist das vollständig geplante VOQ (Fabric) eine deutlich bessere Leistung bei der Reduzierung der Tail-Latenz auf als der typische Ethernet-Verkehr. Wenn die Verbindungsauslastung durch die Vergrößerung des Puffers auf mehr als 90 % erhöht wird, kann es sich lohnen, in den zusätzlichen Overhead zu investieren, der durch die Erweiterung der GPU-Skalierung entsteht.

Darüber hinaus ist die Lieferantenbindung ein Problem, mit dem VOQ (Fabric) konfrontiert ist. Da jeder Anbieter sein proprietäres Protokoll verwendet, ist das Mischen und Anpassen von Switches in derselben Struktur sehr schwierig.

Zusammenfassung: Anwendung gängiger GPU-Cluster-Netzwerktechnologien

Das NVLink-Switching-System bietet eine effektive Lösung für die GPU-Interkommunikation, sein unterstützter GPU-Bereich ist jedoch relativ begrenzt und wird hauptsächlich für die GPU-Kommunikation innerhalb des Servers und die Datenübertragung in kleinem Maßstab zwischen Serverknoten verwendet. Das InfiniBand-Netzwerk bietet als natives RDMA-Netzwerk eine hervorragende Leistung in Umgebungen ohne Überlastung und mit geringer Latenz. Aufgrund der relativ geschlossenen Architektur und der hohen Kosten eignet es sich jedoch eher für kleine und mittlere Kunden, die kabelgebundene Verbindungen benötigen.

ROCE verlustfreies Ethernet, das auf dem ausgereiften Ethernet-Ökosystem, den niedrigsten Netzwerkkosten und der schnellsten Bandbreiteniterationsgeschwindigkeit basiert, zeigt eine höhere Anwendbarkeit im Szenario mittlerer und großer Trainings-GPU-Cluster.

Das vollständig geplante DDC-Netzwerk kombiniert die Technologien Cell Switching und Virtual Output Queue (VOQ) und bietet somit einen erheblichen Vorteil bei der Lösung des Ethernet-Überlastungsproblems. Da es sich um eine aufstrebende Technologie handelt, befindet sich die Branche noch in der Forschungsphase, um ihr langfristiges Potenzial und ihre Anwendungsaussichten zu bewerten.

Hinterlasse einen Kommentar

Nach oben scrollen