Was ist RDMA?
2026-04-23

RDMA (Remote Direct Memory Access) ist eine Netzkommunikationstechnologie, die von DMA (Direct Memory Access) abgeleitet ist. Sie ermöglicht es Benutzeranwendungen, den Betriebssystemkern (CPU) zu umgehen und direkt mit Netzwerkschnittstellenkarten (NICs) für die Datenübertragung zu interagieren, was eine extrem hohe Bandbreite und eine extrem niedrige Latenzzeit ermöglicht. Ursprünglich für das High-Performance-Computing (HPC) entwickelt, hat sich RDMA inzwischen in Rechenzentren durchgesetzt。.

1. Technische Grundlagen von RDMA

Das Kernprinzip von RDMA besteht darin, spezialisierte Hardware auf Netzwerkadaptern (z. B. RDMA-Engines auf NICs) zu nutzen, um den Betriebssystemkern zu umgehen und direkte Speicherübertragungen unterhalb der Netztransportschicht durchzuführen. Dieser Mechanismus minimiert die Latenzzeit und den CPU-Overhead und verbessert gleichzeitig die Netzwerkeffizienz.


Bei RDMA wird die Kommunikation zwischen dem Sender und dem Empfänger über den RDMA-Adapter abgewickelt. Zunächst registriert der Sender den zu sendenden Datenpuffer im Speicher des RDMA-Adapters und sendet dessen Deskriptor (der die Adresse, Größe und andere Informationen der Daten enthält) an den Empfänger. Der Empfänger registriert den Empfangspuffer beim RDMA-Adapter und teilt dem Adapter die Adresse des Empfangspuffers mit. Anschließend überträgt der Sender die Daten direkt aus dem Sendepuffer in den Empfangspuffer über den RDMA-Adapter, ohne dass das Betriebssystem eingreifen muss. Dieser Vorgang wird als RDMA-Schreibvorgang bezeichnet. Der Empfänger kann die Daten auch direkt aus dem Speicher des Senders durch eine RDMA-Leseoperation lesen.


RDMA unterstützt drei grundlegende Arten von Operationen: Schreiboperationen, Leseoperationen und atomare Operationen. Schreibvorgänge ermöglichen es einem Knoten, Daten direkt in den Speicher eines anderen Knotens zu schreiben. Leseoperationen ermöglichen es einem Knoten, Daten direkt aus dem Speicher eines anderen Knotens zu lesen. Atomare Operationen sind spezielle Operationen, die einige atomare Operationen auf entfernten Knoten durchführen können, wie z. B. Compare-and-Swap (CAS).


Das Funktionsprinzip von RDMA besteht hauptsächlich darin, die Verzögerung der Datenübertragung und die Belastung der CPU durch direkten Speicherzugriff auf Hardwareebene zu verringern. Im Vergleich zur traditionellen TCP/IP-Kommunikationsmethode muss bei RDMA weder eine Verbindung zwischen Sender und Empfänger aufgebaut noch eine komplexe Protokollverarbeitung durchgeführt werden, so dass die Leistung höher und die Latenzzeit geringer ist. Darüber hinaus unterstützt RDMA auch Funktionen wie Zero Copy und Kernel Bypass, die die Effizienz der Datenübertragung weiter verbessern können.


Im Allgemeinen besteht das technische Prinzip von RDMA darin, dedizierte Hardware auf dem Netzwerkadapter durch direkten Speicherzugriff zu verwenden, den Betriebssystemkern zu umgehen und eine effiziente Netzwerkkommunikation mit niedriger Latenz und geringer CPU-Auslastung zu erreichen.


2. Zu den technischen Merkmalen von RDMA gehören vor allem die folgenden Aspekte:


* Kein Eingreifen der CPU erforderlich: Eines der Hauptmerkmale der RDMA-Technologie ist, dass sie keinen CPU-Eingriff erfordert. Anwendungen können direkt auf den Speicher des entfernten Hosts zugreifen, ohne CPU-Ressourcen auf dem entfernten Host zu verbrauchen. Dadurch werden die Verzögerung und die CPU-Belastung während der Datenübertragung erheblich reduziert und die Gesamtleistung verbessert.


* Kernel-Bypass: RDMA unterstützt die Kernel-Bypass-Technologie, d. h. Anwendungen können die Datenübertragung direkt im Benutzermodus durchführen, ohne dass ein Kontextwechsel zwischen Kernel- und Benutzermodus erforderlich ist. Dadurch wird die Verzögerung der Datenübertragung weiter verringert und die Effizienz verbessert.


