GPUs dienen als grundlegende Computermotoren für KI. In groß angelegten Trainingsumgebungen ist die Gesamtleistung jedoch nicht durch die Verarbeitungsgeschwindigkeit, sondern durch die Geschwindigkeit der Netzwerkkommunikation zwischen ihnen eingeschränkt.
Großsprachige Modelle werden auf Tausenden von GPUs geschult, was eine große Menge an Cross-GPU-Verkehr erzeugt. In diesen Systemen auch die kleinste Verzögerungsverbindung. Eine Mikrosekundenverzögerung, wenn GPUS -Daten zur Freigabe zu einer Kettenreaktion führt, die den Trainingsauftrag Stunden hinzufügt. Daher erfordern diese Systeme ein spezielles Netzwerk, das große Datenmengen mit minimaler Verzögerung übertragen soll.
Der traditionelle Ansatz, GPU -Daten über die CPU zu leiten, schuf einen schwerwiegenden Engpass im Maßstab. Um diesen Engpass zu beheben, wurden Technologien wie RDMA und GPUDirect erfunden, um im Wesentlichen einen Bypass um die CPU zu erstellen. Dies schafft einen direkten Weg für GPUs, miteinander zu sprechen.
Diese direkte Kommunikationsmethode benötigt ein Netzwerk, das die Geschwindigkeit bewältigen kann. Die beiden heute verfügbaren Hauptauswahl, um dies bereitzustellen, sind Infiniband und Rocev2.
Wie wählen Sie zwischen Infiniband und Rocev2? Es ist eine große Sache, die Sie dazu zwingt, Rohgeschwindigkeit vor dem Price range auszugleichen und wie viel praktische Abstimmung Sie bereit sind.
Schauen wir uns jede Technologie genauer an, um ihre Stärken und Schwächen zu erkennen.
Grundkonzepte
Bevor wir Infiniband und Rocev2 vergleichen, verstehen wir zunächst, wie die traditionelle Kommunikation funktioniert, und stellen einige grundlegende Konzepte wie RDMA und GPU Direct ein.
Traditionelle Kommunikation
In traditionellen Systemen wird der größte Teil der Datenbewegung zwischen Maschinen von der CPU behandelt. Wenn eine GPU ihre Berechnung beendet und Daten an einen Distant -Knoten senden muss, folgt die folgenden Schritte:

- Die GPU schreibt die Daten in den Speicher des Methods (Host)
- Die CPU kopiert diese Daten in einen von der Netzwerkkarte verwendeten Puffer
- Die NIC (Netzwerkschnittstellenkarte) sendet die Daten über das Netzwerk
- Auf dem empfangenden Knoten liefert die NIC die Daten an die CPU
- Die CPU schreibt es in den Systemspeicher
- Die GPU liest es aus dem Systemspeicher
Dieser Ansatz eignet sich intestine für kleine Systeme, skaliert jedoch nicht für KI -Workloads. Wenn weitere Daten kopiert werden, beginnen sich die Verzögerungen zu summieren, und das Netzwerk kämpft darum, Schritt zu halten.
RDMA
Mit Distant Direct Reminiscence Entry (RDMA) kann ein lokaler Pc direkt auf den Speicher eines Distant -Computer systems zugreifen, ohne die CPU in den Datenübertragungsvorgang einzubeziehen. In dieser Architektur übernimmt die Netzwerkschnittstellenkarte alle Speichervorgänge unabhängig voneinander, sodass sie von den Distant -Speicherorten ausgelesen oder an die Speicherorte schreiben kann, ohne Zwischenkopien der Daten zu erstellen. Diese Funktion des direkten Speicherzugriffs beseitigt die herkömmlichen Engpässe, die mit CPU-vermittelten Datenübertragungen verbunden sind und die Gesamtsystemlatenz verringert.
RDMA erweist sich in KI -Schulungsumgebungen, in denen Tausende von GPUs Gradienteninformationen effizient teilen müssen, als besonders wertvoll. Durch die Umgehung des Betriebssystemverbrauchs und der Netzwerkverspätungen ermöglicht RDMA die für verteilte maschinellen Lernvorgänge wesentliche Kommunikation mit geringer Latenz.
Gpudirect rdma
GPUDIRECT ist die Artwork und Weise von Nvidia, GPUs über PCIE -Verbindungen direkt mit anderen {Hardware} sprechen zu lassen. Wenn eine GPU Daten auf ein anderes Gerät übertragen muss, muss sie den langen Weg unterwegs sein. Die Daten verlaufen zuerst vom GPU -Speicher zum Systemspeicher, dann greift das Empfangsgerät von dort aus. Gpudirect überspringt die CPU vollständig. Die Daten wechseln direkt von einer GPU zu einer anderen.
GPUDIRECT RDMA erweitert dies auf Netzwerktransfers, indem der NIC mit PCIe direkt auf den GPU -Speicher zugreifen kann.

