Jellyfish: Networking Data Centers Randomly
7/25/2016 10:27:00 AM
While computer network designers have traditionally adhered to carefully planned, symmetrical structures, a team of computer science researchers at the University of Illinois is proposing the exact opposite: complete randomization of the network topology.
Ph.D. students Ankit Singla and Chi-Yao Hong, computer science professor Brighten Godfrey, and Lucian Popa of HP Labs are working together
working together on the project, called “Jellyfish”. The project harnesses randomized networks to increase flexibility in network growth over time, and to achieve high network capacity at low cost.
“Intuitively, Jellyfish makes network capacity less like a structured solid and more like a fluid,” Godfrey said. “Coincidentally, it also looks like a jellyfish.”
Hong presented the team’s paper at the Networked Systems Design and Implementation Symposium on April 26 in San Jose, CA.
The project has two goals.
The first is to provide high network capacity to facilitate data-intensive computation across many servers, an increasingly important use of compute clouds.
The second goal is to make incremental network growth easier. Current high-capacity networks like the fat-tree, hypercube, and butterfly have very constrained structures that restrict networks to certain sizes, and are hard to modify incrementally.
A Jellyfish network's unstructured design allows it to expand smoothly while preserving efficiency, meaning cloud providers can meet increasing operational demands without incurring huge up-front capital expenditures. And surprisingly, the team has found that Jellyfish supports about 25% higher network capacity than an equally-priced fat-tree: Jellyfish's diverse random connections result in short paths between servers, so that the network has less work to do for each packet of information and can deliver more data per unit time.
Hong's presentation generated positive feedback and numerous questions from the symposium audience. “The project is rightly seen as an interesting, fresh look at network topology design that tackles an important practical problem for data centers,” Singla said. And, Hong added, “Many people think it’s a really cool idea to build a random network.”
The team is now developing techniques to build Jellyfish networks in practice. One problem is choosing the routes that packets should follow through the network – a process that traditionally takes advantage of simple network structure. “I feel routing is the main challenge,” Hong said. “Because of the lack of structure in Jellyfish, today’s standard equal-cost multipath routing may not work well.” The team's results published in NSDI explored several promising solutions for routing, as well as other problems such as how to physically lay out the network cables.
“Jellyfish is sufficiently unlike past designs that implementation challenges will certainly arise,” Godfrey said. “But so far it seems like a completely random network just might work.”