Every LLM cluster is two networks stacked on top of each other: a scale-up fabric that makes a rack behave like one large GPU (NVLink + NVSwitch), and a scale-out fabric that stitches thousands of those racks together (InfiniBand or Ethernet/RoCE). Vendors sell both with peak bandwidth numbers; the interesting question is what those gigabits buy you under real collectives. This article works the math explicitly β link rates, ring all-reduce cost, speedup ceilings β and then looks at the silicon reasons the two tiers exist at all.
1. The Link Math
Raw numbers first, pinned to current-generation datasheets. NVLink 5 (Blackwell, GB200/GB300 NVL72) gives every GPU 18 links at 100 GB/s per direction β 900 GB/s per direction, 1.8 TB/s bidirectional β routed over a copper backplane to nine NVSwitch trays that form a single non-blocking 72-GPU domain with 130 TB/s aggregate bidirectional bandwidth12. InfiniBand's current generations are NDR at 400 Gb/s per port (Quantum-2) and XDR at 800 Gb/s per port (Quantum-3 / Quantum-X800, 144 Γ 800 Gb/s per 4U switch, 115.2 Tb/s switching capacity)34. Ethernet sits at 400G/800G with RoCEv2, driven by the Spectrum-X platform (SN5600: 64 Γ 800G OSFP, 51.2 Tb/s) and ConnectX-8 SuperNICs that expose 2 Γ 400 Gb/s per GPU on GB300-class systems52.
| Fabric | Per-port / per-link | Per direction | Per GPU (current gen) |
|---|---|---|---|
| NVLink 5 (in-domain) | 18 Γ 100 GB/s links | 900 GB/s | 900 GB/s per direction, copper |
| InfiniBand NDR (400 Gb/s) | 50 GB/s per port | 50 GB/s | 400 Gb/s via ConnectX-7 (8 GPUs share) |
| InfiniBand XDR (800 Gb/s) | 100 GB/s per port | 100 GB/s | 800 Gb/s per GPU at 1:1 |
| Ethernet 400G/800G RoCEv2 | 50 / 100 GB/s per port | 50 / 100 GB/s | 800 Gb/s per GPU on GB300 (2 Γ 400 Gb/s ConnectX-8 ports across two planes)2 |
The per-GPU row is the one that matters. A B200 inside an NVL72 domain has 900 GB/s of switch-fabric bandwidth to any other GPU in the rack. The same GPU reaching another rack through scale-out goes over at most 800 Gb/s (100 GB/s) of NIC bandwidth β 9Γ less, and that is the best case (1:1 NIC-to-GPU provisioning with no oversubscription). Watch the unit trap here: 900 vs 800 looks like near-parity until you convert GB/s against Gb/s. Notice the units too: vendor sheets alternate between "1.8 TB/s" (bidirectional sum) and "900 GB/s" (per direction); the collective math below only works with per-direction numbers.
2. The Latency Hierarchy (and Why It Matters Less Than Bandwidth)
Measured and datasheet latency ranges for the two tiers:
- Intra-domain (NVLink/NVSwitch): GPU-to-GPU across an NVSwitch hop lands around 0.1β0.25 Β΅s; published measurements on NVSwitch fabrics report roughly one hundred nanoseconds of switch latency plus a fraction of a microsecond of NIC-side overhead6.
- NIC + one switch hop (NDR InfiniBand): small-message RDMA round-trip on a single switch is roughly 1β2 Β΅s; the Quantum-2 switch itself contributes on the order of 100 ns per hop in cut-through mode64.
- RoCEv2 over Ethernet: typically 1.5β2.5 Β΅s same-switch RTT, with Ethernet switch hops at roughly 400β600 ns β several times InfiniBand per hop, but the same order of magnitude6.
The gap between 0.2 Β΅s and 2 Β΅s looks like a 10Γ problem. It mostly isn't, for LLM collectives. A latency bound applies per message:
where is the per-message latency and the chunk size. NCCL pipelines rings with chunks of 512 KB and larger7, so the latency term amortizes to a handful of round-trips. The bandwidth term, by contrast, scales with the payload itself:
For a 2 GB all-reduce even a 10 Β΅s latency penalty is noise against milliseconds of transfer time. Latency dominates only small collectives β MoE small-message all-to-all, barrier-style metadata sync, decode-time inference. Bandwidth dominates everything that moves activations or gradients. That is the whole reason NVLink domains exist: they buy a 9Γ bandwidth improvement, not primarily a latency one.
3. Collective Math: Why Communication Caps Scaling
The ring all-reduce cost model
A ring all-reduce over GPUs with per-GPU payload splits into a reduce-scatter (data circulates once, per GPU reduced to per GPU) and an all-gather (the reduced shards circulate once). Each phase moves per GPU, so total time is:
where is the per-GPU bus bandwidth (per direction β in a ring every GPU sends and receives simultaneously). The factor approaches 2 and never exceeds it β this is the famous "algorithmic bandwidth" property: a ring stays bandwidth-bound no matter how many GPUs you add. The N-factor, computed:
| N | 2(Nβ1)/N |
|---|---|
| 2 | 1.000 |
| 4 | 1.500 |
| 8 | 1.750 |
| 16 | 1.875 |
| 72 | 1.972 |
Worked example: tensor-parallel attention activation all-reduce
Take one transformer layer with a tensor-parallel attention output all-reduce, the classic TP communication hot spot: hidden size 16,384, batch 8, sequence 8,192, BF16:
Ring all-reduce time at three fabrics, computed with the formula above:
| Fabric (per-GPU bus bw) | N=2 | N=4 | N=8 | N=16 | N=72 |
|---|---|---|---|---|---|
| NVLink 5 domain, 900 GB/s | 2.39 ms | 3.58 ms | 4.18 ms | 4.47 ms | 4.71 ms |
| 8 Γ 400 Gb/s NDR per node, 400 GB/s | 5.37 ms | 8.05 ms | 9.40 ms | 10.07 ms | 10.59 ms |
| 8 Γ 800 Gb/s XDR per node, 800 GB/s | 2.68 ms | 4.03 ms | 4.70 ms | 5.03 ms | 5.29 ms |
Now put compute next to it. The GEMM behind this activation is a 16kβ64k expansion, about FLOPs; at a B200's dense BF16 rate of about 2.25 PFLOPS per GPU, compute time is 31.3 ms on 2 GPUs but only 7.8 ms on 8 and 0.87 ms on 72. Adding the communication term gives the actual scaling picture:
| N | Fabric | Compute | Comm | Comm fraction | Effective speedup (ideal = N) |
|---|---|---|---|---|---|
| 8 | NVLink 900 GB/s | 7.82 ms | 4.18 ms | 34.8% | 5.21Γ |
| 8 | NDR 400 GB/s | 7.82 ms | 9.40 ms | 54.6% | 3.63Γ |
| 72 | NVLink 900 GB/s | 0.87 ms | 4.71 ms | 84.4% | 11.2Γ |
| 72 | XDR 800 GB/s | 0.87 ms | 5.29 ms | 85.9% | 10.2Γ |
Two conclusions fall straight out of the arithmetic. Going from 2 to 8 GPUs inside an NVLink domain yields 2.81Γ instead of the ideal 4Γ β the communication term eats about 35%. Going from 8 to 72 GPUs yields only 2.15Γ instead of 9Γ β at 84% communication fraction, you are spending more time moving activations than matmul-ing them, and that with NVLink-class bandwidth. This is the ceiling no marketing slide removes: the speedup saturates at
and since shrinks with while the communication term stays roughly constant, every strong-scaling workload hits the wall at the where .
Trees and in-network reduction
Tree algorithms reach the same data volume but win on latency for small : a binary-tree all-reduce is steps instead of steps, at the cost of -style bandwidth being harder to achieve concurrently at the root. The escape from software trees is in-network reduction. On InfiniBand, SHARP performs the reduction in the switch ASIC itself as data streams through a hardware reduction tree β the SHARP Streaming-Aggregation paper reports MPI_Allreduce at about 95% of raw network bandwidth and 2β5Γ the bandwidth of host-based reduction at medium to large message sizes8, and up to 5.1Γ lower MPI_Allreduce latency at 7,861-node scale on TACC Frontera9. NVIDIA reports SHARPv2 (HDR generation) doubling all-reduce bandwidth, worth 17% end-to-end BERT training throughput in their MLPerf v1.0 submission (NVIDIA-reported)10. The NVLink domain has its own equivalent: NVSwitch ASICs implement SHARP-style multicast and reduction for the intra-rack collectives2, and NVIDIA claims 4Γ bandwidth efficiency with FP8 SHARP on the NVLink Switch chip of GB200 NVL72 (vendor-claimed)2. In-network reduction does not break the bandwidth bound β it raises the achievable fraction of it and removes one traversal.
4. The Silicon View: Why Scale-Out Costs More per GB/s
If Ethernet were free, everyone would just use it everywhere. The reason NVLink domains exist at all is per-bit physics.
Copper vs SerDes. Inside the rack, NVLink 5 runs 100 GB/s links over passive copper through the NVL72 backplane β a fraction of a GB in reach (hence rack-scale), but near-zero transceiver energy. Outside the rack, every bit crosses PAM4 SerDes at 100β200 Gb/s per lane. The IEEE 802.3df task-force survey quantified 200 Gb/s-per-lane SerDes at roughly 3.5β4.5+ pJ/bit projected depending on channel loss, versus long-reach 100G/lane SerDes measured at 4.6β6.5 pJ/bit; only intra-package XSR links reach β1.7 pJ/bit11. That is per SerDes end; each pluggable link pays both ends.
Optics. Beyond ~2β3 m of passive copper (or ~7 m with an active copper cable at 2β4 pJ/bit), scale-out hops to optics: 800G pluggable modules burn 15β20 pJ/bit all-in (25β30 W per 1.6T module with DSP-dominated power), with the DSP alone at 6β7 W per 800G module in the 100G/200G-lane generation11. Co-packaged optics and silicon photonics promise to cut this toward 3β5 pJ/bit, but that is roadmap math, not shipping-rack math (as of 2026).
The arithmetic of one hop: moving 800 Gb/s over an optical run costs roughly W per direction per link end, versus fractions of a watt for a copper NVLink lane inside the rack. Multiply by the tens of thousands of links in a 100k-GPU cluster and scale-out interconnect becomes a measurable β sometimes dominant β fraction of the rack's power budget. Copper's attenuation sets the inverse constraint: retimers and DSPs buy reach at pJ/bit costs that climb with loss, which is why the NVLink domain is a rack, not a row: GB300 NVL72's "one domain" is nine copper-backplane-connected NVSwitch trays filling one rack, not a happily arbitrary design choice2. Scale-up stays where copper is cheap; scale-out begins where copper stops working.
5. Topology: Bisection Bandwidth and Oversubscription
Scale-out fabrics are fat-trees. The key metric is bisection bandwidth: cut the cluster in half and sum the link bandwidth crossing the cut. In an ideal (non-blocking) 2-level fat-tree, bisection bandwidth equals the host-facing bandwidth β every GPU can talk to every other at line rate for any traffic pattern. That requires the spine layer to have exactly the aggregate bandwidth of the leaves; in practice, cost pushes operators to oversubscribe: e.g., 2:1 or 4:1 (for every 4 Gb/s of leaf downlink, 1 Gb/s of uplink). Under a uniform-injection pattern, a 2:1-oversubscribed fabric halves the worst-case effective all-reduce bandwidth even though every port still says "800 Gb/s" on the label. NVIDIA's AI-factory reference architecture for GB300 builds a two-level SN5600 leaf-Spine fabric with 144 Γ 400 Gb/s uplinks per 72-GPU rack at 1:1 β deliberately non-blocking, per-plane β precisely to keep eth math honest for all-reduce2.
Multiplane designs split each SuperNIC across 2β8 independent leaf-spine planes and load-balance packets across them in hardware, relaxing radix limits at constant bisection bandwidth5. Their cost is fragmenting any single collective's paths; NCCL must be multiplane-aware.
What does "GB300 NVL72 is one domain" mean for an all-reduce? A 72-GPU ring can be drawn entirely inside the copper domain, so the ring runs at 900 GB/s per GPU. The same 72-GPU all-reduce spread over nine 8-GPU servers connected by Ethernet must carry of the payload through inter-node links at whatever per-GPU NIC bandwidth remained unoversubscribed; even at 1:1 XDR provisioning, that's the 5.29 ms vs 4.71 ms row plus one to two switch hops β and the whole collective now lives or dies with the fabric's oversubscription ratio, hot-path congestion control, and adaptive routing.
6. Decision Table by Workload
| Workload | Dominant collective | Payload size | Needs |
|---|---|---|---|
| Tensor Parallelism (TP) | All-reduce per layer, 2Γ per transformer block (attention out + MLP out) | large (GB-scale, every layer) | Intra-domain bandwidth β keep TP width inside the NVLink domain |
| Pipeline Parallelism (PP) | Point-to-point activations between stages | moderateβlarge | Latency-tolerant (overlaps with compute), any fabric; domain-local preferred for microbatch handoff |
| Data Parallelism (DP) | Gradient all-reduce once per step, overlappable | large but schedulable | Ethernet/IB is fine; grows per-step, amortizable |
| Expert Parallelism (EP) / MoE | All-to-all dispatch/combine per layer | moderate (hundreds of MB per GPU per layer) | Hardest fabric: latency- AND bandwidth-sensitive, happens every layer |
For MoE, the numbers say: at any realistic token flow β say 65,536 tokens Γ 4,096 hidden in BF16, 0.54 GB per GPU per dispatch β an 800-Gb/s per-GPU Ethernet/NIC allocation moves it in about 5.37 ms, while the same dispatch inside an NVLink domain's effective ~450 GB/s half-duplex share takes about 1.19 ms. But MoE dispatch saturates below these wire-rate numbers in practice, because all-to-all traffic is the pattern most sensitive to oversubscription and incast (many GPUs hitting one leaf switch simultaneously at the combine step): the fabric's lossless behavior and adaptive routing give out before the link rate does. What saturates first is not raw Gb/s β it is the effective bisection bandwidth under the actual permutation, plus the small-message latency floor for expert-routing metadata.
Rules of thumb: TP β€ domain width (8 on HGX, 72 on NVL72); PP is fabric-agnostic; DP is a scale-out problem every fabric handles if bandwidth is provisioned 1:1; MoE all-to-all wants NVLink-class bandwidth inside the expert groups and a non-oversubscribed scale-out fabric, with SHARP/multiplane offload wherever the fan-out leaves the rack.
7. Critical View: Marketing Numbers vs Usable Bandwidth
The datasheet number is not the number your collective gets. Three systematic gaps:
- Peak Gb/s is per-direction at 100% utilization. Real RoCEv2 fabrics sustain 60β90% of line rate under collective traffic depending on congestion control tuning; InfiniBand with SHARP is measured at about β95% of network bandwidth8. The gap multiplies with every hop.
- "Aggregate" bandwidth is a sum, not a fabric property. The NVL72's celebrated 130 TB/s is TB/s bidirectional β the sum of all GPUs' link bandwidth, not a number any single collective sees1. A ring all-reduce on NVL72 achieves an algorithmic bandwidth of GB/s β outstanding, but "130 TB/s" it is not, and a marketing slide comparing "130 TB/s NVLink vs 51.2 Tb/s Ethernet switch" is comparing a rack-wide aggregated sum to a per-switch capacity.
- Bisection bandwidth and oversubscription are rarely printed. Computed example: a "100,000-GPU fabric" built from 800 Gb/s links at 4:1 spine oversubscription has a worst-case bisection of GB/s β 2.5 PB/s, which sounds enormous until you divide per-GPU: 25 GB/s usable worst-case per GPU instead of the marketed 100 GB/s. Under a bandwidth-bound ring all-reduce, the communication term simply runs at GB/s, quadrupling relative to the datasheet claim. Unified 4Γ-per-generation "AI fabric" claims inherit all three gaps at once.
The honest comparison, per-GPU and per-direction: NVLink 5 gives 900 GB/s in-domain; XDR and 800G RoCEv2 provision up to 100 GB/s at the ideal 1:1 ratio; oversubscription and protocol efficiency scale that number downward, never upward. Scale-up buys a ~4.5β9Γ bandwidth multiple over a well-provisioned scale-out link, and the collective math says that multiple is exactly what TP-heavy and MoE workloads spend. Everything else β DP gradients, PP handoffs, checkpoint and storage traffic β runs fine on the scale-out fabric, which is why huge training clusters exist at all.
Related Resources
Footnotes
-
NVIDIA, GB200 NVL72 product page and datasheet β 72-GPU NVLink domain, 130 TB/s aggregate, 1.8 TB/s per GPU. https://www.nvidia.com/en-us/data-center/gb200-nvl72/ β© β©2
-
NVIDIA Enterprise Reference Architecture, NVL72 AI Factory β System Hardware & Components and Network Logical Architecture β 18 NVLink 5 links per GPU, 900 GB/s per direction, ConnectX-8 2Γ400 Gb/s per GPU, SN5600 leaf-Spine fabric. https://docs.nvidia.com/enterprise-reference-architectures/nvl72-ai-factory/latest/components.html and https://docs.nvidia.com/enterprise-reference-architectures/nvl72-ai-factory/latest/network-logical-architecture.html β© β©2 β©3 β©4 β©5 β©6 β©7
-
NVIDIA, Q32xx/Q34xx XDR 800 Gb/s InfiniBand Switch Systems User Manual β Quantum-3, 144 Γ 800 Gb/s ports, 115.2 Tb/s switching capacity. https://networking-docs.nvidia.com/xdrswitcheshw/specifications β©
-
NVIDIA Mellanox, NDR 400G InfiniBand Architecture product brief β 64 NDR 400 Gb/s ports, SHARPv3, in-network computing. https://www.nvidia.com/content/dam/en-zz/Solutions/networking/ndr-technology/pdf/br-ndr-architecture-brochure.pdf β© β©2
-
NVIDIA, Spectrum-X Ethernet Platform Datasheet / White Paper β SN5600 64 Γ 800G, RoCEv2 adaptive routing and congestion control, multiplane topologies. https://resources.nvidia.com/en-us-networking-ai/networking-ethernet-1 β© β©2
-
Latency hierarchy figures: switch-hop figures from NVIDIA InfiniBand/XDR documentation (cut-through, ~100 ns per hop)43 and reported RoCEv2/NVSwitch measurements in published benchmark literature; treat Ethernet 400β600 ns and NVSwitch ~100 ns classes as measured ranges, not datasheet guarantees. β© β©2 β©3
-
NCCL uses chunked/pipelined ring transport; chunk sizes of 512 KB and larger are the documented default behavior for large-message rings. See NVIDIA NCCL documentation, https://docs.nvidia.com/deeplearning/nccl/ β©
-
Graham et al., SHARP Streaming-Aggregation Hardware Design and Evaluation (ISC 2020) β MPI_Allreduce at ~95% of network bandwidth, 2β5Γ over host-based reduction. https://pmc.ncbi.nlm.nih.gov/articles/PMC7295336/ β© β©2
-
Ramesh et al., Scalable MPI Collectives using SHARP: ... TACC Frontera (ExaMPI 2020) β up to 5.1Γ MPI_Allreduce latency reduction at 7,861 nodes. https://doi.org/10.1109/exampi52011.2020.00007 β©
-
NVIDIA Developer Blog, Advancing Performance with NVIDIA SHARP In-Network Computing β SHARPv2 2Γ AllReduce bandwidth, MLPerf v1.0 BERT +17% (vendor-reported). https://developer.nvidia.com/blog/advancing-performance-with-nvidia-sharp-in-network-computing/ β©
-
IEEE 802.3df task force, Power considerations for 200G/lane AUI β 100G/lane β100G/lane long-reach measured 4.6β6.5 pJ/bit (XSR intra-package 1.55β1.71), 200G/lane projected 3.5β4.5+ pJ/bit. https://grouper.ieee.org/groups/802/3/df/public/22_11/prli_3df_01_2211.pdf β© β©2