RDMA and RoCEv2 Networking
Introduction to RDMA
Bypassing the Middleman
In a typical computer network, when one computer sends data to another, it's a bit like sending a package through a very bureaucratic postal service. The sending application hands the data to the operating system (OS). The OS wraps it up, copies it a few times, and gives it to the network card. The receiving computer then reverses the process. The CPU on both ends is heavily involved, acting as a manager for the whole operation.
This process works fine for web browsing or sending emails, but it's too slow for tasks that need to move massive amounts of data instantly, like in supercomputing clusters or massive data centers. All the copying and OS involvement creates bottlenecks and uses up valuable CPU cycles.
RDMA
noun
Stands for Remote Direct Memory Access. It's a technology that allows one computer's memory to be accessed by another computer directly over a network, without involving either machine's operating system or CPU.
RDMA creates a shortcut. It lets an application on one machine read from or write to the memory of another machine as if it were local. The network cards handle the entire transfer on their own, freeing up the CPUs to do other computational work.
As the diagram shows, the RDMA data path is much more direct. By cutting out the OS and CPU from the transfer process, RDMA provides some major performance boosts.
The Benefits of Speed
The advantages of RDMA all stem from its direct, OS-bypassing nature:
- Low Latency: Latency is the time it takes for a single piece of data to travel from source to destination. By eliminating software layers and memory copies, RDMA drastically reduces this time. Data gets where it's going faster.
- High Throughput: Throughput is the total amount of data that can be moved in a given amount of time. Because the network hardware handles the transfer at line rate, RDMA can move more data, faster, saturating high-speed network links.
- Reduced CPU Overhead: Since the CPU isn't managing the data transfer, it's free to focus on its main job: running applications and performing computations. This makes the entire system more efficient.
Where is RDMA Used?
You won't find RDMA in your home laptop, but it's a cornerstone of environments where performance is critical. High-Performance Computing (HPC) clusters, which power scientific research and complex simulations, rely on RDMA to quickly share data between thousands of processor cores.
Large-scale data centers run by cloud providers and tech giants also use RDMA extensively. It speeds up communication for distributed databases, artificial intelligence and machine learning workloads, and high-performance storage systems. Any application that needs to shuffle huge datasets between servers with minimal delay is a prime candidate for RDMA.
What is the primary function of RDMA (Remote Direct Memory Access)?
True or False: In a traditional network transfer (non-RDMA), the CPU is heavily involved in managing the data packet movement.
In essence, RDMA is about removing the speed bumps in the data highway between computers, allowing for a faster and more efficient flow of information.
