Definition

Was ist RDMA?

| Autor / Redakteur: Walter Schadhauser / Tina Billo

Bei RDMA geht es darum, eine direkte Verbindung zwischen Netzwerkkarte und der Application Middleware herzustellen.
Bei RDMA geht es darum, eine direkte Verbindung zwischen Netzwerkkarte und der Application Middleware herzustellen. (Bild: RDMAConsortium.org)

Müssen Daten über das Netzwerk von A nach B transferiert werden, soll die Übertragung möglichst schnell über die Bühne gehen. Per Remote Direct Memory Access, kurz RDMA, lassen sie sich ohne Umweg vom Hauptspeicher eines Systems in den eines anderen übertragen. CPUs, Cache und Betriebssysteme werden beim direkten Speicherzugriff umgangen. Dadurch lässt sich ein höherer Durchsatz und eine geringere Latenzzeit erzielen - zusammengenommen der Datenaustausch beschleunigen.

Beim direkten Speichertransfer via RDMA werden die zu transferierenden Daten vom Eingangspuffer einer geeigneten Netzwerkkarte direkt in den Zwischenspeicher einer Anwendung geschrieben. Da der Zugriff nicht per Lese- und Schreiboperationen vom Betriebssystem gesteuert wird, ist diese Technik der schnellstmögliche Datentransfer für Anwendungen, die mit Multiprozessoren arbeiten. Die Übermittlung erfolgt klassischerweise über ein Ethernet- oder Infiniband-Netzwerk, könnte in naher Zukunft allerdings auch in Fabrics mittels NVMEoF zum Einsatz kommen

RDMA-Varianten

Seit Verabschiedung der ersten Spezifikationen für RDMA über TCP/IP im Jahr 2002 sind weitere Spielarten, darunter RoCE, was für "RDMA over Converged Ethernet" steht, hinzugekommen. Im Laufe der Jahre entstanden einige spezifische Implementierungen wie iWARP (Internet Wide Area RDMA Protocol) auch bekannt als "RDMA over Ethernet" oder das speziell auf Microsoft Server zugeschnittene SMB-Direct-Protokoll "SMB Direct RDMA over Ethernet for Windows Server 2012". Lösungen gibt es jedoch auch für VMware, die den schnellen Transfer gleich in virtuellen Umgebungen bereitstellen.

Erste Implementierungen gibt es zum Beispiel von Intel und Mellanox für den Windows HPC-Server 2008 wie auch für diverse Linux-Distributionen, die für HPC-Anwendungen (High Performance Computing) eine Open Source RDMA-Variante anbieten. Unterstützt werden von dieser Software neben Block Storage Transfers mittels iSER, der iSCSI-Erweiterung im RDMA-Protokoll, ebenfalls File Storage per NFS-RDMA, kurz NFSoRDMA.

Worum es bei RDMA geht

Wie man an dieser kurzen Aufzählung sieht, arbeitet die Storage-Industrie noch im herstellerspezifischen Modus und versucht ihre generische Protokollunterstützung im Markt bekannt zu machen. Grundsätzlich ist vor allem erkennbar, dass Ethernet und Infiniband die beiden Netzwerk-Protokolle der Zukunft sind, die mit Geschwindigkeiten von 10, 40, 56 und 100 Gbit/s RDMA-Transfers unterstützen.

Geschwindigkeit ist jedoch nur eine Option. Nimmt der Verkehr zu, dann ist ohne zusätzliche Maßnahmen weit vor der erlaubten Maximalgeschwindigkeit Schluss. RDMA ist eine solche, da die Technik den Protokoll-Overhead reduziert und damit die Latenzen in Ethernet-Netzwerken.

Grundsätzliches Ziel ist es, auf einem höheren Protokolllevel die Reaktionszeit einer vernetzten Anwendung auf ein Minimum zu reduzieren. Außerdem geht es auch um die Nutzung von Ethernet für beliebige Daten, von analogen über digitale Informationen bis hin zum Streaming. Alles soll über ein Kabel verschickt werden können.

Überlegene Geschwindigkeit

Damit sind Techniken wie sie iSCSI, Fibre Channel (FC) und das vor vielen Jahren mal favorisierte Fibre Channel over Ethernet (FCoE) weitgehend abgehängt was Geschwindigkeits- und Sicherheitsaspekte angeht. Aber es gibt, wie oben angedeutet, einen produktiveren Ersatz. Benötigt wird ein Netzwerkadapter mit RDMA-Fähigkeiten, über den sich die ansonsten notwendige Kommunikation mit dem Prozessor abwickeln lässt, ebenso sind einige Verbesserungen im Kommunikationsablauf erforderlich.

Anwendungen, die von diesem verbesserten Transportmechanismus auf der Verbindungsschicht profitieren könnten sind High Performance Computing, verteilte Datenbanken, Big-Data-Anwendungen wie KI-Systeme und autonome Fahrzeuge und nicht zuletzt Datacenter-Applikationen.

Standardisierung steht noch aus

Problem von RDMA ist allerdings, dass die Technik einige Veränderungen auf dem Link-Layer benötigt. Außerdem können verteilte Anwendungen nur dann miteinander kooperieren, wenn alle Teile RDMA-beschleunigt arbeiten. Da dies alles auf der untersten Verbindungsschicht der Infrastruktur passiert, wäre eine industrieweite Kooperation respektive eine Standardisierung bei der IETF hilfreich.

Kommentare werden geladen....

Was meinen Sie zu diesem Thema?

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45382047 / Definitionen)