Skip to content

Chapter 7: Topology Design -- From One Node to a SuperPOD · Part 9 of 11

Act 8 -- Putting it together: topology sizing decisions

The calculations from Acts 2-6 combine into a topology sizing workflow. An engineer given a set of requirements (number of nodes, required AllReduce bandwidth, budget) follows this sequence:

Topology sizing workflow -- 6 steps

How much total NIC bandwidth does the cluster generate?
Example: 128 x 8 x 400G = 409.6 Tb/s

Step 1: Calculate NIC bandwidth Total NIC bandwidth = node count x NICs per node x NIC speed

For 128 DGX H100 nodes: 128 x 8 x 400G = 409.6 Tb/s

Step 2: Choose target oversubscription For AI training: 1:1 (non-blocking). For mixed workloads: up to 2:1.

Step 3: Calculate required fabric bandwidth At 1:1: fabric must carry 409.6 Tb/s. Bisection must carry 204.8 Tb/s.

Step 4: Choose switch radix and calculate stage count With 64-port switches (32 downlinks, 32 uplinks per leaf):

  • 128 nodes x 8 NICs = 1,024 NIC connections
  • At 32 downlinks per leaf: 1,024 / 32 = 32 leaf switches
  • 32 leaf switches x 32 uplinks = 1,024 uplinks to spine
  • At 32 ports per spine switch (all uplinks): 1,024 / 32 = 32 spine switches
  • This is a 2-stage design (32 leaf + 32 spine = 64 switches)

Check non-blocking:

  • Each leaf: 32 downlinks x 400G = 12.8 Tb/s downlink
  • Each leaf: 32 uplinks x 400G = 12.8 Tb/s uplink
  • 1:1 -> non-blocking [ok]

Step 5: Calculate AllReduce hop count 2-stage (leaf-spine): 2 hops (DGX -> Leaf -> Spine -> Leaf -> DGX) = 4 total traversals = 2 round trips

Step 6: Verify with buffer calculation 32-node AllReduce burst per rail: 32 x 400G x 1ms = 1.6 Gb = 200 MB needed per switch Spectrum-X SN5600 shared buffer: 64 MB -- tight but manageable with per-packet load balancing distributing the burst across multiple uplinks.

The 128-node BasePOD conclusion: A 2-stage, 64-port switch, non-blocking design with Spectrum-X SN5600 supports full AllReduce at line rate with adequate buffer headroom when RSHP is enabled.