Remote direct memory access: Difference between revisions

Content deleted Content added
Sharpen category; cleanup.
m Typo Correction - Transfered to Transferred
Line 1:
'''Remote Direct Memory Access''' ('''RDMA''') enables two or more [[computer]]s to use each others' [[main memory]] via [[direct memory access]]. As there is no [[Central processing unit|CPU]], [[cache]], or [[context switch]]ing overhead needed to perform the transfer, and transfers continue in parallel with other system operations. This is particularly useful in applications where high throughput, low latency networking is needed such as in massively parallel [[Linux]] clusters. The most common RDMA implementation is over [[InfiniBand]]. Although RDMA over InfiniBand is technologically superior to most alternatives, it faces an uncertain commercial future.
 
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 transferedtransferred.
 
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.