Once you accept that the future is
The same theory spans two very different scales. Inside a chip, a Network-on-Chip (NoC) routes packets between tens of cores over millimetres of copper. Across a building, a system network routes between thousands of servers over kilometres of fibre. The vocabulary — topology, latency, bandwidth, routing, flow control — is identical; only the constants change. Master it once and you can reason about both.
The topology is the wiring diagram — who is directly connected to whom. It fixes the network's cost and, before a single packet moves, its best-case performance. Reveal the four classics one at a time:
A bus is one shared wire: dead cheap, but only one message travels at a time, so it
chokes the instant you add nodes. A ring gives each node two neighbours; better, but a
message may crawl halfway around the loop. A mesh lays nodes on a grid with short links
to their four neighbours — the workhorse of on-chip networks. A torus is a mesh whose
edges wrap around, so the grid becomes a doughnut with no far corners, cutting the worst-case
distance roughly in half. Two more you can't draw as tidily: the crossbar, which wires
every input to every output (fast but
To compare topologies without hand-waving, architects reduce each to a handful of figures:
Here is how the topologies stack up (for
| Topology | Degree | Diameter | Bisection width | Notes |
|---|---|---|---|---|
| Bus | 1 | 1 | 1 | cheapest; no parallelism, dies at scale |
| Ring | 2 | ⌊N/2⌋ | 2 | simple; latency grows with N |
| Crossbar | N | 1 | N/2 | full bandwidth, but O(N²) switches |
| 2-D mesh (k×k) | ≤4 | 2(k−1) | k | short links; on-chip favourite |
| 2-D torus (k×k) | 4 | ≈k | 2k | mesh + wrap; lower diameter & double bisection |
| Fat-tree | varies | 2·log N | N/2 | full bisection; datacenter standard |
Topology says which links exist; routing chooses which ones a given packet actually takes. On a mesh the standard is dimension-order (XY) routing: travel along X until you reach the destination column, then along Y — simple, cheap, and provably deadlock-free. Flow control then decides how a packet advances when links are busy. Old networks used store-and-forward, buffering the whole packet at every hop; modern ones use wormhole flow control, streaming the packet as a train of small flits that snakes through several routers at once, so latency barely grows with distance. Get flow control wrong and packets can wait on each other in a cycle forever — deadlock — which is why routing algorithms are designed to make that impossible.
Let's compute diameter and bisection for a mesh versus a torus and watch the wrap-around earn its keep.
For a
Notice the bus line at the end. Its diameter is a perfect
A plain tree of switches has a fatal flaw: every packet between different branches must climb to a shared root, so the links near the top carry the traffic of the whole machine and become a bottleneck. Charles Leiserson's fat-tree (1985) fixes it by making the links fatter (more parallel cables and switches) the higher you go, so the aggregate bandwidth stays constant at every level — giving full bisection bandwidth, where any half of the machine can talk to the other half at full speed. Nearly every large datacenter fabric (Google, Meta, and classic Clos networks) is a fat-tree for exactly this reason: at scale, all-to-all bandwidth is worth more than saving on cable.
The most common beginner error is to rank networks by diameter alone and declare the one with the fewest
hops the winner. A shared bus has diameter
As node counts explode, the network's scaling law becomes the machine's scaling law. A bus or ring
collapses past a few dozen nodes; a mesh keeps links short and cheap but its diameter grows as