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?
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..
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:
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..
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:
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).
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.