RDMA (Remote Direct Memory Access)
RDMA is a network interface card (NIC) feature that lets one computer directly place information into the memory of another computer. The technology reduces latency by minimizing demands on bandwidth and processing overhead.
Traditional hardware and software architecture imposes a significant load on a server's CPU and memory because data must be copied between the kernel and application. Memory bottlenecks become more severe as connection speeds exceed the processing power and memory bandwidth of servers.
RDMA gets around this by implementing a reliable transport protocol in hardware on the NIC and by supporting zero-copy networking with kernel bypass.
Zero-copy networking lets the NIC transfer data directly to or from application memory, eliminating the need to copy data between application memory and the kernel.
Kernel bypass lets applications issue commands to the NIC without having to execute a kernel call. The RDMA request is issued from user space to the local NIC and over the network to the remote NIC without requiring any kernel involvement. This reduces the number of context switches between kernel space and user space while handling network traffic.
From RDMA offers low overhead, high speed, Network World Tech Update, 03/24/03.
Additional resources
RDMA Consortium
Specifications for RDMA over TCP/IP.
RDMA promises to remove speed barriersAs LANs increase in speed, technologists continue to try to remove some of the barriers to reaching high speeds that exist on network end points. Network World High Speed LANs Newsletter, 09/16/02.
Comments:
RDMA
by Ram Sharma
The article was fine in highlighting the significance of the technology behind RDMA and its usage in distributed systems.
How ever the author needs to highlight on the security aspect of the information when the message is in transit between the two NICs.In the present world scenario when the information security is at the peak of importance can we risk transferring the address of data in the remote server aswell along with the data, or is there any other methodology employed which actually does not use the address but some hash code(for eg) which maps to the correct address at the destination and it is this hash code that is transferred with the data.
Do write back to me.
thanking you
Add a comment