Was ist RDMA (Remote Direct Memory Access)?
Mit Remote Direct Memory Access, bekannt unter dem Akronym RDMA, können Sie Daten aus dem Hauptspeicher eines Computersystems sehr schnell an den Hauptspeicher eines anderen Computers senden. Dies ist besonders nützlich für große Datenbanken oder komplexe Prozesse , wie sie beispielsweise für maschinelles Lernen erforderlich sind . Aber was genau ist RDMA und wie funktioniert es?
- Kurze Einführung in RDMA
- Wie funktioniert RDMA?
- Was sind die Vor- und Nachteile von Remote Direct Memory Access?
Kurze Einführung in RDMA
Wie bei DMA (Direct Memory Access) können Sie mit RDMA (Remote Direct Memory Access) Daten direkt vom Hauptspeicher eines Computers in den Speicher eines anderen Systems übertragen. Dazu sind keine Betriebssysteme, keine CPU oder kein Cache erforderlich, sodass weniger Hardwareressourcen verwendet werden. Die Speicherübertragung mit RDMA erfolgt über einen eigenen Cache, in den der Benutzer seine Daten überträgt. Die Technologie greift auf die Netzwerkkarte eines Systems zu, sodass die Übertragung normalerweise über Ethernet oder InfiniBand erfolgt.
Remote Direct Memory Access ist eine Technologie, die auf Direct Memory Access basiert. Damit können Daten vom RAM eines Computers auf den eines anderen Systems übertragen werden, ohne dass die Betriebssysteme, der Cache oder die CPU geladen werden müssen.
RDMA ist bereits mit vielen verschiedenen Produkten (Hardware und Software) kompatibel. Unter diesen finden wir die folgenden Lösungen:
- Apache Hadoop
- Funke
- Baidu Paddel
- Dell EMC PowerEdge Server
- Intel Xeon Scalable Prozessoren
- Microsoft Windows Server (2012 und höher)
Wie funktioniert RDMA?
Damit die Datenübertragung über RDMA funktioniert, ist zuerst ein geeigneter Satz von Protokollen auf der Netzwerkkarte erforderlich. Im Allgemeinen basiert es auf TCP / IP. Ein angemessenes Transportprotokoll ist erforderlich, damit die Technologie beispielsweise das sogenannte Zero Copy Networking unterstützen kann , ein Prozess, bei dem der Prozessor des Computers nicht verwendet wird. Wenn die beiden Systeme die Verwendung von Remote Direct Memory Access zulassen, ist die Datenübertragung zwischen ihnen viel schneller als zwischen Computern, die RDMA nicht unterstützen.
Der direkte Remote-Speicherzugriff eignet sich besonders für den parallelen Betrieb mit Hochleistungscomputern .
Die folgenden Schnittstellen- und Netzwerktechnologien bieten die besten Bedingungen für eine reibungslose Übertragung mit RDMA:
- RDMA über Converged Ethernet (RoCE): RoCE unterstützt RDMA über eine Ethernet-Verbindung.
- Internet Wide Area RDMA-Protokoll (IWARP): Um die Daten zu übertragen, greift IWARP auf das TCP-Transportprotokoll oder alternativ auf Streaming TCP zu. IWARP wurde von der Internet Engineering Task Force (IETF) erstellt, um Aufgaben und Prozesse direkt in Anwendungen auf einem anderen System zu schreiben.
- InfiniBand : InfiniBand ist ein leistungsstarker Computerkommunikationsstandard für die Übertragung von Dateien mit geringer Latenz. Es wird häufig in Rechenzentren verwendet, um Computergruppen zu verbinden. RDMA über InfiniBand ist eine der beliebtesten Methoden für den schnellen Datenaustausch.
Remote Direct Memory Access kann auch mit Flash- oder SSD-Datenträgern und NVDIMMs (nichtflüchtigen Speichermodulen) kombiniert werden.
RDMA befindet sich noch in der Entwicklung und mit RDMA over Fabrics ist die nächste Anwendungsmöglichkeit wieder aufgetaucht. Fabric (oder Fabric) ist der Begriff, der zur Beschreibung der Infrastrukturen zwischen mehreren Servern und Computern verwendet wird. Diese ermöglichen die Übertragung von Daten über Fibre Channel-Netzwerke oder Fibre-Kanäle (Speichernetzwerke) und PCI Express (Standard für Hochleistungsverbindungen).
Was sind die Vor- und Nachteile von Remote Direct Memory Access?
Einer der Hauptvorteile von RDMA ist seine höhere Geschwindigkeit als andere Datenübertragungstechnologien und -protokolle wie iSCSI (SCSI-Protokoll über TCP), Fibre Channel (FC) oder Fibre Channel over Ethernet (FCoE). Wie schnell der Datenaustausch ist, hängt jedoch letztendlich von der RDMA-Variante ab. Ethernet und InfiniBand sind am beliebtesten und ermöglichen Übertragungsgeschwindigkeiten von 10-100 GB pro Sekunde. Dies ist ideal für Anwendungen , die eine hohe Rechenleistung, wie beispielsweise erfordern verteilte Datenbanken , große Daten – Analytik, oder Rechenzentrum Anwendungen .
RDMA hat jedoch auch Nachteile gegenüber Faserkanälen, die immer noch von vielen Unternehmen verwendet werden. Um RDMA zu implementieren, müssen Unternehmen große Investitionen tätigen, da für die Technologie neue Hardwarekomponenten und -protokolle erworben werden müssen. Aus diesem Grund sind die Kosten für den direkten Remote-Speicherzugriff manchmal erheblich höher als für FC oder FCoE. Außerdem funktioniert ein schneller Datenaustausch mit RDMA nur, wenn alle Systeme mit der Technologie beschleunigt sind.