Skip to main content
  1. Index/

RDMA (Remote Direct Memory Access)

RDMA (Remote Direct Memory Access) allows a network adapter to transfer data between the memory of two machines with little CPU overhead, low latency, and often kernel bypass (userspace stacks such as verbs on InfiniBand or RoCE). Its objective in AI infrastructure is to keep GPUs fed and synchronized: distributed training exchanges gradients quickly, disaggregated inference (llm-d) moves KV cache blocks between prefill and decode nodes, and NVMe-oF storage delivers checkpoints without the host spending cycles copying every byte. DPUs and SmartNICs also use RDMA paths for storage and east-west traffic while the host CPU runs models.

Architecturally, RDMA differs from plain TCP on a CPU-centric socket API: queues and memory regions are registered in advance; the NIC performs DMA after a one-sided or two-sided operation is posted. InfiniBand is RDMA-native; RoCE (RDMA over Converged Ethernet) carries RDMA on lossless Ethernet with PFC/ECN tuning. Without lossless fabric or correct switch config, RoCE performance collapses. RDMA is not a substitute for NVLink inside a server (GPU–GPU) but extends similar “remote memory” semantics across the cluster. Security and ops require partitioning (PKeys, VPC isolation), monitoring of retransmits, and coordination with Kubernetes CNI/multus where RDMA devices are passed through to pods.

Red Hat supports RDMA on RHEL and OpenShift through drivers (Mellanox/NVIDIA ConnectX, etc.), SR-IOV, device plugins, and telco/cloud networking docs that overlap AI clusters. OpenShift AI and llm-d reference designs assume RDMA-capable networks for prefill/decode disaggregation and large-scale training. DOCA on BlueField DPUs exposes RDMA for offload scenarios. Customers enable RDMA in the same supported RHEL kernel and firmware matrix as other high-performance networking, with Red Hat handling platform integration while hardware vendors document topology and cable plans.

Related

InfiniBand

InfiniBand is a high-performance network fabric designed for datacenter and HPC clusters, natively supporting RDMA (Remote Direct Memory Access) with low latency, high bandwidth, and features such as adaptive routing and congestion control at the link layer. Its objective in AI is to connect many GPU servers so distributed training (gradient all-reduce via NCCL) and multi-node inference (tensor parallel, llm-d prefill/decode KV transfer) are not limited by TCP overhead on a CPU. InfiniBand NICs (e.g. NVIDIA ConnectX) present verbs APIs; subnets are managed with an Subnet Manager and partitioned for multi-tenant isolation.

NCCL (NVIDIA Collective Communications Library)

NCCL (NVIDIA Collective Communications Library) implements collective operations—all-reduce, broadcast, reduce-scatter, all-gather, and others—optimized for NVIDIA GPUs across NVLink within a node and RDMA (InfiniBand or RoCE) across nodes. Its objective in AI is to make distributed training and multi-GPU inference (tensor parallelism) scale: gradient shards must merge every step; attention and MLP partitions must exchange activations with minimal latency. Frameworks (PyTorch DDP/FSDP, vLLM tensor parallel) call NCCL (or delegate to it) rather than hand-rolling socket code.

RoCE (RDMA over Converged Ethernet)

RoCE (RDMA over Converged Ethernet) implements RDMA semantics on Ethernet (RoCEv2 uses UDP/IP), so NICs can perform remote memory access with low CPU utilization over the same physical switches many enterprises already operate. Its objective is to deliver InfiniBand-like GPU communication economics—fast NCCL all-reduces, NVMe-oF, llm-d KV moves—without maintaining a separate InfiniBand fabric. RoCE requires lossless Ethernet behavior: Priority Flow Control (PFC), Explicit Congestion Notification (ECN), buffer tuning, and often dedicated traffic classes so RDMA traffic is not dropped under burst load.