Was ist RDMA? Es ist die Abkürzung für Remote Direct Memory Access. Wenn Sie detaillierte Informationen darüber wissen möchten, dann sind Sie hier genau richtig. Dieser Beitrag von MiniTool spricht hauptsächlich über RDMA.
Was ist RDMA?
Zunächst einmal: Was ist RDMA? RDMA ist die Abkürzung für Remote Direct Memory Access. Es handelt sich dabei um eine Technologie, die es Computern in einem Netzwerk ermöglicht, Daten im Hauptspeicher auszutauschen, ohne den Prozessor, den Cache oder das Betriebssystem eines der beiden Computer einzubeziehen. In diesem Artikel von MiniTool finden Sie alle Informationen zu RDMA.
Wie der lokale Direktzugriff auf den Speicher (DMA) RDMA Ressourcen freisetzen und so den Durchsatz und die Leistung erhöhen kann. RDMA trägt auch zur Erhöhung der Datenübertragungsraten und zur Vernetzung mit geringer Latenz bei, was besonders in massiv parallelen Computerclustern nützlich ist. Und es kann für Netzwerk- und Speicheranwendungen implementiert werden.
Wie funktioniert RDMA?
Wie funktioniert nun RDMA? RDMA unterstützt Zero-Copy-Networking, indem es den Netzwerkadapter in die Lage versetzt, Daten direkt von der Leitung zum Anwendungsspeicher oder direkt vom Anwendungsspeicher zur Leitung zu übertragen, ohne Daten zwischen dem Anwendungsspeicher und den Datenpuffern im Betriebssystem zu kopieren.
Solche Übertragungen erfordern keine Arbeit der CPUs, Caches oder Kontextwechsel, und die Übertragungen erfolgen parallel zu anderen Systemoperationen. Dadurch wird die Latenzzeit bei der Nachrichtenübertragung verringert. Noch besser: Wenn sowohl das sendende als auch das empfangende Gerät RDMA unterstützen, wird der Dialog zwischen den beiden schneller abgeschlossen als bei ähnlichen Netzwerksystemen ohne RDMA.
Wenn Ihre Anwendungen schnelle und massiv parallele HPC-Cluster (High Performance Computing) und Rechenzentrumsnetzwerke erfordern, ist RDMA sehr nützlich. Auch bei der Analyse großer Datenmengen, in Supercomputing-Umgebungen, in denen Anwendungen verarbeitet werden, und beim maschinellen Lernen, das absolut niedrige Latenzzeiten und höchste Übertragungsraten erfordert, kann RDMA nützlich sein.
However, this strategy has some issues related to the fact that the target node doesn’t receive notification of the requested completion (single-sided communication).
Diese Strategie hat jedoch einige Probleme, die damit zusammenhängen, dass der Zielknoten keine Benachrichtigung über den angeforderten Abschluss erhält (einseitige Kommunikation).
Netzwerkprotokolle, die RDMA unterstützen
- RDMA auf konvergentem Ethernet. RoCE ist ein Netzwerkprotokoll, das RDMA über Ethernet unterstützt, indem es die Leistung von RDMA in einer solchen Umgebung definiert.
- Internet Wide Area RDMA-Protokoll. iWARP verwendet Transmission Control Protocol (TCP) oder Stream Control Transmission Protocol (SCTP) zur Datenübertragung. Es wurde von der Internet Engineering Task Force entwickelt, um Anwendungen auf einem Server die Möglichkeit zu geben, direkt auf Anwendungen zu lesen oder zu schreiben, die auf einem anderen Server ausgeführt werden, ohne dass das Betriebssystem auf einem der beiden Server dies unterstützt.
- InfiniBand. Für Hochgeschwindigkeits-InfiniBand-Netzwerkverbindungen ist RDMA ein Standardprotokoll. Dieses RDMA-Netzwerkprotokoll wird häufig für die Kommunikation zwischen Systemen verwendet und wurde zuerst in Hochleistungs-Computing-Umgebungen populär. Da InfiniBand schnell eine Verbindung zu großen Computerclustern herstellen kann, hat es weitere Anwendungsbereiche erschlossen, wie z. B. Big-Data-Umgebungen, Datenbanken, stark virtualisierte Umgebungen und Webanwendungen mit hohem Ressourcenbedarf.
Produkte und Anbieter, die RDMA unterstützen
Im Jahr 2018 hat RDMA aufgrund der Implementierung erweiterter Funktionen eine breitere Akzeptanz erlangt und erreicht eine bessere Leistung als die herkömmliche Netzwerkinfrastruktur. Welche Produkte und Hersteller unterstützen also RDMA? Im Folgenden sind einige Produkte und Hersteller aufgeführt:
- Apache Hadoop und Apache Spark Big-Data-Analyse
- Baidu Paddle (Parallel Distributed Deep Learning) Plattform
- Broadcom- und Emulex-Adapter
- Caffe-Framework für tiefes Lernen
- Cavium FastLinQ 45000/41000 Serie Ethernet NICs
- Ceph-Objektspeicher-Plattform
- ChainerMN Python-basiertes Open-Source-Framework für Deep Learning
- Chelsio Terminator 5 & 6 iWARP-Adapter
- Dell EMC PowerEdge-Server
- FreeBSD-Betriebssystem
- Das Internet-Netzwerk-Dateisystem GlusterFS
- Intel Xeon Scalable Prozessoren und Platform Controller Hub
- Mellanox ConnectX-Familie von Netzwerkadaptern und InfiniBand-Switches
- Microsoft Windows Server (2012 und höher) unterstützt über SMB Direct RDMA-fähige Netzwerkadapter, Hyper-V Virtual Switch und das Cognitive Toolkit.
Sie können auf diesen Link klicken, um weitere Produkte und Anbieter zu finden, die RDMA unterstützen.
RDMA over Fabrics und zukünftige Richtungen
RDMA over Fabric ist eine logische Weiterentwicklung der bestehenden Shared-Storage-Architektur, die von Solid-State- und Flash-Speicher profitiert und die Leistung beim Zugriff auf gemeinsam genutzte Daten verbessert. Ein RDMA-Netzwerk verwendet ein Protokoll wie RoCE, iWARP oder InfiniBand, um Daten zwischen dem Speicheradressraum über die Schnittstelle zu senden, was die Abläufe beschleunigt und den Wert der Investitionen in Anwendungen, Server und Speicher erhöht.
Die sechste Generation der Fibre Channel-Speichernetzwerke – 32 Gigabit pro Sekunde – und PCI Express unterstützen RDMA auf der Grundlage der Fabrics-Schnittstelle.
Unterm Strich
Dieser Artikel hat Ihnen detaillierte Informationen darüber gegeben, was RDMA (Remote Direct Memory Access) ist. Außerdem erfahren Sie mehr über Produkte und Anbieter, die RDMA unterstützen, sowie über die Netzwerkprotokolle, die RDMA unterstützen.