RoCE ist eine Technologie, die die Anforderungen von Anwendungen mit hoher Bandbreite und hoher Leistung erfüllt. Das herkömmliche TCP/IP-Protokoll weist eine hohe Latenz und eine ineffiziente Bandbreitennutzung auf und kann die wachsenden Netzwerkanforderungen nicht erfüllen, daher wurde RoCE entwickelt. Es integriert den Remote-Speicherzugriff über RDMA-Technologie in Ethernet, wodurch die Effizienz der Datenübertragung erheblich verbessert und die Latenz reduziert wird. Dieser Artikel vermittelt Ihnen ein detailliertes Verständnis davon, was RoCE ist, damit Sie ein tiefgehendes Verständnis davon erlangen können.
Was ist ein RoCE-Netzwerk
RoCE (RDMA over Converged Ethernet) ist eine Ethernet-basierte Remote-Direct-Memory-Access-(RDMA)-Technologie, die darauf ausgelegt ist, Datenübertragung mit niedriger Latenz und hohem Durchsatz über verlustfreies Ethernet zu erreichen. Die RoCE-Technologie führt RDMA-Technologie aus dem High-Performance-Computing und aus Netzwerken in die standardmäßige Ethernet-Infrastruktur ein und verleiht herkömmlichem Ethernet RDMA-Fähigkeiten sowie Eigenschaften des High-Performance-Computings. Daher bietet die RoCE-Technologie die starken Vorteile von Ethernet und RDMA.
Die RoCE-Technologie ermöglicht es, auf bestehenden Ethernet-Netzwerken eine hohe Leistung ähnlich wie bei InfiniBand zu erzielen. Sie reduziert die Latenz und erhöht die Bandbreite durch Optimierung der Ethernet-Protokolle. Im Vergleich zu herkömmlichem Ethernet bietet RoCE eine geringere Latenz und einen höheren Durchsatz, während eine enge Kompatibilität mit bestehenden Ethernet-Geräten gewahrt bleibt.
Vorteile von RoCE: Die Hauptvorteile von RoCE sind seine Kosteneffizienz und Kompatibilität. Da es auf Ethernet-Standards basiert, kann es ausgereifte Netzwerkgeräte und Kabel auf dem Markt nutzen, unterliegt keinen Einschränkungen durch einzelne Marken oder Regionen und bietet gute Lieferzyklen und einen guten Kundendienst. Entscheidend ist, dass es auch eine hervorragende Kompatibilität mit Ethernet und seinen Geräten bietet, wodurch die Flexibilität erheblich verbessert und die Kosten gesenkt werden. Daher wird die RoCE-Technologie zunehmend in Rechenzentren, HPC-Hochleistungsspeichern, künstlicher Intelligenz und anderen Bereichen eingesetzt und entwickelt sich zu einer kosteneffizienten Verbindungstechnologie für GPU-Serververbindungen. QSFPTEK bietet L3/L3+-Switches die RoCE2 unterstützen.
Entwicklung und Typen von RoCE
RoCE v1
Im April 2010 veröffentlichte IBTA RoCE. Dieser Standard wurde als Ergänzung zur Infiniband Architecture Specification veröffentlicht, daher wird er auch IBoE (InfiniBand over Ethernet) genannt. Zu diesem Zeitpunkt ersetzte der RoCE-Standard die TCP/IP-Netzwerkschicht durch die IB-Netzwerkschicht auf der Ethernet-Verbindungsschicht, unterstützt also kein IP-Routing und wird daher RoCE v1 genannt.
RoCE v1 (Layer 2) arbeitet auf dem Ethernet Link Layer (Layer 2), daher ist die typeID des RoCE-v1-Protokolls auf der Ethernet-Ebene 0x8915, die normale Frame-Größe beträgt 1500 Byte und der Jumbo Frame 9000 Byte.
RoCE v1 ist ein RDMA-Protokoll, das auf Basis der Ethernet-Verbindungsschicht implementiert ist (der Switch muss Flow-Control-Technologien wie PFC unterstützen, um eine zuverlässige Übertragung auf der physischen Schicht sicherzustellen), sodass zwei Hosts im selben VLAN kommunizieren können.
RoCE v2
Da der Datenrahmen von RoCE v1 keinen IP-Header enthält, kann er nur innerhalb des L2-Subnetzes kommunizieren. Um dieses Problem zu lösen, schlug IBTA 2014 RoCE V2 vor. RoCE v2 ist eine Erweiterung von RoCE v1, bei der der GRH (Global Routing Header) durch einen UDP-Header + IP-Header ersetzt wird. RoCE v2 überwindet die Einschränkung von RoCE v1, an ein einzelnes VLAN gebunden zu sein. Durch Änderung der Paketkapselung, einschließlich der IP- und UDP-Header, kann RoCE v2 über L2- und L3-Netzwerke hinweg verwendet werden. Die erweiterte Rahmenstruktur ist in der folgenden Abbildung dargestellt.
RoCE v2 (Layer 3) arbeitet mit UDP/IPv4 oder UDP/IPv6 (Layer 3) und verwendet UDP-Port 4791 für die Übertragung. Da RoCE-v2-Pakete auf Layer 3 routingfähig sind, kann RoCE v2 auch als Routable RoCE oder kurz RRoCE bezeichnet werden.
RoCE v2 ist eine Weiterentwicklung und Verbesserung der vorherigen Generation RoCE v1. Durch die Einführung einer Reihe von Verbesserungen löst es die ursprünglichen Einschränkungen effektiv und verbessert die Leistung umfassend. Die Version der zweiten Generation, RoCE v2, zeichnet sich durch ihre deutliche Leistungssteigerung und größere Flexibilität aus und ist zur Mainstream-Anwendung auf dem Markt geworden.
Implementierung von RoCE
Um eine RoCE-Verbindung herzustellen, muss auf dem Netzwerkkartengerät ein Treiber installiert sein, der RoCE unterstützt. Alle Ethernet-NICs (Network Interface Cards) müssen RoCE-Netzwerkadapterkarten (d. h. RoCE-Netzwerkkarten) unterstützen. RoCE-Treiber sind in Red Hat, Linux, Windows und anderen gängigen Betriebssystemen verfügbar. Daher sind drei Methoden erforderlich, um RoCE-Netzwerke zu implementieren:
a. Für Server oder Hostgeräte müssen Sie RoCE-Netzwerkkarten zur Verbindung verwenden.
b. Wählen Sie für Netzwerk-Switches Switches, die PFC-Betriebssysteme unterstützen. PFC, oder Priority Flow Control, ist eines der notwendigen Mittel zum Aufbau eines verlustfreien Ethernets. Es kann eine prioritätsbasierte Flusskontrolle Hop für Hop bereitstellen. Diese individuelle Flusskontrollmethode ermöglicht es dem Netzwerk, reibungslos zu bleiben, wenn ein Teil des Datenverkehrs überlastet ist, während gleichzeitig Störungen anderer Datenströme verhindert werden, wodurch eine hohe Bandbreite und geringe Latenz gewährleistet werden.
c. Erstellen Sie eine intelligente verlustfreie Ethernet-Architektur.
RoCE NIC
RoCE NIC ist eine Netzwerkkarte, die das RoCE-Protokoll unterstützt. Sie verwendet RDMA-Technologie und integriert notwendige Hardwarefunktionen. Sie kann die CPU von rechenintensiven Aufgaben entlasten, wodurch die Latenz der Datenübertragung deutlich reduziert und die Betriebsleistung sowie die Bandbreite des gesamten Systems effektiv verbessert werden.
Hochleistungs- und Hochbandbreiten-Switch
Aufgrund der Nachfrage nach großer Bandbreite erfordert RoCE häufig die Unterstützung durch leistungsstarke Switches mit hoher Bandbreite. Die zentrale Grundlage für den Aufbau leistungsstarker Netzwerk-Switches mit hoher Bandbreite liegt in der Forwarding-Chip-Technologie des Switches.
Intelligente und verlustfreie Ethernet-Architektur
Zusätzlich zu den oben genannten Hardware-Ressourcen müssen wir im RoCE-Netzwerk außerdem eine intelligente verlustfreie Ethernet-Architektur aufbauen, um sicherzustellen, dass es während der Netzwerkübertragung zu keinem Paketverlust kommt.
Intelligente verlustfreie Netzwerke verwenden Flusskontrolltechnologie und Überlastkontrolltechnologie, um den gesamten Netzwerkdurchsatz zu verbessern und die Netzwerklatenz zu reduzieren. Andererseits nutzen sie Technologien wie intelligente verlustfreie Speichernetzwerke, um eine integrierte Optimierung von Netzwerk- und Anwendungssystemen zu erreichen. Entsprechend der Zuordnung zwischen intelligenter verlustfreier Netzwerktechnologie und TCP/IP-Protokollstapel zeigt das Folgende das technische Architekturdiagramm des intelligenten verlustfreien Netzwerks:
Vergleich zwischen IB- und RoCE v2-Netzwerken
Technischer Vergleich
Aus technischer Sicht verwendet InfiniBand viele Technologien, um die Netzwerkweiterleitungsleistung zu verbessern, die Fehlerwiederherstellungszeit zu verkürzen, die Skalierbarkeit zu verbessern und die Komplexität von Betrieb und Wartung zu reduzieren.
Vergleich von Geschäftsszenarien
Geschäftsleistung: Da die Ende-zu-Ende-Latenz von InfiniBand geringer ist als die von RoCE v2, hat das auf InfiniBand aufgebaute Netzwerk einen Vorteil bei der Geschäftsleistung auf Anwendungsebene. Die Leistung von RoCE v2 kann jedoch auch die Geschäftsleistungsanforderungen der meisten intelligenten Computing-Szenarien erfüllen.
Unternehmensgröße: InfiniBand kann einen einzelnen Cluster mit 10.000 GPU-Karten unterstützen und sicherstellen, dass die Gesamtleistung nicht abnimmt; zudem gibt es in der Branche viele kommerzielle Praxisbeispiele. Ein RoCE v2-Netzwerk kann eine Größenordnung von 1.000 GPU-Karten in einem einzelnen Cluster unterstützen, ohne dass die Gesamtleistung des Netzwerks wesentlich sinkt.
Geschäftsbetrieb und Wartung: InfiniBand ist ausgereifter als RoCE v2, einschließlich Funktionen zur Mandantenisolierung, Diagnosefunktionen für Betrieb und Wartung usw.
Geschäftskosten: Die Kosten von InfiniBand sind höher als die von RoCE v2, hauptsächlich weil die Kosten für InfiniBand-Switches und -Module höher sind als die von Ethernet-Switches.
Fazit
RoCE überbrückt die Lücke zwischen Hochleistungsrechnen und Ethernet-basierten Netzwerken, indem es RDMA-Funktionen in die Ethernet-Infrastruktur integriert. Es bietet geringe Latenz, hohe Bandbreite und Kosteneffizienz und ist damit eine ideale Wahl für Anwendungen wie Rechenzentren und Cloud Computing. Im Vergleich zu InfiniBand bietet es eine breitere Kompatibilität und geringere Kosten. Obwohl RoCE bei Latenz und Multi-Tenant-Management etwas unterlegen ist, ist es eine äußerst wettbewerbsfähige Alternative, die die Stellung von InfiniBand aufbricht.






