Remote Direct Memory Access (RDMA)
Remote Direct Memory Access(RDMA) is the access of memory of one computer by another in a network without involving either one’s operating system, processor or cache.It improves throughput and performance of systems as it frees up many resources.
Operations such as read and write can be performed on remote machine without interrupting CPU of that machine. This technology helps in higher data transfer rate and low-latency networking. RDMA uses zero copy networking by enabling network adapters for transferring data direct into the buffers of systems.
Features of RDMA :
- Zero copy networking –
Data can be sent and received directly between buffers of applications without being copied between network layers.
- Reduced CPU involvement –
Applications can access data directly from remoter servers without consuming CPU time of remote servers.Also the cache memory of CPU of remote server will not be filled with the accessed content.
- Effective Transaction –
Data is sent and received in the form of discrete messages instead of streams which eliminates the need of separating messages.
Network protocols supporting RDMA :
- InfiniBand (IB) –
A protocol supporting RDMA natively from the beginning. As it is a new network technology, it requires NICs(Network Interface Card) and switches which supports this technology.
- RDMA Over Converged Ethernet (RoCE) –
A network protocol which allows performing RDMA over Ethernet network. This allows using RDMA over standard Ethernet infrastructure (switches).
- Internet Wide Area RDMA Protocol (iWARP) –
A protocol which allows performing RDMA over TCP. Some features of IB and RoCE aren’t supported in iWARP. This allows using RDMA over standard Ethernet infrastructure (switches).
- Used in industries that require small CPU footprint like cloud computing and many more.
- Used in industries that require high bandwidth like medical equipment, storage and backup and many others.