Nachdem wir Konzepte wie RDMA und GPUDIRECT verstehen, schauen wir uns die Infrastrukturtechnologien infiniband und rocev2 an, die Gpudirect RDMA unterstützen.
Infiniband
Infiniband ist eine leistungsstarke Networking-Technologie, die speziell für Rechenzentren und Supercomputing-Umgebungen entwickelt wurde. Während Ethernet für den allgemeinen Verkehr gebaut wurde, ist Infiniband so konzipiert, dass sie hohe Geschwindigkeit und geringe Latenz für KI -Arbeitsbelastungen erfüllen.
Es ist wie ein Hochgeschwindigkeits-Kugelzug, in dem sowohl der Zug als auch die Gleise die Geschwindigkeit aufrechterhalten sollen. Infiniband folgt dem gleichen Konzept, alles, was die Kabel, Netzwerkkarten und Switches einschließlich der Daten schnell verschieben und Verzögerungen vermeiden.
Wie funktioniert es?
Infiniband arbeitet ganz anders als normales Ethernet. Das reguläre TCP/IP -Protokoll verwendet nicht. Stattdessen stützt es sich auf seine eigenen leichten Transportschichten, die für Geschwindigkeit und niedrige Latenz ausgelegt sind.
Im Kern von Infiniband steht RDMA, mit dem ein Server direkt auf den Speicher eines anderen zugreifen kann, ohne die CPU einzubeziehen. Infiniband unterstützt RDMA in {Hardware}, sodass die Netzwerkkarte, die als Host -Kanal -Adapter oder HCA bezeichnet wird, Datenübertragungen direkt übernimmt, ohne das Betriebssystem zu unterbrechen oder zusätzliche Kopien von Daten zu erstellen.
Infiniband verwendet auch ein verlustfreies Kommunikationsmodell. Es wird vermieden, dass Pakete auch unter starkem Verkehr durch die Verwendung einer Kreditregelung der Kreditbasis eingesetzt werden. Der Absender überträgt nur die Daten, wenn der Empfänger über genügend Pufferraum zur Verfügung steht.
In großen GPU -Clustern verschieben Infiniband -Schalter Daten zwischen Knoten mit extrem geringer Latenz, häufig unter einer Mikrosekunde. Und weil das gesamte System für diesen Zweck erstellt wurde, arbeitet alles von der {Hardware} bis zur Software program zusammen, um eine konsistente Kommunikation mit hohem Durchsatz zu liefern.
Lassen Sie uns eine einfache GPU-to-GPU-Kommunikation unter Verwendung des folgenden Diagramms verstehen-

- GPU 1 gibt Daten an seine HCA und überspringt die CPU
- Die HCA initiiert ein RDMA, das an die Distant -GPU schreibt
- Die Daten werden über den Infiniband -Swap übertragen
- Die empfangende HCA schreibt die Daten direkt in den Speicher von GPU 2
Stärke
- Schnell und vorhersehbar -Infiniband liefert eine extrem niedrige Latenz und eine hohe Bandbreite, wodurch große GPU-Cluster ohne Schluckauf effizient laufen.
- Gebaut für RDMA -Es behandelt RDMA in {Hardware} und verwendet eine Kredit-Foundation-Flussregelung, um Paketropfen auch unter schwerer Belastung zu vermeiden.
- Skalierbar – Da alle Teile des Methods für die Zusammenarbeit ausgelegt sind, wird die Leistung nicht beeinflusst, wenn dem Cluster zusätzliche Knoten hinzugefügt werden.
Schwächen
- Teuer – {Hardware} ist teuer und hauptsächlich mit Nvidia gebunden, was die Flexibilität einschränkt.
- Schwer zu verwalten – – Setup und Tuning erfordern spezielle Fähigkeiten. Es ist nicht so einfach wie Ethernet.
- Begrenzte Interoperabilität – Es ist nicht intestine mit Normal-IP-Netzwerken gespielt, was es für allgemeine Umgebungen weniger flexibel macht.
Rocev2
ROCEV2 (RDMA über konvergierter Ethernet -Model 2) bringt die Vorteile von RDMA in Normal -Ethernet -Netzwerke. ROCEV2 verfolgt einen anderen Ansatz als Infiniband. Anstatt benutzerdefinierte Netzwerkhardware zu benötigen, verwendet es nur Ihr reguläres IP -Netzwerk mit UDP für den Transport.
Stellen Sie sich vor, eine reguläre Autobahn mit einer Categorical -Spur nur für kritische Daten zu verbessern. Sie müssen das gesamte Straßensystem nicht wieder aufbauen. Sie müssen nur die schnelle Spur reservieren und die Verkehrssignale einstellen. ROCEV2 verwendet das gleiche Konzept, es liefert mithilfe des vorhandenen Ethernet-Methods Hochgeschwindigkeits- und Niedrig-Latenz-Kommunikation.
Wie funktioniert es?
ROCEV2 bringt RDMA durch Ausführen von UDP und IP zu Normal -Ethernet. Es funktioniert in regulären Layer 3 -Netzwerken, ohne einen dedizierten Stoff zu benötigen. Es verwendet Warenschalter und Router, wodurch es zugänglicher und kostengünstiger wird.
ROCEV2 ermöglicht wie Infiniband den direkten Speicherzugriff zwischen Maschinen. Der wichtigste Unterschied besteht darin, dass Infiniband während einer geschlossenen, dicht kontrollierten Umgebung die Flussregelung und -stauung verhandelt, ROCEV2 jedoch auf Verbesserungen an Ethernet beruht, wie z.
Prioritätsflussregelung (PFC) – verhindert den Paketverlust, indem sie den Verkehr in der Ethernet -Schicht basierend auf Priorität pausieren.
Explizite Überlastungsbenachrichtigung (ECN)– Markieren Sie Pakete, anstatt sie fallen zu lassen, wenn die Überlastung erkannt wird.
Quantisierte Überlastungsbenachrichtigung des Rechenzentrums (DCQCN)– Ein Überlastungskontrollprotokoll, das auf ECN -Signale reagiert, um den Verkehr reibungsloser zu verwalten.
Um ROCEV2 intestine funktionieren zu können, muss das zugrunde liegende Ethernet -Netzwerk verlustlos oder in der Nähe sein. Andernfalls fällt die RDMA -Leistung ab. Dies erfordert eine sorgfältige Konfiguration von Schalter, Warteschlangen und Durchflusssteuerungsmechanismen im gesamten Rechenzentrum.
Verstehen wir eine einfache GPU-to-GPU-Kommunikation mit dem folgenden Diagramm mit ROCEV2-

