Netzwerkoffloading, RDMA und deren Wichtigkeit

Um was geht es bei Offloading?

In diesem Artikel möchte ich eine Netzwerkadapter Technologie mit dem Namen RDMA beschreiben. Bevor wir uns jedoch mit RDMA beschäftigen, müssen wir zuerst klären wieso wir überhaupt eine solche Technologie brauchen könnten.

Bei vielen meiner Kunden ist mittlerweile eine Netzwerkgeschwindigkeit im LAN von 1 Gbps Standard. Im Rechencenter wo die Server angebunden sind, treffe ich einerseits vielfach Teaming Technologien an, also dass man mehrere Adapter zusammenfasst und somit 2, 4, 5 Gbps erhält, oder dann hat 10 Gbps oder mehr bereits Einzug gehalten.

Schaut man auf Lösungen wie Microsoft Azure Stack HCI (S2D) oder natürlich die Cloud, dann reichen aber solche Geschwindigkeiten niemals aus. Daher hat die Industrie auch reagiert und es gibt daher auch bereits Adapter, die mit bis zu 200 Gbps Bandbreite daherkommen.

Das Problem mit TCP/IP

TCP/IP wurde nie dazu entwickelt schnelle Verbindungen, Bandbreiten zu bewältigen. Daher ist IP auch relativ fehleranfällig und es werden zur Sicherheit immer Checksummen Berechnungen durchgeführt- dies, um sicherzustellen das das Paket, das gesendet wurde, auch genauso angekommen ist.

Nun muss irgendwer diese Berechnungen machen und dies ist immer die CPU des physikalischen Hosts. Wenn nun die Bandbreite mehr wird, also 10, 20, 40, 100Gb oder mehr, dann werden folglich auch diese Berechnungen immer grösser und belasten die CPU.

Wenn wir die CPU belasten, verbrennen wir Energie und verlieren die CPU Rechenleistung natürlich auch für die Aufgaben, die wir eigentlich damit erledigen wollten.

Ethernet Overhead Symbolbild

Lösungsansatz RDMA

Lösungsansätze und Technologien gibt es einige, in der Regel alles «Offloading» Technologien, also wir laden die Last, die wir auf der CPU generieren wo anders ab.

RDMA (Remote Direct Memory Access) unterstützt das System, indem es dem Netzwerkadapter ermöglicht, Daten vom Netzwerkanschluss direkt in den Anwendungsspeicher oder aus dem Anwendungsspeicher direkt auf den Netzwerkanschluss zu schreiben. Dadurch werden keine Daten zwischen Anwendungsspeicher und Datenpuffern des Betriebssystems transferiert, sondern wir schreiben vom RAM eines Servers direkt ins RAM des anderen Servers und dies über den RDMA fähigen Netzwerkadapter.

RDMA Ethernet Offloading Verbindungsaufbau

Dies wiederum sorgt dafür, dass solche Transfers ohne das Zutun der CPU und allfälligen Caches ablaufen, was wiederum ermöglicht Datentransfers parallel zu anderen Systemoperationen zu vollziehen. Dies ermöglicht uns am Ende des Tages schnellere Übertragungen, ohne dabei Performance- oder Stabilitätseinbussen des Betriebssystems hinnehmen zu müssen.

RDMA funktioniert ab einer Bandbreite von 10 Gbps. Die NIC muss jedoch RDMA unterstützen. Windows Server tut dies seit Version 2012 RTM und aktiviert RDMA auch immer auf einer Karte die Bandbreiten ab 10 Gbps liefert.

Achtung beim Hardware Einkauf

Viele Hardware Hersteller sind leider der Meinung das 50.- weniger in der Offerte für den Kunden attraktiver sind als ein Netzwerkadapter, der das System entlastet.

Daher, wenn du einen Server beschaffen darfst- dann achte bitte darauf, dass der Adapter auch RDMA fähig ist. Die üblichen Verdächtigen wie Intel, Broadcom und wie sie alle heissen, werdet ihr in der Regel nicht gleich antreffen bei der Wahl nach einem RDMA Adapter. Der Hintergrund ist ein einfacher, die haben den Zug verpasst und andere Hersteller sind hier eingesprungen die weit mehr Erfahrung mit solchen Technologien haben. Namentlich sind das in der Regel Mellanox und Chelsio.

Ich werde in dem Artikel nicht tiefer auf die beiden eingehen- ich schreibe dazu einen weiteren Artikel, den ihr demnächst auch hier findet.

Soviel sei aber an der Stelle gesagt- wenn ihr nicht genau wisst was ihr macht und auch auf Nummer sicher in der Supportability gehen wollt- dann empfehle ich euch Chelsio!

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert