HyperAI

Remote Direct Memory Access (RDMA) 

Im Bereich der ComputerinformatikRemote Direct Memory Access (RDMA) ist eine Technologie für den direkten Speicherzugriff.Es überträgt Daten direkt vom Speicher eines Computers auf einen anderen, ohne dass die Betriebssysteme einer der beiden Parteien eingreifen müssen. RDMA kann viele Ressourcen freigeben und dadurch den Systemdurchsatz und die Leistung verbessern. Vorgänge wie Lesen und Schreiben können auf einem Remotecomputer ausgeführt werden, ohne die CPU dieses Computers zu unterbrechen. Die Technologie trägt zur Erhöhung der Datenübertragungsraten und zur Entwicklung von Netzwerken mit geringer Latenz bei und eignet sich besonders für den Einsatz in massiv parallelen Computerclustern. RDMA verwendet Zero-Copy-Networking, indem es dem Netzwerkadapter ermöglicht, Daten direkt an Systempuffer zu übertragen.

RDMA-Workflow

RDMA funktioniert mithilfe eines RDMA-fähigen Netzwerkschnittstellencontrollers (NIC), wie beispielsweise InfiniBand oder RoCE (RDMA over Converged Ethernet). Diese Netzwerkkarten verfügen über dedizierte Hardware, die ihnen den direkten Zugriff auf den Speicher des angeschlossenen Systems ohne CPU-Beteiligung ermöglicht. Wenn ein System Daten mithilfe von RDMA übertragen möchte, sendet es eine Anfrage an die Netzwerkkarte, die dann mithilfe spezieller Hardware die Daten direkt in den Speicher des anderen Systems überträgt.

Vorteile von RDMA:

  • hohe Leistung:RDMA bietet hohe Leistung für die Datenübertragung zwischen Systemen mit geringer Latenz und hoher Bandbreite.
  • CPU-Effizienz:RDMA überträgt Daten direkt zwischen Systemen, ohne die CPU einzubeziehen, und gibt so Systemressourcen für andere Aufgaben frei.
  • Reduzieren Sie die Netzwerküberlastung:RDMA reduziert Netzwerküberlastungen, indem es den direkten Datentransfer zwischen Systemen ermöglicht und so den Netzwerkverkehr reduziert.
  • Sicherheit:RDMA bietet verbesserte Sicherheit durch Verschlüsselung der Daten während der Übertragung zwischen Systemen.
  • Skalierbarkeit:RDMA ist hochgradig skalierbar und kann die Übertragung großer Datenmengen zwischen Systemen unterstützen.

Nachteile von Remote Direct Memory Access (RDMA):

  • Kompatibilität:RDMA erfordert spezielle Hardware und Software und wird möglicherweise nicht auf allen Systemen unterstützt.
  • kosten:RDMA kann teuer sein und erfordert spezielle Hardware und Software, was möglicherweise nicht für alle Organisationen kosteneffizient ist.
  • Komplexität:Die Einrichtung und Verwaltung von RDMA kann komplex sein und erfordert spezielle Kenntnisse und Fähigkeiten.
  • Eingeschränkter Umfang:RDMA wird normalerweise für die Datenübertragung zwischen Systemen verwendet, die sehr nahe beieinander liegen, was seinen Anwendungsbereich einschränkt.
  • Vereinbarung beschränkt:RDMA ist nur mit bestimmten Protokollen kompatibel, was die Kompatibilität mit anderen Systemen einschränken kann.

 Funktionen von RDMA:

  • Zero-Copy-Netzwerk: Daten können direkt zwischen den Puffern der Anwendung gesendet und empfangen werden, ohne zwischen Netzwerkschichten kopiert zu werden.
  • Reduzieren Sie die CPU-Belastung: Anwendungen können direkt auf Daten von Remote-Servern zugreifen, ohne die CPU-Zeit des Remote-Servers zu verbrauchen. Außerdem wird der CPU-Cache des Remote-Servers nicht mit den aufgerufenen Inhalten gefüllt.
  • Gültige Transaktionen: Daten werden in diskreten Nachrichten und nicht in Streams gesendet und empfangen, sodass keine separaten Nachrichten erforderlich sind.

Verweise

【1】https://www.geeksforgeeks.org/remote-direct-memory-access-rdma/

【2】https://en.wikipedia.org/wiki/Remote_direct_memory_access