Search

Fibre Channel, InfiniBand und Ethernet – Wer gewinnt?

2021-11-15
378
0

Pit’s IT Architecture Talk

#19 Fibre Channel, InfiniBand und Ethernet – Wer gewinnt?

Hinweis: Die in diesem Artikel zum Ausdruck gebrachten Ansichten und Meinungen sind die des Autors und spiegeln nicht notwendigerweise die offizielle Politik, Position, Produkte und Technologien der Huawei Deutschland GmbH wieder. Wenn Sie mehr über die Produkte und Technologien der Huawei Technologies Deutschland GmbH erfahren möchten, besuchen Sie bitte unsere Produktseiten oder kontaktieren Sie uns.


Vorab, sowohl Fibre Channel (FC), als auch InfiniBand (IB) und Ethernet sowieso – alle diese Übertragungs­technologien werden uns auch noch in weiter Zukunft begleiten. In den jeweiligen Bereichen sind diese Standards so weit verbreitet und beim Personal manifestiert, dass sie nicht so schnell abgelöst werden. Wie auch immer, man sollte die Augen offenhalten und den Markt beobachten.

FC ist fokussiert auf den Datentransport zwischen Servern und Storage, also ein typisches Storage-Protokoll. Ich habe bereits unter „Storage-Netzwerke im Umbruch! Wie wählt man die richtige Lösung?“ und unter „Was sind hyperkonvergente Netzwerke?“ einiges dazu geschrieben. Daher wird es hier nicht weiter vertieft. Gehen wir zu InfiniBand. Dieses Protokoll wird hauptsächlich im High-Performance-Computing (HPC) eingesetzt und dort hat es sich bewährt. Daneben nutzen es manche Hersteller, um eine latenzarme und breitbandige Anbindung zwischen scale-out Nodes und/oder Storage zu realisieren. Damit sind wir schon bei den beiden Vorteilen von IB. Geringe Latenz und relativ hohe Bandbreite. Entwickelt wurde es noch in der Zeit, als wir bei 1Gb-Ethernet waren. Damals schaffte IB immerhin schon 8 Gb. Heute sieht die Welt schon anders aus. InfiniBand schafft in der HDR-Release 200 Gb, bei Ethernet sind es schon 400 Gb und die 800 Gb sind gar nicht mehr so weit entfernt. In Bezug auf Bandbreite ist Ethernet schon mal der Sieger. Dann bleibt nur noch das Thema Latenz.

Die geringe Latenz von IB liegt im Wesentlichen an der Verwendung von RDMA – also Remote Direct Memory Access. Damit entfällt eine Menge an Overhead, wie unten gezeigt.

Abbildung 1: Standard TCP/IP versus RDMA Datenübertragung

Erstens hat sich die allgemein verfügbare Ethernet-basierte Technologie weiterentwickelt. Heute stehen uns Bandbreiten bis zu 400Gb zur Verfügung und 800Gb klopft schon an die Tür. Zusätzlich sind verlustfreie (lossless) RDMA-Standards, wie z.B. RoCE, den Kinderschuhen entwachsen und werden breitflächig eingesetzt.

Auf der linken Seite ist die Datenübertragung des sendenden TCP/IP-Nodes dargestellt. Hier fällt sofort auf, dass die Daten von der Anwendung bis zur Netzwerkkarte 3-mal kopiert werden müssen. Und dies gilt für den sendenden und den empfangenden Node. Dies erhöht nicht nur die Latenz, sondern auch den CPU-Overhead gegenüber RDMA enorm. Nicht umsonst nutzen Public-Cloud-Anbieter diese Technologie um kostbare CPU-, GPU- und NPU-Zyklen einzusparen.

Sollten wir jetzt ein dediziertes High-Performance-Netzwerk aufbauen?

Genau dies ist heute nicht mehr nötig. Dank RDMA over Converged Ethernet (RoCE) kann die bekannte Ethernet-Infrastruktur genutzt werden. RoCE wurde von der InfiniBand Trade Association spezifiziert (IBTA). Die aktuelle Version 2 ist oberhalb vom Netzwerk-Layer 3 implementiert und damit über die vorhandene Infrastruktur routingfähig, s.u.


