HyperAI

Remote Direct Memory Access (RDMA) 

In the field of computer computing,Remote Direct Memory Access (RDMA) is a direct memory access technology.It transfers data directly from the memory of one computer to another without the intervention of the operating systems of both computers. RDMA can free up many resources, thereby improving the throughput and performance of the system. Operations such as reading and writing can be performed on the remote computer without interrupting the CPU of that computer. This technology helps to increase data transfer rates and low-latency networks, especially for use in large-scale parallel computer clusters. RDMA uses zero-copy networking by enabling the network adapter to transfer data directly to the system buffer.

RDMA workflow

RDMA operates by using an RDMA-capable network interface controller (NIC), such as InfiniBand or RoCE (RDMA over Converged Ethernet). These NICs have dedicated hardware that allows them to directly access the memory of the connected system without CPU involvement. When a system wants to transfer data using RDMA, it sends a request to the NIC, which then uses dedicated hardware to transfer the data directly to the memory of another system.

Advantages of RDMA:

  • high performance:RDMA provides high performance for data transfer between systems with low latency and high bandwidth.
  • CPU Efficiency:RDMA transfers data directly between systems without involving the CPU, freeing up system resources for other tasks.
  • Reduce network congestion:RDMA reduces network congestion by enabling direct data transfer between systems, thereby reducing network traffic.
  • Security:RDMA provides enhanced security by encrypting data as it is transferred between systems.
  • Scalability:RDMA is highly scalable and can support large amounts of data transfer between systems.

Disadvantages of Remote Direct Memory Access (RDMA):

  • compatibility:RDMA requires specialized hardware and software and might not be supported on all systems.
  • cost:RDMA can be expensive and require specialized hardware and software, which may not be cost-effective for all organizations.
  • Complexity:RDMA can be complex to set up and manage, requiring specialized knowledge and skills.
  • Limited scope:RDMA is usually used for data transmission between systems that are very close to each other, which limits its application scope.
  • Agreement Limited:RDMA is compatible only with certain protocols, which may limit its compatibility with other systems.

 Features of RDMA:

  • Zero-copy network: Data can be sent and received directly between the application's buffers without being copied between network layers.
  • Reduce CPU involvement: The application can access data directly from the remote server without consuming the remote server's CPU time. Also, the remote server's CPU cache will not be filled up by the accessed content.
  • Valid Transactions: Data is sent and received in discrete messages rather than streams, eliminating the need for separate messages.

References

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

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