Remote Direct Memory Access (RDMA)
Remote Direct Memory Access (RDMA) ist eine Technologie, die es Computern in einem Netzwerk ermöglicht, Daten im Hauptspeicher auszutauschen, ohne dass der Prozessor, der Cache oder das Betriebssystem der beiden Computer beteiligt sind. Wie der lokal basierte Direct Memory Access (DMA) verbessert RDMA den Durchsatz und die Leistung, da es Ressourcen freisetzt. RDMA ermöglicht auch eine schnellere Datenübertragungsrate und ein Netzwerk mit geringer Latenz. Es kann für Netzwerk- und Speicheranwendungen implementiert werden.
Die Funktionsweise von RDMA
RDMA ermöglicht eine direktere Datenbewegung in einen und aus einem Server, indem ein Transportprotokoll in der Hardware der Netzwerkkarte (Network Interface Card, NIC) implementiert wird. Die Technologie unterstützt eine Funktion namens Zero-Copy-Networking, die es ermöglicht, Daten direkt aus dem Hauptspeicher eines Computers zu lesen und diese Daten direkt in den Hauptspeicher eines anderen Computers zu schreiben.
Wenn sowohl das sendende als auch das empfangende Gerät RDMA unterstützt, wird die Konversation zwischen den beiden Geräten viel schneller abgeschlossen als bei vergleichbaren Nicht-RDMA-Netzwerksystemen.
RDMA hat sich in Anwendungen bewährt, die schnelle und massive parallele HPC-Cluster (High Performance Computing) und Rechenzentrumsnetzwerke erfordern. Es ist besonders nützlich bei der Analyse von Big Data, in Supercomputing-Umgebungen, die Anwendungen verarbeiten, und für maschinelles Lernen, das die absolut niedrigsten Latenzen und höchsten Übertragungsraten erfordert. Sie finden RDMA auch in Verbindungen zwischen Knoten in Compute-Clustern und bei latenzempfindlichen Datenbank-Workloads.
Netzwerkprotokolle, die RDMA unterstützen
RDMA over Converged Ethernet (RoCE). RoCE ist ein Netzwerkprotokoll, das RDMA über ein Ethernet-Netzwerk ermöglicht, indem es definiert, wie es in einer solchen Umgebung funktioniert.
Interne Wide Area RDMA-Protokoll. IWARP nutzt das Transmission Control Protocol (TCP) oder Stream Control Transmission Protocol (SCTP) zur Übertragung von Daten. Es wurde von der Internet Engineering Task Force entwickelt, um Anwendungen auf einem Server in die Lage zu versetzen, direkt auf Anwendungen zu lesen oder zu schreiben, die auf einem anderen Server ohne Unterstützung durch das Betriebssystem auf beiden Servern ausgeführt werden.
InfiniBand. RDMA ist das Standardprotokoll für Hochgeschwindigkeits-InfiniBand-Netzwerkverbindungen. Dieses RDMA-Netzwerkprotokoll wird häufig für die Kommunikation zwischen Systemen verwendet und war zuerst in HPC-Umgebungen beliebt. Wegen seiner Fähigkeit, große Computer-Cluster schnell zu verbinden, hat InfiniBand seinen Weg in zusätzliche Anwendungsfälle wie große Big-Data-Umgebungen, Datenbanken, stark virtualisierte Konfigurationen und ressourcenintensive Web-Anwendungen gefunden.
Produkte und Anbieter, die RDMA unterstützen
- Big Data Analytics mit Apache Hadoop und Apache Spark
- Baidu Paddle (Parallel Distributed Deep Learning) Plattform
- Broadcom- und Emulex-Adapter
- Caffe Deep Learning Framework
- Cavium FastLinQ Ethernet-NICs der Serie 45000/41000
- Ceph-Objekt-Speicherplattform
- ChainerMN Python-basiertes, Deep Learning Open-Source-Framework
- Chelsio Terminator 5 & 6 iWARP-Adapter
- Dell EMC PowerEdge-Server
- FreeBSD-Betriebssystem
- GlusterFS Internetwork Filesystem
- Skalierbare Intel Xeon-Prozessoren und Plattform-Controller-Hub
- Mellanox ConnectX-Familie von Netzwerkadaptern und InfiniBand-Switches
- Microsoft Windows Server (2012 und höher) über SMB Direct unterstützt RDMA-fähige Netzwerkadapter, den virtuellen Hyper-V-Switch und das Cognitive Toolkit.
- Die Flash-Appliance NX-9030 NVM Express von Nutanix.
- Nvidia DGX-1 Anwendung für Deep Learning
- Oracle Solaris 11 und höher für NFS über RDMA
- Red Hat
- SUSE Linux Enterprise Server
- TensorFlow Open Source Software-Bibliothek für Maschinenintelligenz
- Torch Scientific Computing Framework
- VMware ESXi
RDMA mit Flash, SSDs und NVDIMMs
Da All-Flash-Speichersysteme wesentlich schneller arbeiten als Platten- oder Hybrid-Arrays, wird die Latenzzeit bei der Speicherleistung erheblich reduziert. Infolgedessen beginnt der herkömmliche Software-Stack als Flaschenhals zu wirken und erhöht gleichzeitig die Gesamtlatenzzeit. RDMA ist eine der Technologien, die einspringen können, um diese Latenz zu verringern.
Non-Volatile Dual In-Line Memory Module (NVDIMMs), ein Memory-Typ, der als Speicher fungiert, finden schnell den Weg in Rechenzentren. NVDIMM kann die Datenbankleistung um das bis zu 100-fache verbessern und erweist sich besonders in virtualisierten Clustern und als Mittel zur Beschleunigung virtueller SANs als vorteilhaft. Um jedoch das Beste aus NVDIMM herauszuholen, sowohl hinsichtlich der Datenintegrität als auch der Leistung bei der Übertragung von Daten zwischen Servern oder in einem virtuellen Cluster, müssen Sie das schnellstmögliche Netzwerk verwenden. RoCE ist genau das Richtige, da Daten direkt zwischen NVDIMM-Modulen mit geringem System-Overhead und niedriger Latenz übertragen werden können.
Trends in RDMA over Fabrics
RDMA over Fabrics, eine logische Weiterentwicklung bestehender gemeinsam genutzter Speicherarchitekturen, steigert die Leistung beim Zugriff auf gemeinsam genutzte Daten und profitiert dabei von Solid-State- und Flash-Speicher. Hier sendet ein RDMA-Netzwerk Daten zwischen Memory-Adressräumen über eine Schnittstelle unter Verwendung eines Protokolls wie RoCE, iWARP oder InfiniBand, das Operationen beschleunigt, um den Wert von Anwendungs-, Server- und Speicherinvestitionen zu steigern. Fibre-Channel-Speichernetzwerke bei Gen 6 - 32 Gigabit pro Sekunde - und PCI Express unterstützen die RDMA-over-Fabrics-Schnittstelle.
Die RDMA-Speichertechnologie kann sicher auch für Scale-Out-Dateisysteme, verteilte Scale-Out-SANs oder andere Anwendungen aktiviert werden.
RDMA und Fibre Channel sind die Fabric-Transportarten, die von der am 5. Juni 2016 veröffentlichten Spezifikation NVM Express over Fabrics (NVMe-oF) unterstützt werden. Die Spezifikation erweitert die Vorteile der NVMe-Technologie über die Entfernung. In dem Maße, wie NVMe-oF Fuß fasst, wird auch RDMA als Mittel zum Datentransport in diesen Umgebungen Einzug halten.
Da die Ethernet-Leistung in den letzten Jahren sprunghaft angestiegen ist und das Zeitalter der softwaredefinierten Vernetzung und Konvergenz vor uns liegt, könnte RoCE dem Ethernet langfristig einen Vorteil gegenüber InfiniBand verschaffen.