Speicherzugriff ohne Umwege Was ist RDMA - Remote Direct Memory Access?
Remote Direct Memory Access (RDMA) mit seinen Varianten ist eine Technologie, die in leistungshungrigen Anwendungsfeldern eingesetzt wird. Ziel ist immer, die CPU zu entlasten und damit die Verarbeitung zu beschleunigen.
Anbieter zum Thema

Wenn Anwendungen normalerweise Daten aus dem Arbeitsspeicher in andere, für längere Speicherung gedachte Medien verlagern, müssen sie über die CPU gehen. Sind viele Speicherzugriffe nötig oder größere Datenmengen zu übertragen, kann das die Verarbeitungsgeschwindigkeit wegen der begrenzten CPU-Ressourcen empfindlich verringern.
Deswegen wurde das RDMA-Protokoll (RDMAP) für den Datentransfer direkt über den Netzwerkadapter entwickelt, vom RDMA-Konsortium im Jahr 2002 in Version 1.0 fertiggestellt und anschließend an die Internet Engineering Task Force IETF übergeben (RFC 5040, verabschiedet 2007).
Direkttransport über Netzadapter
Das Protokoll ermöglicht es, Daten an ein anderes System zu übertragen, gänzlich ohne auf die CPU oder den gesamten Netzwerk-Stack zuzugreifen oder deren Arbeit zu unterbrechen. Daten werden dabei unter Umgehung der Netzwerkschicht von TCP/IP direkt in die Speicherpuffer geschoben. Die Übertragung erfolgt unter Umgehung von Kernel-Funktionen. Man spricht hier von Zero-Copy-Networking.
Diese Verfahren werden immer wichtiger, seit nichtflüchtiger Speicher als schnellste Speicherschicht Einzug in die Systeme hält. Denn dessen Datenmassen überfordern die bisher verwendeten Übertragungsprotokolle.
Funktioniert mit vielen Netzwerktechnologien
Mittlerweile wurde die Anwendbarkeit von RDMA auf weitere Netzwerktechnologien ausgeweitet. Inzwischen entwickelt sich RoCE (RDMA over Converged Ethernet) zu einer besonders wichtigen Variante der Technologie. Converged Ethernet ermöglicht verlustlose Ethernet-Vernetzung.
Eine andere Variante ist iWARP (Internet Wide Area Networking RDMA-Protocol). Sie nutzt die physische Ebene des TCP-Protokolls zur Datenübertragung. Über Infinband funktioniert RDMA ebenfalls. Ferner sind iSCSI-Erweiterungen für RDMA (iSER, RFC 7145) hinzugekommen. Eine zusätzliche funktionale Erweiterung dient der RDMA-Verarbeitung von Remote Procedure Calls (RPC) (RFC 8166).
Für die Zukunft sind beispielsweise auch Erweiterungen zur Übertragung über Fibre Channel geplant. Inzwischen gibt es bereits erste Realisierungen des besonders von Western Digital vorangetriebenen Transportverfahrens NVMeoF (NVMe over Fabric).
Breite Anwendung
Nicht jeder Netzwerkadapter unterstützt RDMA, das heißt: Wer diese Funktion nutzen will, muss einen entsprechenden Adapter einsetzen. Ein bekannter Hersteller sehr leistungsfähiger RDMA-Adapter ist Mellanox.
Verwendet wird RDMA für viele Anwendungen mit hohen Anforderungen an die Daten-Transportleistung wie Hochleistungsrechnen, Finanz- und Medizindatenverarbeitung, Cloud und Ähnliches. Soe wird RDMA beispielsweise von „Windows SMB Direct“, Open-Source-Technologien wie „Hadoop“, dem Filesystem „Lustre“ und „Ceph“ bedient.
(ID:46905870)