Review of "Jellyfish: Networking Data Centers Randomly"
Existing high-bandwidth network designs have rigid structure that interferes with incremental expansion, so this paper proposes Jellyfish, a high-capacity network interconnect which adopts random graph topology and yields itself naturally to incremental expansion. And this paper argues that it's also more cost-efficient than a fat-tree.
The main idea behind Jellyfish is that random graphs have higher throughput because the have lower average path length compared to fat tree. But this is only true when all data flows uniformly between servers. If a service has an application server that needs to talk to its databases constantly, this will have a very hot line between two servers while leaving other connections be very cool. With a random graph, you might not leverage this the rack level locality very well. I also think that racks and ToR switches are a good way to organize wires. With the topology suggested by a random graph. I don't know how the wires will look like, and if any issues happen how is an operator going to debug the issue and replace a line. So I don't really think Jellyfish is really a neat idea. But identifying the fact that random graph has a lower average path length is something useful, maybe in another settings when we are able to connect servers using machines.