* Null-Kopie: Die RDMA-Technologie hat das Merkmal der Null-Kopie, wodurch der Prozess des Kopierens von Daten von einem Speicher zum anderen durch die CPU vermieden wird. Bei der TCP/IP-Kommunikation erfordert die Datenübertragung zwischen Hosts häufige Kopiervorgänge, und RDMA reduziert diese unnötigen Kopiervorgänge durch direkten Speicherzugriff, wodurch die Effizienz der Datenübertragung verbessert wird.


* Hohe Bandbreite und niedrige Latenzzeit: Da RDMA den vom Betriebssystem bereitgestellten Protokollstapel umgeht und die Datenübertragung direkt unter der Netzwerktransportschicht durchführt, bietet es eine höhere Bandbreitennutzung und geringere Latenzzeiten. Dadurch eignet sich RDMA sehr gut für Netzwerkkommunikationsszenarien, die eine hohe Leistung und eine geringe Latenzzeit erfordern.


* Hardware-Unterstützung: RDMA erfordert eine spezielle Hardwareunterstützung für die Netzwerkkarte, die in der Regel über eine spezielle RDMA-Engine für die Verarbeitung der RDMA-Kommunikation verfügt. Diese Hardwareunterstützung ermöglicht es RDMA, seine hohe Leistung und geringe Latenz zu erreichen.


Zu den technischen Merkmalen von RDMA gehören im Allgemeinen kein Eingreifen der CPU, Kernel-Bypass, Null-Kopie, hohe Bandbreite und niedrige Latenz sowie Hardware-Unterstützung. Diese Merkmale machen RDMA zu einer effizienten Netzwerkkommunikationstechnologie mit geringer Latenz, die sich besonders für Szenarien eignet, die die Verarbeitung großer Datenmengen und eine leistungsstarke Netzwerkkommunikation erfordern.


3. Anwendungsszenarien von RDMA


Die Anwendungsszenarien der RDMA-Technologie sind sehr vielfältig. Im Folgenden sind einige der wichtigsten Anwendungsszenarien aufgeführt:


* Datenzentrum: In einem Rechenzentrum müssen die Server häufig große Datenmengen übertragen und austauschen. Aufgrund seiner hohen Leistung und geringen Latenz eignet sich RDMA sehr gut für die Netzwerkkommunikation in Rechenzentren, wodurch die Effizienz der Datenübertragung verbessert, die Latenzzeit verringert und die Gesamtleistung gesteigert werden kann.


* Hochleistungsrechnen (High Performance Computing, HPC): Im Bereich des Hochleistungsrechnens müssen große Datenmengen verarbeitet und komplexe Berechnungen durchgeführt werden. Der direkte Speicherzugriff und die Zero-Copy-Technologie von RDMA können den Overhead bei der Datenübertragung reduzieren und die Effizienz der Datenverarbeitung verbessern. Gleichzeitig unterstützt RDMA die parallele Verarbeitung großer Datenmengen und eignet sich hervorragend für parallele Berechnungen mit mehreren Knoten in HPC-Umgebungen.


* Verteiltes Speichersystem: In einem verteilten Speichersystem müssen die Knoten häufig Datenlese- und -schreibvorgänge durchführen. Die effiziente Datenübertragung und die direkten Speicherzugriffseigenschaften von RDMA können die Datenlese- und -schreibeffizienz zwischen den Knoten verbessern und die Gesamtleistung verteilter Speichersysteme steigern.


* Cloud Computing: In einer Cloud-Computing-Umgebung sind die Kommunikation und die Datenübertragung zwischen virtuellen Maschinen (VMs) allgemeine Anforderungen. RDMA kann verwendet werden, um eine effiziente Kommunikation zwischen VMs zu erreichen und die Gesamtleistung der Cloud-Computing-Umgebung zu verbessern.


Obwohl RDMA einige Mängel und Einschränkungen aufweist, ist es in vielen Szenarien mit hoher Leistung und geringer Latenzzeit eine sehr effektive Netzwerkkommunikationstechnologie. Bei der Entscheidung für den Einsatz von RDMA müssen Sie die Anwendbarkeit und Leistung auf der Grundlage der spezifischen Anwendungsanforderungen und Umgebungen bewerten.

联系我们