Remote direct memory access: Difference between revisions

Content deleted Content added
Sharpen category.
rework, tighten
Line 1:
'''Remote Direct Memory Access''' ('''RDMA''') enables two or moreallows [[computer]]s to use each others' [[maindirect memory]] viaaccess|data [[directto memorymove accessdirectly]]. from As there is nothe [[Centralmain processing unitmemory|CPUmemory]], [[cache]],of orone [[context switchcomputer]]ing overheadinto neededthat toof performanother thewithout transfer,involving andeither transfersone's continue in parallel with other[[operating system operations]]. This is particularly useful in applications wherepermits high -throughput, low-[[Latency (engineering)|latency]] networking, which is neededespecially such asuseful in massively parallel [[Linux]]computer clusters. The most common RDMA implementation is over [[InfiniBandcluster]]s. Although RDMA over InfiniBand is technologically superior to most alternatives, it faces an uncertain commercial future.
 
Once a connection has been established, RDMA enables the movement of data from the memory of one server directly into the memory of another server without involving the [[operating system]] of either node. RDMA supports [[zero-copy]] networking by enabling the [[network adapter]] to transfer data directly to or from application memory, eliminating the need to copy data between application memory and the data buffers in the operating system. Such transfers require no work to be done by [[Central processing unit|CPUs]], [[caches]], or [[context switches]], and transfers continue in parallel with other system operations. When an application performs an RDMA Read or Write request, the application data is delivered directly to the network, reducing latency and enabling fast message transfer.
High [[Latency (engineering)|latencies]] negatively impact potential [[bandwidth]]. When latencies are high, [[Protocol (computing)|protocol]] overhead overwhelms the work needed to deliver data. High latencies create a [[Bottleneck (network)|bottleneck]], preventing full utilization of the network, thus decreasing network bandwidth. Latency reduces overall [[Network performance|performance]] by limiting how fast an application can get the data it needs and limiting the overall size and scalability of a [[Computer cluster|cluster]] by reducing the number of messages that can be effectively transferred.
 
RDMA reduces the need for [[Protocol (computing)|protocol]] overhead, which can squeeze out the capacity to move data across a network, reducing [[Network performance|performance]], limiting how fast an application can get the data it needs, and restricting the size and scalability of a [[Computer cluster|cluster]].
Once a connection has been established, RDMA enables the movement of data from the memory of one server directly into the memory of another server without involving the [[operating system]] of either node. RDMA supports [[zero-copy]] networking by enabling the [[network adapter]] to transfer data directly to or from application memory, eliminating the need to copy data between application memory and the data buffers in the operating system. When an application performs an RDMA Read or Write request, the application data is delivered directly to the network, reducing latency and enabling fast message transfer.
 
RDMA’s acceptance is limited by the need to install a different networking infrastructure. New standards enable [[Ethernet]] RDMA implemention at the physical layer and [[Transmission Control Protocol|TCP]]/[[Internet Protocol|IP]] as the transport, combining the performance and latency advantages of RDMA with a low-cost, standards-based solution. The RDMA Consortium and the DAT Collaborative<ref>[http://www.datcollaborative.org/ DAT Collaborative website.]</ref> have played key roles in the development of RDMA protocols and [[Application programming interface|APIs]] for consideration by standards groups such as the [[Internet Engineering Task Force]] and the Interconnect Software Consortium.<ref>[http://www.opengroup.org/icsc/ The Interconnect Software Consortium website.]</ref> Software vendors such as [[Oracle Corporation]] support these APIs in their latest products, and network adapters that implement RDMA over Ethernet are being developed.
 
The most common RDMA implementation is over [[InfiniBand]], which is technologically superior to most alternatives but faces an uncertain commercial future.
 
==Notes==