Abbildung 2: RoCE Network Protocol Stack

Bemerkenswert ist hier die Implementierung oberhalb von UDP. UDP ist wesentlich effizienter als TCP, hat aber den Nachteil, dass der Layer oberhalb, in diesem Fall das InfiniBand Transport Protocol, für den ordnungsgemäßen Empfang der Daten verantwortlich ist. Wird also ein UDP-Datagramm verworfen, z.B. durch Überlastung einer Verbindung, muss das IB Transport Protocol dieses erneut anfordern. Das kostet viel Zeit und widerspricht damit dem Anspruch auf geringe Latenz. Auch wenn RoCEv2 prinzipiell über verlustbehaftete Strecken übertragen werden kann, ist eine garantiert verlustlose Übertragung zu bevorzugen.

 Wie bekommt man das Ethernet verlustlos?

Die häufigste Ursache für Übertragungsverluste im Ethernet-Netzwerk entstehen durch Überlastung (englisch congestion) von Netzwerkkomponenten die am Transfer beteiligt sind. Dies tritt auf, wenn der oder die Sender schneller Daten senden, als der Empfänger aufnehmen kann. Innerhalb einer Verbindung wurde dazu Priority Flow Control (PFC) standardisiert (IEEE 802.1Qbb). Wie das Wort „Priority“ vermuten lässt, können verschiedenen Netzwerkübertragungen unterschiedliche Prioritäten zugeordnet werden. Die einzelnen Netzwerkkomponenten unterhalten dafür separate Pufferspeicher (englisch buffer). Wenn der Empfänger, das kann auch der Switch sein, ein Überlaufen des Buffers bemerkt, kann er Pause-Frames zu dem jeweiligen Sender schicken, der daraufhin das Senden unterbricht. Diese Pause-Frames pflanzen sich damit im Netzwerk bis zum ursprünglichen Sender fort. Ohne genauer in die Details zu gehen, kann dadurch im schlechtesten Fall das gesamte Netzwerk blockiert werden (PFC Deadlock). Huawei hat dazu eine Technologie entwickelt, die diesen Deadlock ausschließt und uns dem lossless Netzwerk ein Stück näherbringt.

PFC wirkt aber nur innerhalb einer Verbindung. Gerade zwischen den Switchen finden aber Kommunikationen aus vielen verschiedenen Verbindungen statt. Dafür wurde im Rahmen von RoCE Data Center Quantized Congestion Notification (DCQCN) entwickelt. Dabei werden basierend auf oberen und unteren Schwellwerten Nachrichten zum Sender geschickt und dieser drosselt darauffolgend die Sendeleistung Schritt für Schritt. Wenn die Überlastung beendet ist, kann der Sender sofort wieder auf volle Leistung gehen. Die Kunst dabei ist allerdings, die Schwellwerte zu bestimmen. Erfolgt dies statisch, kann es passieren, dass die Leistung gedrosselt wird, obwohl noch Bandbreite zur Verfügung steht. Auch dazu hat sich Huawei Gedanken gemacht und eine entsprechende Lösung auf den Switchen implementiert. Ganz zeitgemäß basiert diese auf Künstlicher Intelligenz (KI). Diese KI analysiert ständig das Netzwerk, lernt aus verschiedenen Lastsituationen und passt die Schwellwerte dynamisch an. So wird immer das Maximum aus dem Netzwerk herausgeholt und eine verlustfreie Datenübertragung gewährleistet.

Und nun zum Anfang der Frage, welche Technologie sich durchsetzt? Dies ist ganz klar Ethernet. Vielleicht dauert es noch etwas, Großrechner gibt es ja auch immer noch. Aber am Ende hat immer das Bessere gewonnen. Und Ethernet ist sowohl im Preis als auch in der Leistung, zumindest bei Huawei, FC und IB überlegen.


Bis bald!

Pit

TOP