Cluster network sizer
Size an AI cluster network: accelerators, links, switch radix, fat-tree tiers, oversubscription, optics count, power and collective communication time.
AI, systems and startupFree to useHow it worksSourcesWhere it helps
Fills the inputs below with typical figures. Replace any of them with your own.
- Switches
- 48
- 32 leaf, 16 spine (2 tiers, 64 ports each)
- Links and cables
- 2,048
- 1,024 accelerator to leaf, 1,024 leaf to spine
- Pluggable transceivers
- 2,048
- 2,048 active optical cable ends, 0 copper cables
- Network power
- 69.18 kW
- 67.56 W for each accelerator; switches 36 kW, optics 33.18 kW
- Bisection bandwidth
- 204,800 Gb/s
- 400 Gb/s sustained for each accelerator across the fabric (400 Gb/s at the port)
- Fastest all-reduce
- 10.7 ms
- Hierarchical ring, 1 GB over 1,024 accelerators
- Port use
- 100.0%
- Leaf split: 32 down and 32 up (1 to 1)
Check these
- Rail-optimised: the leaf switches of one rail serve only that rail's port in every server. Same-rail traffic crosses one leaf; traffic between rails crosses the spine tier or the links inside the server.
- Leaf32
- Spine16
Show the data as a table
| Item | Switches |
|---|---|
| Leaf | 32 |
| Spine | 16 |
- Switches36 kW
- Pluggable transceivers18.43 kW
- Active optical cable ends14.75 kW
Show the data as a table
| Item | Power |
|---|---|
| Switches | 36 kW |
| Pluggable transceivers | 18.43 kW |
| Active optical cable ends | 14.75 kW |
Sign in to save your inputs and come back to them later.
| Tier | Links | Cable | Pluggable transceivers | AOC ends |
|---|---|---|---|---|
| Accelerator to leaf | 1,024 | Active optical cable (AOC) | 0 | 2,048 |
| Leaf to spine | 1,024 | Pluggable transceivers and fibre | 2,048 | 0 |
- Ring over all accelerators (solid line, circles)
- Hierarchical ring (dashed line, squares)
- Halving and doubling (Rabenseifner) (dotted line, triangles)
- Recursive doubling (dash-dot line, diamonds)
Show the data as a table
| Message size per accelerator (log scale) | Ring over all accelerators | Hierarchical ring | Halving and doubling (Rabenseifner) | Recursive doubling |
|---|---|---|---|---|
| 1 KB | 10 ms | 1.27 ms | 98 µs | 49.2 µs |
| 3.16 KB | 10 ms | 1.27 ms | 98.1 µs | 49.7 µs |
| 10 KB | 10 ms | 1.27 ms | 98.4 µs | 51.2 µs |
| 31.6 KB | 10 ms | 1.27 ms | 99.4 µs | 56 µs |
| 100 KB | 10 ms | 1.27 ms | 102 µs | 71.2 µs |
| 316 KB | 10 ms | 1.28 ms | 112 µs | 119 µs |
| 1 MB | 10.1 ms | 1.28 ms | 142 µs | 271 µs |
| 3.16 MB | 10.2 ms | 1.3 ms | 238 µs | 752 µs |
| 10 MB | 10.5 ms | 1.37 ms | 542 µs | 2.27 ms |
| 31.6 MB | 11.4 ms | 1.57 ms | 1.5 ms | 7.08 ms |
| 100 MB | 14.5 ms | 2.21 ms | 4.54 ms | 22.3 ms |
| 316 MB | 24.1 ms | 4.25 ms | 14.1 ms | 70.3 ms |
| 1 GB | 54.4 ms | 10.7 ms | 44.5 ms | 222 ms |
| 3.16 GB | 150 ms | 31 ms | 141 ms | 703 ms |
| 10 GB | 454 ms | 95.3 ms | 444 ms | 2.22 s |
Both axes are logarithmic. Ring methods pay a latency for every one of the 2 (p − 1) steps, so they lose to halving and doubling for small messages and to the hierarchical ring when servers hold several accelerators.
| Algorithm | Time | Algorithm bandwidth | Bus bandwidth |
|---|---|---|---|
| Ring over all accelerators | 54.4 ms | 147 Gb/s | 293.7 Gb/s |
| Hierarchical ring (fastest) | 10.7 ms | 749.5 Gb/s | 1,498 Gb/s |
| Halving and doubling (Rabenseifner) | 44.5 ms | 179.8 Gb/s | 359.2 Gb/s |
| Recursive doubling | 222 ms | 35.99 Gb/s | 71.91 Gb/s |
| Message size | Ring over all accelerators | Hierarchical ring | Halving and doubling (Rabenseifner) | Recursive doubling | Fastest |
|---|---|---|---|---|---|
| 1 KB | 10 ms | 1.27 ms | 98 µs | 49.2 µs | Recursive doubling |
| 64 KB | 10 ms | 1.27 ms | 101 µs | 63.2 µs | Recursive doubling |
| 1 MB | 10.1 ms | 1.28 ms | 142 µs | 271 µs | Halving and doubling (Rabenseifner) |
| 16 MB | 10.7 ms | 1.42 ms | 808 µs | 3.6 ms | Halving and doubling (Rabenseifner) |
| 256 MB | 21.4 ms | 3.68 ms | 11.5 ms | 56.9 ms | Hierarchical ring |
| 1 GB | 54.4 ms | 10.7 ms | 44.5 ms | 222 ms | Hierarchical ring |
| 4 GB | 188 ms | 38.9 ms | 178 ms | 889 ms | Hierarchical ring |
| Link speed | Ring over all accelerators | Hierarchical ring | Halving and doubling (Rabenseifner) | Recursive doubling |
|---|---|---|---|---|
| 100 Gb/s | 188 ms | 27.2 ms | 178 ms | 889 ms |
| 200 Gb/s | 98.8 ms | 16.2 ms | 88.9 ms | 444 ms |
| 400 Gb/s | 54.4 ms | 10.7 ms | 44.5 ms | 222 ms |
| 800 Gb/s | 32.2 ms | 7.92 ms | 22.3 ms | 111 ms |
| 1,600 Gb/s | 21.1 ms | 6.54 ms | 11.2 ms | 55.6 ms |
How it works
An AI training cluster needs a network that can move gradients and activations between thousands of accelerators without becoming the bottleneck. This tool sizes a fat-tree (Clos) fabric from the number of accelerators, the ports and speed of each, and the switch radix: how many leaf, spine and core switches, how many links and optical transceivers, what the network draws, how much bandwidth crosses its middle, and how long an all-reduce takes.
- Count the endpoints and the usable radix. Every accelerator port that joins the network is an endpoint. A switch port that is faster than the link can be split (breakout), for example one 800 Gb/s port into four 200 Gb/s links; a slower one must be joined in groups. The result is the radix: how many links one switch can take at the link speed.
endpoints = accelerators x ports per accelerator; radix = switch ports x floor(switch speed / link speed) - Split each leaf between servers and uplinks. A leaf switch gives some of its ports to accelerators (down) and the rest to the next tier (up). With no oversubscription the two are equal. An oversubscription ratio of r to 1 means r times more downlink than uplink capacity. In a rail-optimised design the leaf switches of one rail serve only that rail's port in every server, so each rail is counted as a group.
up = floor(radix / (1 + r)); down = radix − up; leaf switches = ceiling(endpoints in the group / down), summed over the groups - Count the spine tier. The uplinks of all leaf switches land on spine switches. In a two-tier fabric the spine uses every port for leaf links, and every spine must reach every leaf, so there can be no more leaf switches than the radix. This is the leaf-spine arrangement of a fat tree, as Al-Fares, Loukissas and Vahdat describe for commodity switches.
leaf-spine links = ceiling(endpoints x up / down); two-tier spine switches = ceiling(leaf-spine links / radix) - Add a core tier for three tiers. In a three-tier fabric the spine also splits its ports between leaf links (down) and core links (up) at its own oversubscription ratio, and the core joins the pods. A non-blocking fabric of switches with k ports reaches k^3 / 4 endpoints.
spine switches = ceiling(leaf-spine links / spine down); spine-core links = ceiling(leaf-spine links x spine up / spine down); core switches = ceiling(spine-core links / radix) - Count cables, transceivers and power. Each link is one cable. A link on pluggable optics needs two transceivers, one at each end; an active optical cable has its optics built into both ends; passive copper has none. Network power is the switches plus the optics, with a typical figure per module chosen from the line speed unless you enter your own.
transceivers = 2 x optical links; power = switches x switch power + transceivers x module power + AOC ends x end power - Find the bandwidth across the fabric. Each endpoint injects at the link speed. The bandwidth across the middle of a full fat tree is half the endpoint total; oversubscription at each tier divides it, and the same ratio limits what one accelerator can sustain when its traffic crosses the fabric.
bisection bandwidth = endpoints x link speed / 2 / (leaf ratio x spine ratio); sustained per accelerator = ports x link speed / (leaf ratio x spine ratio) - Time the all-reduce with the alpha-beta model. A message of m bytes takes alpha seconds to start and m / beta seconds to send, where beta is the bandwidth of one accelerator across the network times a transport efficiency. A ring all-reduce over p accelerators runs a reduce-scatter and an all-gather of p − 1 steps each. Halving and doubling (Rabenseifner) takes about lg p steps, and recursive doubling suits small messages. The hierarchical ring reduces inside each server first, runs the ring across servers on each accelerator's share, then gathers inside the server. Alpha is the interface latency plus the switch traversals of the longest path.
ring: T = 2 (p − 1) alpha + 2 (p − 1) / p x m / beta; halving and doubling: T = 2 lg(p) alpha + 2 (p − 1) / p x m / beta; recursive doubling: T = lg(p) alpha + lg(p) x m / beta
Assumptions
- The fabric is a folded Clos (fat tree) built from identical switches, fully populated up to the last leaf, with every link at the same speed.
- Rail-optimised means the leaf switches of one rail serve only that rail's port in every server; the spine and core tiers are shared between rails.
- Spine and core counts are rounded up from the link totals; real designs may add switches to keep the pods symmetrical.
- The all-reduce uses the whole of an accelerator's network bandwidth, at an efficiency you set (90% by default), and every step of a ring has the latency of the longest path. Real libraries pick algorithms and overlap steps.
- Power per module and per switch, latencies and the in-server bandwidth are editorial defaults. The switch default (750 W) is the typical figure NVIDIA gives for a 64-port 400 Gb/s InfiniBand switch with passive cables; optics are counted apart.
Limits and warnings
- Links inside the server (NVLink and similar) and the scale-up network are not sized here; they appear only as the in-server bandwidth of the hierarchical all-reduce.
- Congestion, adaptive routing and imperfect load balancing lower the bandwidth below the ideal that a non-blocking fat tree gives.
- Twin-port switch cages (two links in one module) halve the module count at the switch; the transceiver count here assumes one module per link end.
- The model does not size storage, management or out-of-band networks, or the cost of the parts.
- The latency term for a large ring is the main reason hierarchical or tree methods win; the numbers depend on the latency figures entered, so measure your fabric.
- The reduction arithmetic itself (the gamma term in the full cost model) is left out; it is small next to the network time for gradients on current accelerators.
Sources
The methods and default figures rest on these public sources. The wording here is our own; read the source for its full text.
- A scalable, commodity data center network architecture (opens in a new tab), ACM SIGCOMM 2008 (Al-Fares, Loukissas, Vahdat; University of California San Diego), August 2008. The fat tree built from identical commodity switches, and the k^3 / 4 capacity. The link is a copy hosted by Princeton University.
- Optimization of collective communication operations in MPICH (opens in a new tab), The International Journal of High Performance Computing Applications, volume 19, issue 1, pages 49 to 66 (Thakur, Rabenseifner, Gropp), Spring 2005. The alpha-beta cost of the ring and recursive-doubling algorithms and of Rabenseifner's reduce-scatter and gather. The all-reduce forms here add the reduce-scatter and all-gather costs in the same way.
- NVIDIA DGX SuperPOD: Next Generation Scalable Infrastructure for AI Leadership Reference Architecture, featuring NVIDIA DGX H100 (opens in a new tab), NVIDIA, last updated 19 November 2025. Switch and cable counts for 4 to 56 scalable units: for example 32 leaf and 16 spine switches for 1,024 GPUs, and 256 leaf, 256 spine and 128 core for 8,192.
- QM97XX 1U NDR 400Gbps InfiniBand Switch Systems User Manual: Specifications (opens in a new tab), NVIDIA, last updated 25 June 2025. A 32-cage, 64-port 400 Gb/s switch with 747 W typical power with passive cables.
- Cisco 400G QSFP Transceiver Modules Data Sheet (opens in a new tab), Cisco, updated 15 September 2026. Module power: 9 W maximum for the 400G DR4.
- Cisco OSFP 800G Transceiver Modules Data Sheet (opens in a new tab), Cisco, updated 5 January 2026. Module power: 12.9 to 14.2 W typical and 14.5 to 17 W maximum across the 800G modules listed.
Where it helps
The lifecycle stages this tool serves: 1 stage in 1 lifecycle.
More ai, systems and startup tools
Method notev1Formula, ranges, sources and limits
Sizes the leaf, spine and core switches, links, optics, power and bisection bandwidth of an AI cluster fat tree, and the ring all-reduce time from an alpha-beta model.
Formula
endpoints = accelerators x ports per accelerator; radix = switch ports x floor(switch speed / link speed); up = floor(radix / (1 + r)); down = radix − up; leaf switches = ceiling(endpoints in the group / down), summed over the groups; leaf-spine links = ceiling(endpoints x up / down); two-tier spine switches = ceiling(leaf-spine links / radix); spine switches = ceiling(leaf-spine links / spine down); spine-core links = ceiling(leaf-spine links x spine up / spine down); core switches = ceiling(spine-core links / radix); transceivers = 2 x optical links; power = switches x switch power + transceivers x module power + AOC ends x end power; bisection bandwidth = endpoints x link speed / 2 / (leaf ratio x spine ratio); sustained per accelerator = ports x link speed / (leaf ratio x spine ratio); ring: T = 2 (p − 1) alpha + 2 (p − 1) / p x m / beta; halving and doubling: T = 2 lg(p) alpha + 2 (p − 1) / p x m / beta; recursive doubling: T = lg(p) alpha + lg(p) x m / beta
| Input | Unit | Range it holds for | Comes from |
|---|---|---|---|
| Accelerators | count | 1 to 1000000 | Your figure |
| Accelerators per server | count | 1 to 64 | Your figure |
| Network ports per accelerator | count | 1 to 8 | Your figure |
| Link speed | choice | 100, 200, 400, 800, 1600 | Your figure |
| Switch ports | count | 2 to 512 | Your figure |
| Switch port speed | choice | 100, 200, 400, 800, 1600 | Your figure |
| Topology | choice | two-tier, three-tier | Your figure |
| Rail-optimised | choice | yes, no | Your figure |
| Leaf oversubscription | to 1 | 1 to 8 | Your figure |
| Spine oversubscription | to 1 | 1 to 8 | Your figure |
| Accelerator to leaf cable | choice | dac, aoc, optical | Your figure |
| Leaf to spine cable | choice | dac, aoc, optical | Your figure |
| Spine to core cable | choice | dac, aoc, optical | Your figure |
| Power per transceiver, 0 for the typical figure | W | 0 to 60 | Your figure |
| Power per AOC end, 0 for the typical figure | W | 0 to 60 | Your figure |
| Power per copper cable end | W | 0 to 5 | Your figure |
| Power per switch | W | 0 to 20000 | Your figure |
| All-reduce message size | entered unit | from 0 | Your figure |
| Unit of the message size | choice | kb, mb, gb, mib, gib | Your figure |
| Interface and software latency per step | µs | 0 to 1000 | Your figure |
| Latency per switch traversal | ns | 0 to 100000 | Your figure |
| Bandwidth between accelerators in a server | GB/s each way | 0 to 10000 | Your figure |
| Latency inside a server per step | µs | 0 to 1000 | Your figure |
| Transport efficiency | % | 1 to 100 | Your figure |
| Divide collective bandwidth by the oversubscription | choice | yes, no | Your figure |
| Unit for bandwidth results | choice | gbps, gbs, tbps, tbs | Your figure |
Outputs: Leaf switches (switches); Spine switches (switches); Core switches (switches); Pluggable transceivers (modules); Cables (cables); Network power (kW); Bisection bandwidth (Tb/s); Ring all-reduce time (ms); Hierarchical all-reduce time (ms).
Assumptions
- The fabric is a folded Clos (fat tree) built from identical switches, fully populated up to the last leaf, with every link at the same speed.
- Rail-optimised means the leaf switches of one rail serve only that rail's port in every server; the spine and core tiers are shared between rails.
- Spine and core counts are rounded up from the link totals; real designs may add switches to keep the pods symmetrical.
- The all-reduce uses the whole of an accelerator's network bandwidth, at an efficiency you set (90% by default), and every step of a ring has the latency of the longest path. Real libraries pick algorithms and overlap steps.
- Power per module and per switch, latencies and the in-server bandwidth are editorial defaults. The switch default (750 W) is the typical figure NVIDIA gives for a 64-port 400 Gb/s InfiniBand switch with passive cables; optics are counted apart.
Uncertainty: Switch and link counts are exact for a non-blocking fat tree and match the published reference architecture tables. Power and collective times depend on the module, latency and efficiency figures entered and are good to tens of percent.
Known limits
- Links inside the server (NVLink and similar) and the scale-up network are not sized here; they appear only as the in-server bandwidth of the hierarchical all-reduce.
- Congestion, adaptive routing and imperfect load balancing lower the bandwidth below the ideal that a non-blocking fat tree gives.
- Twin-port switch cages (two links in one module) halve the module count at the switch; the transceiver count here assumes one module per link end.
- The model does not size storage, management or out-of-band networks, or the cost of the parts.
- The latency term for a large ring is the main reason hierarchical or tree methods win; the numbers depend on the latency figures entered, so measure your fabric.
- The reduction arithmetic itself (the gamma term in the full cost model) is left out; it is small next to the network time for gradients on current accelerators.
Where the method comes from
Follows Al-Fares, Loukissas and Vahdat, A scalable, commodity data center network architecture (SIGCOMM 2008), with the cost model of Thakur, Rabenseifner and Gropp (2005) (opens in a new tab). The platform's version departs from it as follows.
- The leaf radix is split by an oversubscription ratio and the topology can be rail-optimised, with a breakout of faster switch ports Why: AI clusters use oversubscribed leaves, one rail per accelerator port and split switch ports, none of which the original three-tier pod design includes.
- The all-reduce adds a hierarchical algorithm using the bandwidth inside the server Why: Accelerator servers have a much faster internal network than the cluster network, and the flat ring of the MPICH paper ignores it.
Reference example, checked by test: Worked example in this method note and published in the NVIDIA DGX SuperPOD reference architecture for DGX H100: four scalable units (128 servers, 1,024 GPUs) at 400 Gb/s on 64-port switches, rail-optimised in two tiers, use 32 leaf and 16 spine switches and 1,024 cables between leaf and spine. The ring all-reduce time is hand-worked in the tool's unit test. Leaf switches 32; Spine switches 16; Core switches 0; Pluggable transceivers 2,048; Cables 2,048; Network power 69.1776; Bisection bandwidth 204.8; Ring all-reduce time 54.4264; Hierarchical all-reduce time 10.6737.
Versions
- v1 (2026-10-25): First version, built from the tool idea.
Terms on this page
- AI
- Artificial intelligence (AI): software that learns patterns from data to classify, predict or generate, rather than following only hand-written rules.
- Accelerator
- Any specialised processor attached to a host system to run a class of work faster or more efficiently than a CPU can.
- Collective communication
- Coordinated data exchange patterns across a group of processes, such as all-reduce, all-gather, reduce-scatter and all-to-all.
- Transceiver
- An integrated device combining the transmit and receive signal chains for a communication link, typically including LNA, mixers, filters, VGAs, synthesiser and data converters.
- Bandwidth
- In meeting jargon, a person's or team's available working capacity rather than any data rate.
- InfiniBand
- A switched fabric with native RDMA, credit-based flow control and very low latency, long the default back-end network for HPC clusters and large AI training deployments.
- NVLink
- NVIDIA's proprietary high-bandwidth coherent interconnect for linking GPUs to each other and to CPUs, offering far more bandwidth per link than contemporaneous PCIe and used with NVSwitch to build...
- Scale-up
- Enlarging a single coherent compute domain by connecting more accelerators over a short, very high bandwidth link so they behave as one large device.
- Congestion
- The condition where demand for routing tracks in a region exceeds supply, measured as overflow per global routing cell.
Tell us what you're after and leave your email: we'll connect you with the right person on the Hub.