MRC splits each 800 Gb/s NIC into eight independent 100 Gb/s links connected to different switches, creating parallel network planes. For a single RDMA transfer, packets are sprayed across hundreds of paths in all planes. Each packet carries the final memory address so packets can arrive out of order and be written directly. MRC keeps state for many paths and swaps a path when it detects congestion; on a packet loss it immediately stops using that path and probes it. For destination-side congestion it uses packet trimming — the switch strips the payload and forwards only the header, triggering an explicit retransmission request. Routing uses IPv6 Segment Routing (SRv6): the sender encodes a sequence of switch identifiers in the destination address, and each switch removes its own identifier and consults a static routing table to decide the next hop. Dynamic routing (BGP) is disabled.
In AI training clusters at the scale of hundreds of thousands of GPUs, a single late transfer can stall an entire synchronous training step, and link or switch failures in classic single-path RoCE networks cause multi-second pauses or job crashes. Traditional protocols require packets of a transfer to follow one path, leading to hot-spots and underuse of available path diversity.
Correct ECMP or MPTCP configuration in GPU clusters requires network topology knowledge — misconfiguration can lead to uneven traffic distribution and hotspots.
Too few parallel network paths does not eliminate HOL blocking for large allreduce operations in distributed training.
May 5, 2026 — OpenAI publishes the MRC 1.0 specification as an OCP contribution alongside the MRC + SRv6 white paper.
Adaptive packet spraying selects paths dynamically in response to load and loss/trim signals.
A single transfer is sprayed across hundreds of concurrent paths through all network planes.
Deployed on OpenAI NVIDIA GB200 clusters; built into 800 Gb/s NICs attached to GPUs.