+5 votes
289 views
in Know how by (242k points)
reopened
What is Remote Direct Memory Access (RDMA)?

1 Answer

+3 votes
by (1.6m points)
edited
 
Best answer

Brief introduction to RDMA
How does RDMA work?
What are the advantages and disadvantages of Remote Direct Memory Access?

image

What is Remote Direct Memory Access (RDMA)?

Remote Direct Memory Access, known by the acronym RDMA, allows you to send data from the main memory of one computer system to the main memory of another computer very quickly. This is particularly useful for large databases or complex processes , such as those required for machine learning . But what exactly is RDMA and how does it work?

Index
  1. Brief introduction to RDMA
  2. How does RDMA work?
  3. What are the advantages and disadvantages of Remote Direct Memory Access?

Brief introduction to RDMA

As with related Direct Memory Access (DMA), Remote Direct Memory Access (RDMA) allows you to transfer data directly from the main memory of one computer to the memory of another system. To do this, it does not rely on operating systems, CPU, or cache, so less hardware resources are used. Memory transfer with RDMA takes place over its own cache, to which the user transfers their data. The technology accesses the network card of a system, so the transfer normally takes place over Ethernet or InfiniBand..

Definition

Remote Direct Memory Access is a technology based on Direct Memory Access. It allows you to transfer data from the RAM of one computer to that of another system without loading the operating systems, the cache or the CPU.

RDMA is already compatible with many different products (hardware and software). Among these, we find the following solutions:

  • Apache Hadoop
  • Spark
  • Baidu Paddle
  • Dell EMC PowerEdge Server
  • Intel Xeon Scalable Prozessoren
  • Microsoft Windows Server (2012 and later)

How does RDMA work?

For data transmission over RDMA to work, a suitable set of protocols is required on the network card first. In general, it is based on TCP / IP. An adequate transport protocol is required so that the technology can support, for example, the so-called Zero Copy Networking , a process that does not use the computer's processor. If the two systems allow the use of Remote Direct Memory Access, the data transfer between them is much faster than between computers that do not support RDMA..

Note

Remote Direct Memory Access is particularly suitable for parallel operations with high-performance computers .

The following interface and network technologies offer the best conditions for smooth transfer with RDMA:

  • RDMA over Converged Ethernet (RoCE): RoCE supports RDMA over an Ethernet connection.
  • Internet Wide Area RDMA Protocol (IWARP): to transfer the data, IWARP accesses the TCP transport protocol or, alternatively, Streaming TCP. IWARP was created by the Internet Engineering Task Force (IETF) to write tasks and processes directly to applications on another system.
  • InfiniBand : InfiniBand is a high-performance computer communication standard for transferring files with low latency. It is often used in data centers to connect groups of computers. RDMA over InfiniBand is one of the most popular methods for fast data exchange.

Remote Direct Memory Access can also be combined with Flash or SSD data carriers and NVDIMMs (non-volatile memory modules)..

RDMA is still in development, and with RDMA over Fabrics the next application possibility has reappeared. Fabric (or fabric) is the term used to describe the infrastructures between several servers and computers. These allow the transfer of data over Fiber Channel networks or Fiber channels (storage networks) and PCI Express (standard for high-performance connections).

What are the advantages and disadvantages of Remote Direct Memory Access?

One of the main advantages of RDMA is its speed over other data transfer technologies and protocols such as iSCSI (SCSI protocol over TCP), Fiber Channel (FC), or Fiber Channel over Ethernet (FCoE). However, the speed with which the data exchange is ultimately dependent on the RDMA variant. Ethernet and InfiniBand are the most popular, allowing transfer speeds of 10-100GB per second. This is ideal for applications that require high computing power, such as distributed databases , big data analytics, or data center applications .

However, RDMA also has disadvantages over fiber channels, which are still used by many companies. To implement RDMA, companies have to make large investments, because the technology requires the purchase of new hardware components and protocols. Because of this, the costs for Remote Direct Memory Access are sometimes considerably higher than for FC or FCoE. Also, fast data exchange with RDMA only works if all systems are sped up with the technology.


...