Fat-tree
1. Fat-tree
1.1. Scalability Problem in Data Centers
- If every host were connected to every other host (full mesh), the number of links would grow as
- For thousands or millions of servers, this is physically impossible: too many cables, too many switch ports.
- Fat-Tree scales to tens of thousands of hosts while keeping the number of links per switch = (bounded, manageable).
1.2. Reusing Commodity Switches
- Around 2005, large data centers needed huge bandwidth but high-radix switches (with hundreds of ports) didn't exist.
- The idea: use many small cheap switches (each with ports) and organize them hierarchically so the aggregate bandwidth grows with the network.
1.3. Balanced Bandwidth (βFatβ)
- In a regular tree topology, links near the root get overloaded (become bottlenecks).
-
Fat-Tree "fattens" higher-level links:
- Instead of one uplink, each switch connects to multiple upper-layer switches.
- This ensures bisection bandwidth (the minimum capacity between any two halves of the network) grows with the network size.
- Effect: You can push a lot of traffic across the middle of the network without congestion.
