Skip to main content
BSS/OSS Academy

Architecture · Rack · Simulation

Inside an AI Cluster: GPU, Memory & Network Data Flow

Follow the data. Each scenario shows which components it passes through, which technology carries it at each point, and whether it ever touches the CPU’s memory.

GPU processing and HBM access

Where the work happens: one GPU and its own memory.

Learning objective: Understand the relationship between GPU compute and HBM.

Logical overlay off. RoCE v2 runs on the routed IP fabric without one.LEAF-SPINE ETHERNET FABRICRouted IP underlay400/800 GbE (illustrative)GPU SERVER Asame packagesame packageGPU SERVER Bsame packagesame packageSpine 1Ethernet switchSpine 2Ethernet switchLeaf 1Ethernet switchLeaf 2Ethernet switchNVMe storageShared systemRDMA NICRDMA · RoCE v2BlueField DPUOptional offloadCPUHost, controlSystem RAMHost memoryPCIe switchGPU 0HBMGPU 1HBMRDMA NICRDMA · RoCE v2BlueField DPUOptional offloadCPUHost, controlSystem RAMHost memoryPCIe switchGPU 0HBMGPU 1HBMspinespinespinespinenvmenvmerocedpupciepciepcierampciehbmpciehbmNVLinkrocedpupciepciepcierampciehbmpciehbmNVLinkNVLinkNVLink

On the wire

No network packet in this step. Nothing here touches the Ethernet fabric.

  • NVLink
  • RDMA / RoCE v2
  • HBM
  • PCIe
  • EVPN / VXLAN
  • Storage
  • CPU and control

What’s happening right now?

Step 1 of 4

GPU 0 begins a computation

A program has handed GPU 0 some work: say, one block of matrix multiplications from a training step. The GPU needs its inputs, and those are already in its own memory.

Source
Server A, GPU 0
Destination
Server A, GPU 0
Technology
None yet: the GPU is scheduling work
Moving
Nothing yet
Why this
A compute job starts with data placement. The GPU can only work quickly on data already in its own memory.
CPU memory
NoNot involved. The CPU launched the job earlier, but the GPU now runs it.

A conceptual two-GPU server, not the internal layout of a GB200 or GB300 NVL72 rack. Compute and storage share one fabric here for clarity; large clusters usually separate them. Link speeds are illustrative.

Compare the technologies

Each one answers a different question, which is why a real cluster can use all of them at once.

TechnologyPrimary roleWhere it livesWhat it solvesWhat it does not solve
HBMHigh-bandwidth GPU memoryOn the GPU packageFeeding thousands of GPU coresMoving data to another GPU
NVLinkGPU interconnectBetween GPUs in a domainVery fast sharing within a domainReaching GPUs outside the domain
RDMADirect remote memory accessIn the adapters at each endCPU overhead and copies on the data pathGetting packets across: it needs a transport
RoCE v2RDMA transport over Ethernet/IPNIC to NIC, over the fabricRDMA on routed EthernetCongestion: PFC and ECN must be configured
InfiniBandDedicated high-performance network fabricIts own adapters and switchesRDMA with flow control built into the fabricReuse of Ethernet tools and skills
DPUInfrastructure and networking offloadA PCIe device in the serverHost cores spent on infrastructure; isolation from the tenantCompute: it adds a fleet of devices to run
EVPNNetwork virtualization control planeOn the switches, using BGPLearning addresses without floodingMoving data, or any RoCE requirement
VXLANNetwork overlay encapsulationBetween VTEPsTenant separation on shared hardwarePerformance: it adds headers and troubleshooting layers
NVMeHigh-performance storage accessBetween software and flash drivesFast, parallel access to flashRemote access: that takes NVMe-oF or a file protocol

Network configuration insights

Where these designs go wrong in practice, and what fails first.

Why RDMA reduces CPU overhead

In ordinary networking the CPU runs the protocol stack, and data is copied between application and kernel memory. At hundreds of gigabits per second, that consumes a large amount of CPU and memory bandwidth.

RDMA moves that work into the adapter. Once memory is registered and a connection exists, the application posts requests directly and the adapter does the rest. The CPU still pays for the setup, and registering memory is slow, which is why libraries reuse registered regions.

Why RoCE networks need congestion management

Training traffic is bursty and synchronised: many GPUs send at the same moment, and queues fill up. RoCE’s transport handles loss poorly compared with TCP, so a little loss can cost a lot of throughput.

A job finishes only when its slowest transfer does, so the fabric’s worst moments, not its average, set the job’s speed. This is what fails first when a RoCE fabric is scaled up without careful tuning.

Priority Flow Control (PFC)

PFC lets a switch tell its neighbour to pause one traffic class when a buffer is nearly full. It is a hop-by-hop safeguard, intended to prevent drops. NVIDIA’s RoCE documentation recommends it.

The trade-off is that pauses spread. A single slow receiver can push back across several switches and hold up traffic that was not even going there, and badly configured networks can deadlock. Treat PFC as a backstop, not a way of running normally.

Explicit Congestion Notification (ECN)

Instead of dropping a packet, a congested switch marks it. The receiver tells the sender, and the sender slows down. Adapters typically do this in hardware, using an algorithm such as DCQCN.

It acts end to end and early, while PFC acts hop by hop and late. A healthy fabric relies on ECN to slow senders first, so PFC rarely has to act. Getting those thresholds right takes tuning for the actual workload.

Why Ethernet MTU matters with VXLAN

MTU (maximum transmission unit) is the largest packet a link will carry. VXLAN adds 50 bytes over IPv4, and RFC 7348 says VTEPs must not fragment VXLAN packets. So the underlay must allow more than the tenant’s largest frame.

This fails in a misleading way: small packets, such as pings and control messages, pass while large ones vanish. The connection looks fine but real traffic stalls. Data-centre fabrics often avoid this by setting jumbo frames well above any tenant size, consistently, on every hop.

Why NVLink and RoCE serve different purposes

NVLink joins a fixed group of GPUs with very high bandwidth per GPU. It is fast and tightly coupled, but it stops at the edge of its domain.

RoCE reaches every server in the cluster, at a small fraction of that bandwidth per GPU. Large jobs use both: NVLink inside the domain, and the network between domains. Schedulers therefore try to keep tightly-coupled work in one domain.

InfiniBand or RoCE: what the choice really involves

Inside the server the two are the same: GPUDirect RDMA, the same libraries, the same CPU role. The decision is about the network and who runs it. InfiniBand brings flow control and central route management built in. RoCE runs on Ethernet, with its wider choice of suppliers and the tools and skills most network teams already have, but the fabric tuning falls on you.

InfiniBand is its own technology to buy, staff and operate, usually alongside Ethernet for storage and management: NVIDIA’s DGX GB200 SuperPOD design does exactly that. Claims that one is simply faster depend on the workload, scale and tuning, so test with your own traffic before deciding.

How DPU offload differs from GPU computation

A GPU runs an application’s mathematics. A DPU runs infrastructure software: virtual switching, encryption, storage services. Moving work to a DPU frees CPU cores, not GPU cycles.

DPUs add a second operating system per server to patch, monitor and secure. They pay off where isolation has real value, such as a multi-tenant GPU cloud. In a single-owner cluster, they may not be worth it on the compute path.

Check your understanding

1.In a GPUDirect RDMA transfer between two servers, what is the CPU’s role?

5 questions

Sources