- GPU 1 gibt Daten an seine NIC und überspringt die CPU.
- Die NIC wickelt das RDMA -Schreiben in UDP/IP und sendet es über Ethernet.
- Die Daten fließen über Normal -Ethernet -Switches, die mit PFC und ECN konfiguriert sind.
- Die empfangende NIC schreibt die Daten direkt in den Speicher von GPU 2.
Stärke
Kostengünstig-ROCEV2 wird auf Normal-Ethernet-{Hardware} ausgeführt, sodass Sie keine spezialisierten Netzwerkstoffe oder mit Anbieter gesperrten Komponenten benötigen.
Einfacher zu bereitstellen-Da es vertraute IP-basierte Netzwerke verwendet, ist es für Groups, die bereits die Annahme von Ethernet-Rechenzentren bereits verwalten.
Versatile Integration– ROCEV2 funktioniert intestine in gemischten Umgebungen und integriert sich problemlos in vorhandene Layer 3 -Netzwerke.
Schwächen
Erfordert Tuning– Um Paketverlust zu vermeiden, hängt ROCEV2 von der sorgfältigen Konfiguration von PFC, ECN und Überlastungskontrolle ab. Eine schlechte Abstimmung kann die Leistung beeinträchtigen.
Weniger deterministisch-Im Gegensatz zu Infinibands eng kontrollierter Umgebung können Ethernet-basierte Netzwerke Variabilität in Latenz und Jitter einführen.
Komplex im Maßstab– Wenn die Cluster wachsen, wird die Aufrechterhaltung eines verlustfreien Ethernet -Stoffes mit konsistentem Verhalten immer schwieriger.
Abschluss
In einem groß angelegten GPU-Cluster ist die Rechenleistung wertlos, wenn das Netzwerk die Final nicht verarbeiten kann. Die Netzwerkleistung wird genauso wichtig wie der GPUs, da es das gesamte System zusammenhält. Technologien wie RDMA und GPUDIRECT RDMA tragen dazu bei, die üblichen Verlangsamungen zu verkürzen, indem sie unnötige Unterbrechungen und das Kopieren von CPU beseitigen und GPUs direkt miteinander sprechen lassen.
Sowohl Infiniband als auch Rocev2 beschleunigen die GPU-to-GPU-Kommunikation, verfolgen jedoch unterschiedliche Ansätze. Infiniband baut ein eigenes Netzwerk -Setup auf. Es bietet eine hervorragende Geschwindigkeit und geringe Latenz, aber zu hohen Kosten. ROCEV2 bietet mehr Flexibilität, indem das vorhandene Ethernet -Setup verwendet wird. Das Price range ist einfacher, aber es braucht eine ordnungsgemäße Abstimmung von PFC und ECN, damit es funktioniert.
Am Ende des Tages ist es ein klassischer Kompromiss. Gehen Sie mit Infiniband, wenn Ihre oberste Priorität darin besteht, die bestmögliche Leistung zu erzielen, und das Price range ist weniger besorgniserregend. Wenn Sie jedoch eine flexiblere Lösung wünschen, die mit Ihrem vorhandenen Netzwerkausrüstung funktioniert und weniger im Voraus kostet, ist Rocev2 der richtige Weg.
