Diameter is the worst-case hop count between any two nodes. Bisection is the number of links crossing the worst cut, per direction.
Average hop count assumes uniform random traffic. Real traffic has locality, so treat the average as a ceiling, not a promise.
Family | Diameter (N nodes) | At N = 64 | Bisection per direction | Cost growth |
|---|---|---|---|---|
Mesh | 2(k-1) for k by k | 14 hops | 8 links | Wires grow with N, all short |
Torus | k for k by k | 8 hops | 16 links | Wires grow with N, plus long wraps |
Ring | N/2 bidirectional | 32 hops | 2 links | Cheapest wires, thinnest cut |
Crossbar | 1 | 1 hop | 32 links | Crosspoints grow as N squared |
Hierarchical | Local plus bridge hops | About 8 hops | 4 links | Bridge bundle sets the ceiling |
The block below fixes the parameters first: 64 nodes, 3 cycles per hop for router plus link, and 1 injection cycle. Every result follows by hand arithmetic.
64 nodes, 3 cycles per hop (router + link), plus 1 injection cycle
mesh 8x8: diameter (8-1)+(8-1) = 14 hops; zero-load 14*3+1 = 43 cycles; bisection 8 links per direction
torus 8x8: diameter 4+4 = 8 hops; zero-load 8*3+1 = 25 cycles; bisection 16 links per direction
ring of 64: diameter 64/2 = 32 hops; zero-load 32*3+1 = 97 cycles; bisection 2 links per direction
crossbar 64: diameter 1 hop; zero-load 1*3+1 = 4 cycles; bisection 32 links per direction
hierarchical (four 4x4 clusters, one bridge bundle of 4 links each way):
diameter about 6 local + 2 bridge = 8 hops; zero-load about 8*3+1 = 25 cycles;
bisection 4 links per direction (8 both ways)The torus halves mesh diameter because each dimension wraps. The wrap wires span the die edge, so timing and routing congestion pay for the hops saved.
A 64 by 64 crossbar needs 64 times 64, or 4096, crosspoints. An 8 by 8 crossbar needs 64. Latency stays flat while area grows as N squared, which is why crossbars stop at small node counts.
Hierarchical fabrics localize traffic only when traffic has locality. Global traffic turns every bridge into shared hotspot, so the bridge bundle must be sized from the cross-cluster matrix, not the average.
A systolic array is also called a mesh, but it is a compute dataflow array, not a packet network. None of the rows above apply to it.
Each mesh row cut crosses 8 links one way. The torus adds the wrap links in the same cut, doubling it to 16 per direction.
Uniform random over all pairs gives about 3.9 hops, since each dimension averages (36-1)/(3*6) = 1.94 and two dimensions sum to 3.89. A measured 3.1 implies locality the reporter must state.