RDMA (Remote Direct Memory Access)

RDMA (Remote Direct Memory Access) is a technology that allows direct memory access from the memory of one computer to another without involving either one's operating system. This direct process enables high-throughput, low-latency networking, which is particularly beneficial in certain types of data transfer and communication scenarios.

RDMA provides very high data transfer speeds with low latency because it bypasses the operating system's network stack, reducing CPU load and overhead. By allowing direct memory access, RDMA minimizes the time taken for data transfers, which is crucial for performance-sensitive applications.

It facilitates efficient data movement with less CPU intervention, making it ideal for large data transfers and high-performance computing environments. RDMA offloads the work of data transfer to the network hardware (such as RDMA-capable network cards), freeing up CPU resources for other tasks.

RDMA enables "zero-copy" networking, where data can be transferred from the storage of one computer directly into the memory of another without being copied between different layers of the OS.

RDMA is widely used in HPC environments where large data sets are processed, and fast data transfer is crucial. In SANs, RDMA is used for fast data transfers between storage devices and servers. It is increasingly being adopted in cloud environments to enhance the efficiency and performance of cloud services.

RDMA can significantly improve the performance of database operations and transaction processing systems. In network file sharing, particularly with protocols like [[SMB Direct]] and [[NFS over RDMA]], RDMA provides enhanced data transfer speeds and efficiency.

SMB Direct is an implementation of the [[SMB 3|SMB 3.x]] protocol that utilizes RDMA for high-speed network transfers. This is particularly useful for applications like Microsoft [[Hyper-V]] and [[Microsoft SQL Server|SQL Server]], which can leverage SMB Direct for faster and more efficient access to network storage.

RDMA requires network adapters that support RDMA, along with compatible switch infrastructure. Proper configuration and compatibility of hardware and software are necessary to fully realize the benefits of RDMA.