Stornieren
https://media.fs.com/images/community/wp-content/uploads/2019/04/Cover-1.jpg

RoCE: RDMA over Converged Ethernet für hocheffiziente Netzwerkleistung

Irving

Übersetzer*in Felix
9. Juli 2021

Da die traditionellen TCP/IP-Ethernet-Verbindungen CPU-intensiv sind und eine zusätzliche Verarbeitung und das Kopieren der Daten erfordern, können sie die aktuellen Netzwerkanforderungen nicht mehr erfüllen. In diesem Zusammenhang kommt das RDMA over Converged Ethernet (RoCE) ins Spiel.

Hintergrundwissen: Was ist RDMA?

RDMA (Remote Direct Memory Access) ist eine Technologie, die einen direkten Speicherzugriff vom Speicher eines Hosts oder Servers auf den Speicher eines anderen Hosts oder Servers ermöglicht, ohne dass die CPU beteiligt ist. Dadurch werden die CPUs für die eigentliche Arbeit, wie das Ausführen von Anwendungen und die Verarbeitung großer Datenmengen, entlastet. Dann kann die Netzwerk- und Host-Performance mit geringerer Latenz, geringerer CPU-Belastung und höherer Bandbreite kostengünstig erreicht werden.

RDMA Technology

Abbildung 1: RDMA-Technologie

RoCE-Übersicht

Was ist RoCE?

Wie der Name schon sagt, ist RoCE ein Netzwerkprotokoll, das im Standard der InfiniBand Trade Association (IBTA) definiert ist und RDMA über ein konvergiertes Ethernet-Netzwerk ermöglicht. Kurz gesagt kann es als Anwendung der RDMA-Technologie in hyperkonvergenten Rechenzentren, Cloud-, Speicher- und virtualisierten Umgebungen betrachtet werden. Es verfügt über alle Vorteile der RDMA-Technologie und die Vertrautheit von Ethernet.

Typen von RoCE

Im Allgemeinen gibt es zwei RoCE-Versionen: RoCE v1 und RoCE v2. Es kommt auf den verwendeten Netzwerkadapter oder die Karte an.

RoCE v1: Das RoCE v1-Protokoll ist ein Ethernet-Link-Layer-Protokoll, das zwei Hosts in derselben Ethernet-Broadcast-Domäne (VLAN) die Kommunikation ermöglicht. Es verwendet den Ethertype 0x8915, der die Frame-Länge auf 1500 Byte für einen Standard-Ethernet-Frame und 9000 Byte für einen Ethernet-Jumbo-Frame begrenzt.

RoCE v2: Das RoCE v2-Protokoll überwindet die Beschränkung der Version 1, die auf eine einzige Broadcast-Domäne (VLAN) begrenzt ist. Durch die Änderung der Paketkapselung, die IP- und UDP-Header einschließt, kann RoCE v2 nun sowohl in L2- als auch in L3-Netzwerken eingesetzt werden. Dies ermöglicht Layer-3-Routing, wodurch RDMA in Netzwerken mit mehreren Subnetzen für eine hohe Skalierbarkeit sorgt. Daher wird RoCE v2 auch als Routable RoCE (RRoCE) bezeichnet. Mit dem Erscheinen von RoCE v2 ist nun auch IP-Multicast möglich.

RoCE v1 vs RoCE v2 Packet Format

Abbildung 2: RoCE v1 vs. RoCE v2 Paket Format

Wie kann RoCE realisiert werden?

Um RDMA über konvergentes Ethernet für ein Rechenzentrum zu realisieren, können Sie im Allgemeinen Netzwerkadapter oder Kartentreiber installieren, die RoCE unterstützen. Alle Ethernet-NICs benötigen RoCE-Netzwerkadapterkarten. RoCE-Treiber sind in Red Hat, Linux, Microsoft Windows und anderen gängigen Betriebssystemen verfügbar. RoCE ist auf zwei Arten verfügbar. Für einen Netzwerk-Switch können Sie den Switch mit einem Betriebssystem verwenden, das PFC (Priority Flow Control) unterstützt. Für einen Rack-Server oder Host müssen Sie eine Netzwerkadapterkarte verwenden, wie z. B. ConnectX-3 pro und ConnectX-4 und höher.

