turbomotion046 - stock.adobe.com
Diese Details von NVMe over TCP sollten Sie kennen
NVMe over TCP könnte eine neue Generation von Speicherangeboten ermöglichen. Nachteile wie erhöhte Latenzen werden durch einfache Installation und niedrige Kosten kompensiert.
Die jüngste Version der Spezifikation von NVMe over Fabrics+, NVMe-oF 1.1, schließt Support für die Transportverbindung von TCP ein. Die Ergänzung von NVMe over TCP ermöglicht den Einsatz von NVMe-oF über ein standardmäßiges Ethernet-Netzwerk ohne Konfigurationsänderungen oder ohne die Implementierung von besonderer Ausrüstung.
Obwohl NVMe-oF eine junge Technologie ist, wird sie bereits weitgehend in Netzwerkarchitekturen verwendet: Sie stellt ein hochmodernes Speicherprotokoll zur Verfügung, das sich – anders als ältere Protokolle wie zum Beispiel iSCSI – die ganzen Vorteile von heutigen SSDs zu eigen machen kann.
NVMe-oF kann die Lücke zwischen DAS und SANs überbrücken und ermöglicht es Unternehmen, Workloads, die hohen Durchsatz und niedrige Latenzen erfordern, effektiver zu unterstützen – einschließlich Artificial Intelligence (AI), Machine Learning und Echtzeitanalysen. Indem TCP zum Standard hinzugefügt wurde, ist NVMe-oF noch nutzbringender als vorher.
Was ist die TCP-Transportverbindung?
Vor der Version 1.1 von NVMe-oF war die NVMe-Spezifikation auf Fibre Channel und Remote Direct Memory Access Fabrics (RDMA) wie zum Beispiel InfiniBand, RDMA over Converged Ethernet und das Internet Wide Area RDMA Protocol begrenzt. Obwohl diese gut bekannte Netzwerktechnologien sind, können sie komplex zu installieren sein oder spezielle Ausrüstung und Konfigurationen erfordern. Die TCP-Transportverbindung kann sowohl auf einem Ethernet-Netzwerk als auch im Internet genutzt werden und viele dieser Probleme erledigen.
TCP ist ein weitgehend akzeptierter Standard, der definiert, wie Netzwerkverbindungen eingerichtet und unterhalten werden, wenn Anwendungsdaten über ein Netzwerk ausgetauscht werden. Das Protokoll legt fest, wie Botschaften in kleinere Pakete zerlegt werden, bevor sie verschickt werden, und wie sie wieder an ihrem Zielort zusammengesetzt werden. Dabei wird sichergestellt, dass alle Daten übertragen und korrekt erhalten wurden.
TCP arbeitet in Verbindung mit dem Internet Protocol (IP), das festlegt, wie jedes Paket zu adressieren und loszuschicken ist, so dass es das richtige Ziel erreicht. Sowohl TCP als auch IP sind Teil der TCP/IP-Suite von Kommunikationsprotokollen, mit denen die Kommunikation über das Internet und private Netzwerke erleichtert wird.
TCP/IP ist in vier Schichten aufgeteilt: Anwendung, Transport, Netzwerk und physischer Layer. Die Transportschicht umfasst TCP, die Netzwerkschicht IP und der physische Layer umfasst das Ethernet, das einen Standard für Verbindungen von TCP/IP-Knoten in einem Local Area Network (LAN) definiert.
Wie Daten eingekapselt und weitergeleitet werden
Die TCP-Transportverbindung in NVMe-oF legt die Methodologie fest, mit der Daten eingekapselt und zwischen einem Host und einem nicht-flüchtigen Memory-Subsystem weitergeleitet werden. Obwohl die NVMe/TCP-Spezifikation sich primär auf softwarebasierte Installationen bezieht, die TCP-Anwendungsschnittstellen benutzen, gibt es keine Anhaltspunkte in der Spezifikation, warum NVMe over TCP nicht auch für hardwarebasierte Installationen genutzt werden könnte.
Dave Minturn, Principal Engineer bei Intel erklärt im folgenden Video NVMe/TCP, die vierte NVMe-Transportform.
Die TCP-Verbindung legt fest, wie Queues, Datenkapseln und Daten abgebildet werden sollten, um TCP-basierte Verbindungen zwischen NVMe-oF-Hosts und -Controllern über standardisierte IP-Netzwerke zu unterstützen. Host und Controller kommunizieren, indem sie Protocol Data Units (PDUs) austauschen, womit eine Struktur für die Übertragung von Daten, Kapseln oder Kontroll- und Statusinformationen zur Verfügung gestellt wird. Die genaue Länge und Konfiguration einer PDU hängt von ihrem besonderem Zweck im Prozess der Datenübertragung ab.
NVMe/TCP-Verbindungen besitzen auch ein Modell für Messaging und Queuing, das die Kommunikationssequenz etabliert. Die TCP-Verbindung nutzt einen transportspezifischen Mechanismus und – optional – eine Datenkomponente innerhalb der gekapselten Daten, um den Datentransport zu unterstützen. Jede Verbindung besitzt ein einzigartiges Queuing-Paar, bestehend aus einer Administrator- oder I/O-Vorlage-Queue sowie einer Queue zur Vervollständigung der Übertragung.
Der erste Schritt beim Datentransport besteht in der Einrichtung einer Verbindung zwischen Host und Controller. Der Host stößt die Verbindung an, indem er eine Request-Botschaft an den Controller schickt. Der Controller ist eine passive Komponente, die auf die Verbindungsanfragen reagiert. Nach Erhalt einer Anfrage sendet der Controller eine Antwort an den Host und bestätigt damit, dass eine anfängliche Verbindung hergestellt wurde.
Der Host sendet dann eine PDU mit der Anfrage, die Verbindung zu beginnen. Der Controller antwortet, indem er seine eigene PDU zurücksendet und bestätigt, dass die Verbindung eingeleitet ist. Host und Controller teilen auch die Konfigurationsparameter der Verbindung miteinander. Nachdem die Verbindung eingeleitet wurde, können sie den Datenaustausch durchführen.
Vorteile und Nachteile
Die NVMe/TCP-Spezifikation bietet einige wichtige Vorteile, darunter die allgemein gültige Natur von TCP. Nicht nur ist TCP ein Treiber des Internets, sondern es ist auch sehr stark in Netzwerken rund um die Welt installiert und macht es damit zu einem der besonders verbreiteten Transportmittel. Das Protokoll ist gut bekannt, verständlich und wird aktiv von den Key Playern weiterentwickelt, die Beiträge zu seiner praktischen Umsetzung und Verbesserung seiner Fähigkeiten liefern.
Zusätzlich arbeitet NVMe over TCP mit bestehenden TCP-basierten Systemen zusammen, ohne dass Änderungen an der Netzwerkinfrastruktur oder den Client-Geräten notwendig sind. Unternehmen können NVMe/TCP auf bestehenden Ethernet-Routern, Switches, Adaptern und anderem Standardequipment einrichten, wobei die Installation einfach verläuft und Auszeiten und Kosten gering gehalten werden.
Weil TCP voll erweiterbar ist, unterstützt es stark skalierende Umgebungen, die große Distanzen umspannen, und sorgt außerdem für relative hohe Performance-Level und niedrige Latenzen. Rechenzentren von Unternehmen können NVMe over TCP auf ihren bestehenden Netzwerkinfrastrukturen und Multi-Layered-Switch-Technologien installieren, ohne dass sie dafür in neues oder spezialisiertes Equipment und zusätzliche Ressourcen dafür investieren müssten.
Trotz dieser Vorteile zeigt NVMe over TCP auch einige Schwächen auf. Zunächst muss erwähnt werden, dass die Spezifikation zu vermehrten Prozessor-Loads des Systems führen kann, weil TCP Processing Leistung erfordert, um bestimmte Operationen wie zum Beispiel die Kalkulation von Checksummen durchzuführen.
NVMe over TCP kann auch hohe Latenzraten bedeuten, teilweise wegen der zusätzlichen Datenkopien, die im TCP-Stack unterhalten werden müssen. Das Ausmaß dieser Latenzen wird noch diskutiert und kann eventuell davon abhängen, wie die Spezifikation implementiert wird und welche Arten von Workloads unterstützt werden.
Erste Performance-Tests legen nahe, dass die Latenzraten von NVMe over TCP von 10 Mikrosekunden bis zu 80 Mikrosekunden bei RDMA-basierten NVMe-oF liegen könnten. Obwohl diese Raten für bestimmte Workloads vielleicht nicht akzeptabel sind, wären sie aber vielleicht in einem tolerierbaren Rahmen für andere Workloads, besonders wenn man bedenkt, wie einfach NVMe/TCP in bestehenden Netzwerkinfrastrukturen zu installieren ist. Die Performance von NVMe over TCP lässt sich wahrscheinlich verbessern, wenn mehr Hersteller die Technologie in ihre Produkte einfließen lassen.
NVMe/TCP in Aktion
Verschiedene Hersteller sind vorangegangen und haben NVME over TCP in ihre Netzwerkangebote übernommen, mit LightbitsLabs und Solarflare Communications an der Spitze. Lightbits bietet zum Beispiel eine gut skalierende Storage-Plattform an, die NVMe over TCP enthält. Sie stellt damit zusammensetzbaren Block Storage zur Verfügung, der installiert werden kann, ohne sich auf die Netzwerkinfrastruktur oder Rechenzentrumskunden auszuwirken.
Sagi Grimberg, Chief Software Architect und Mitbegründer von Lightbits, informiert im folgenden Video über die neuesten Entwicklungen in NVMe over TCP.
Solarflare bietet ebenfalls zusammensetzbare, auf NVMe over TCP basierende Speicherkomponenten an, mit denen Rechenzentren ihre bestehenden Netzwerkinfrastrukturen nutzen können. Der Hersteller arbeitet mit Super Micro Computer zusammen, um Angebote mit Supermicro Ultra SuperServer und TCP-optimierten Netzwerk-Interface-Karten von Solarflare zur Verfügung zu stellen.
Betrachtet man das Ausmaß, mit dem TCP bereits im Internet und in den Unternehmensnetzwerken eingesetzt wird, könnte die NVMe-over-TCP-Spezifikation den Weg für eine neue Generation von Speicherangeboten frei machen. Diese Ansätze würden bestehende TCP-basierende Netzwerkinfrastrukturen und moderne SSDs verwenden, um so den Übergang von herkömmlichen Speichersystemen zu solchen zu unterstützen, die den Anforderungen von heutigen dynamischen Workloads und den riesigen Datenmengen gerecht werden.
NVMe/TCP wird eventuell im Vergleich mit RDMA-basiertem NVMe-oF seine eigenen Latenzprobleme bekommen, aber viele Unternehmen könnten die Nachteile verschmerzen angesichts dessen, wie leicht NVMe over TCP zu installieren ist und wie kosteneffektiv es ist.