RoCE

Abbildung 3: RoCE

Vorteile von RoCE

Geringe CPU-Belastung: Zugriff auf den Speicher des entfernten Switches oder Servers, ohne CPU-Zyklen auf dem entfernten Server zu verbrauchen, was die volle Nutzung der verfügbaren Bandbreite und eine höhere Skalierbarkeit ermöglicht.
Before Vs. After RoCE

Abbildung 4: Vor vs. Nach RoCE

Zero-Copy: Senden und Empfangen von Daten zu und von entfernten Puffern.
Hochproduktiv: Da die Latenz und der Durchsatz durch RoCE verbessert wurden, hat die Netzwerkleistung stark zugenommen.
Hochproduktiv: Da die Latenz und der Durchsatz durch RoCE verbessert wurden, hat die Netzwerkleistung stark zugenommen.

FAQs über RoCE

Hier finden Sie eine Liste mit häufig gestellten Fragen zu RoCE, damit Sie es besser verstehen.

1. Welche FS-Switches oder Netzwerkkarten/-adapter unterstützen RoCE?

Bisher unterstützen die Switches der FS N-Serie mit Cumulus OS und die S58/80-Serie RoCE v1 und v2. Kunden müssen ihre PFC-Funktion nach dem Kauf eines RDMA-Switches aktivieren. Was die Adapter und Karten betrifft, so ist RoCE in FS noch nicht verfügbar.

2. Was ist der Unterschied zwischen RoCE und iWARP?

Wie das RoCE-Netzwerkprotokoll unterstützt auch iWARP (Internet Wide Area RDMA Protocol) die RDMA-Funktion mit geringerer Latenz. Allerdings ist RoCE die einzige Ethernet-basierte RDMA-Lösung nach Industriestandard mit einem Ökosystem aus mehreren Herstellern, die Netzwerkadapter liefern und über Standard-Layer-2- und Layer-3-Ethernet-Switches arbeiten. Und iWARP hat nur minimale Unterstützung erfahren. iWARP verwendet eine komplexe Mischung aus Schichten, einschließlich DDP (Direct Data Placement), einer als MPA (Marker PDU Aligned framing) bekannten Optimierung und einem separaten RDMA-Protokoll (RDMAP), um RDMA-Dienste über TCP/IP bereitzustellen. Mit einer solch komplexen Architektur wird es für das iWARP-Protokoll schwierig, RDMA auf die bestehenden Software-Transport-Frameworks anzuwenden. Nach einem solchen Kompromiss werden der Durchsatz, die Latenz und die CPU-Auslastung für iWARP gedämpft werden.

iWARP's Complex Network Layers Vs. RoCE’s Simpler Model

Abbildung 5: Die komplexen Netzwerkschichten von iWARP im Vergleich zum einfacheren Modell von RoCE

3. Können RoCE-Adapter mit anderen Adaptertypen, wie z.B. iWARP, kommunizieren?

RoCE-Adapter können nur mit anderen RoCE-Adaptern kommunizieren. Alle Konfigurationen, die versuchen, Adaptertypen zu mischen, z. B. RoCE-Adapter kombiniert mit iWARP-Adaptern, werden wahrscheinlich auf traditionelle TCP/IP-Verbindungen zurückgreifen.

Fazit

Durch den Einsatz von RDMA in Rechenzentren kann ein Offloading der Datenbewegung und eine höhere Verfügbarkeit von CPU-Ressourcen für die Anwendung erreicht werden. Anwender von RoCE können von den Möglichkeiten von RDMA profitieren, ohne ihre Netzwerkinfrastruktur zu ändern. Durch die Reduzierung der Ethernet-Netzwerklatenz und die Auslagerung des CPU-Overheads steigert RoCE die Leistung von Such-, Speicher-, Datenbank-, Finanz- und Anwendungen mit hoher Transaktionsrate. Durch die Erhöhung der CPU-Effizienz und die Verbesserung der Anwendungsleistung kann RoCE die Anzahl der benötigten Server reduzieren, was zu Energieeinsparungen führt und den Platzbedarf von Ethernet-basierten Rechenzentren verringert.

318

Das könnte Sie auch interessieren