47
Jellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking Advances in Cloud Computing December 8 2011

Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Jellyfish: Networking Data Centers Randomly

Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey

DIMACS Workshop on Systems andNetworking Advances in Cloud Computing

December 8 2011

Page 2: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

The real stars...

Ankit SinglaUIUC

Chi-Yao HongUIUC

Lucian PopaHP Labs

Page 3: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

It is anticipated that the whole of the populous parts of the United States will, within two or three years, be covered with net-work like a spider's web.

Let’s start with a prediction: Any guesses what date this is from?

Page 4: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

–– The London Anecdotes,1848

It is anticipated that the whole of the populous parts of the United States will, within two or three years, be covered with net-work like a spider's web.

This talk is about network topology, and as this quote illustrates people have been designing network topologies for hundreds of years. But in the past, they have been constrained in some way. If you’re building a wide area network, you need to build a network constrained by, for example, where the population is located ...

Page 5: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

... If you’re building a supercomputer, you need a network with a highly regular structure so routing is easy and can’t get deadlocked. ...

Page 6: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

... and if you’re building a traditional data center, you need a design like a tree so the Spanning Tree Protocol can work right.

But now, in data centers particularly, we have the tools to build topologies with a great deal more freedom than we’ve ever had before. And I intend to use it! We’re going to take that freedom and do something a little radical with it. So, what do we want out of a network topology?

Page 7: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Two goals

High throughput

Eliminate bottlenecksAgile placement of VMs

Incremental expandability

Easily add/replaceservers & switches

Page 8: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Incremental expansion

Facebook “adding capacity on a daily basis”

Commercial products

• SGI Ice Cube (“Expandable Modular Data Center”)• HP EcoPod (“Pay-as-you-grow”)

You can add servers, but what about the network?

2007 1008 09

(http://tinyurl.com/2ayeu4f) These commercial products let you add servers, but expanding high bandwidth network interconnects turns out to be rather tricky.

Page 9: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Today’s structured networks

Page 10: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Structure constrains expansion

Coarse design points

• Hypercube: 2k switches• de Bruijn-like: 3k switches• 3-level fat tree: 5k2/4 switches

Fat trees by the numbers:

• (3-level, with commodity 24, 32, 48, ... port switches)• 3456 servers, 8192 servers, 27648 servers, ...

Unclear how to maintain structure incrementally

Page 11: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Our Solution

Forget about structure –let’s have no structure at all!

Page 12: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Jellyfish:The Topology

Page 13: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Jellyfish: The Topology

Switch'

Server'ports'

Server''

Server'

Random'''Regular'''Graph'

Switches'are'nodes'Each'node'has''the'same'degree'

Uniform'randomly'selected'from'all'regular'graphs'

Switch'

Switch'

Page 14: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Capacity as a fluid

Jellyfish random graph432 servers, 180 switches, degree 12

The name Jellyfish comes from the intuition that Jellyfish makes network capacity less like a structured solid and more like a fluid.

Page 15: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Capacity as a fluid

Jellyfish random graph432 servers, 180 switches, degree 12

JellyfishArctapodema (http://goo.gl/KoAC3)

[Photo: Bill Curtsinger, National Geographic]

But it also looks like a jellyfish...

Page 16: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Construction & Expansion

Page 17: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Building Jellyfish

Page 18: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Building Jellyfish

X

Page 19: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Building Jellyfish

X

X

Same procedure for initial constructionand incremental expansion

Page 20: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Quantifying expandability

0

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7 8

Bis

ectio

n B

andw

idth

Expansion Stage

Jellyfish

LEGUP

Increasing cost

LEGUP: [Curtis, Keshav, Lopez-Ortiz, CoNEXT’10]Main reason this happens: LEGUP needs to leave some ports free to be able to scale out, while Jellyfish can use them all. The point is not that LEGUP is bad -- it's trying its best, but it has to stay within a Clos-like topology, and to do that, it has to leave some ports free for later expansion.

Page 21: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Throughput

So we got higher bisection bandwidth here because we’re using all ports. But, what if we forget about expandability for a moment, and just compare two topologies with equivalent equipment: By giving up a carefully planned structure, do we take a hit on throughput?

Page 22: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Throughput: Jellyfish vs. fat tree

0

500

1000

1500

2000

2500

3000

3500

0 2000 4000 6000 8000 10000 12000 14000

#Ser

vers

at N

on-B

lock

ing

Rat

e

Equipment Cost [#Ports] Using Identical Equipment

Jellyfish (Packet-level)Fat-tree

Packet-level simulation

} +25%more

servers

About half the people we talk to think this is obvious, and half think it’s surprising. So, let’s get some intuition for why Jellyfish has higher throughput.

Page 23: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Intuition

# 1 Gbps flowstotal capacity

used capacity per flow=

if we fully utilize all available capacity ...

Page 24: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Intuition

# 1 Gbps flows∑links capacity(link)

used capacity per flow=

if we fully utilize all available capacity ...

Page 25: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Intuition

# 1 Gbps flows∑links capacity(link)

1 Gbps • mean path length=

if we fully utilize all available capacity ...

Page 26: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Intuition

# 1 Gbps flows∑links capacity(link)

1 Gbps • mean path length=

if we fully utilize all available capacity ...

Mission:minimize average path length

Page 27: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Example

Fat tree432 servers, 180 switches, degree 12

Jellyfish random graph432 servers, 180 switches, degree 12

Let’s take an example...

Page 28: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Example

Fat tree16 servers, 20 switches, degree 4

Jellyfish random graph16 servers, 20 switches, degree 4

A more manageable example, actually...

Page 29: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Example: Fat Tree

origin

4 of 16reachable

in < 6 hops

Page 30: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Example: Jellyfish

origin

13 of 16reachable in

< 6 hops

1

2

3

45

The example demonstrates that Jellyfish has much lower average path length. The randomness of the links allows the sphere of reachable nodes to rapidly expand as we get farther from the origin. (Formally, the random graph is a good expander graph.)

Page 31: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Can we do even better?

What is the maximum number of nodesin any graph with degree ∂ and diameter d?

Page 32: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Can we do even better?

What is the maximum number of nodesin any graph with degree 3 and diameter 2?

Peterson graph

Page 33: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

A LaTeX dvi table and dvi legend are available from Charles Delorme, Laboratoire de Recherche enInformatique, Orsay, France. Please, send new results to:[email protected] (Charles Delorme , LRI , who keeps the LaTeX table)[email protected] ( Francesc Comellas , DMAT/combgraph , who updates this WWW table).

Link to a Java applet that computes the degree and diameter of a graph in a file, local or accessible by HTTP,and formatted as a list of adjacencies. Click here.

LARGEST KNOWN (Δ,D)-GRAPHS. June 2010.

D \ D 2 3 4 5 6 7 8 9 103 10 20 38 70 132 196 336 600 1 2504 15 41 98 364 740 1 320 3 243 7 575 17 7035 24 72 212 624 2 772 5 516 17 030 53 352 164 7206 32 111 390 1 404 7 917 19 282 75 157 295 025 1 212 1177 50 168 672 2 756 11 988 52 768 233 700 1 124 990 5 311 5728 57 253 1 100 5 060 39 672 130 017 714 010 4 039 704 17 823 5329 74 585 1 550 8 200 75 893 270 192 1 485 498 10 423 212 31 466 24410 91 650 2 223 13 140 134 690 561 957 4 019 736 17 304 400 104 058 82211 104 715 3 200 18 700 156 864 971 028 5 941 864 62 932 488 250 108 66812 133 786 4 680 29 470 359 772 1 900 464 10 423 212 104 058 822 600 105 10013 162 851 6 560 39 576 531 440 2 901 404 17 823 532 180 002 472 1 050 104 11814 183 916 8 200 56 790 816 294 6 200 460 41 894 424 450 103 771 2 050 103 98415 186 1 215 11 712 74 298 1 417 248 8 079 298 90 001 236 900 207 542 4 149 702 14416 198 1 600 14 640 132 496 1 771 560 14 882 658 104 518 518 1 400 103 920 7 394 669 856

References

[BeDeQu92] J.-C. Bermond, C. Delorme and J.J. Quisquater; Table of large (Δ,D)-graphs. DiscreteApplied Mathematics, 37/38 (1992), 575-577.[Bi74] N. Biggs; Algebraic Graph Theory, Cambridge Math. Library ISBN 0-521-45897-8 pbk, (1974,1993 2nd edition).[Co06] Marston Conder http://www.math.auckland.ac.nz/~conder/symmcubic2048list.txt[CoGo92] F. Comellas and J. Gómez, New large graphs with given degree and diameter. , GraphTheory, Combinatorics and Algorithms, vol 1, Yousef Alavi and Allen Schwenk (Eds.), John Wiley &Sons, Inc.; New York (1995) pp. 221-233. ISBN 0-471-30437-9. (Proc. of the Seventh QuadrennialInternational Conference on the Theory and Applications of Graphs, Kalamazoo, MI, USA, June1992.)[DeGo02] C. Delorme, J. Gómez. Some new large compound graphs. European Journal ofCombinatorics, 23 (2002), pp. 547.[DiHa94] M.J. Dinneen & P. Hafner. New results for the degree/diameter problem. Networks, 24(1994) 359-367.

[Delorme & Comellas: http://www-mat.upc.es/grup_de_grafs/table_g.html/ ]

Diameter

Deg

ree

Degree-diameter problem

This is not an easy problem! Only the values in bold are known to be optimal. But people have put in a lot of time to find good graphs in clever ways. Can we make use of this?

Page 34: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Degree-diameter problem

Do the best known degree-diameter graphsalso work well for high throughput?

Page 35: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Degree-diameter vs. Jellyfish

0

0.2

0.4

0.6

0.8

1

(132, 4, 3)

(72, 7, 5)

(98, 6, 4)

(50, 11, 7)

(111, 8, 6)

(212, 7, 5)

(168, 10, 7)

(104, 16, 11)

(198, 24, 16)

No

rma

lize

d T

hro

ug

hp

ut

Best-known Degree-Diameter GraphJellyfish

D-D graphs do havehigh throughput Jellyfish within 15%!

Switches:Total ports:

Net-ports:

Two interesting things come out of this: (1) Our hypothesis was right, D-D do have high throughput, which might be useful as a benchmark or to build DCs that don’t need to expand like maybe in a container. (2) Randomness is competitive, always within 15% of these carefully-optimized topologies. And of course, Jellyfish has the advantage of easy incremental expandability.

Page 36: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

What we know so far

flexible, expandable high throughput

Page 37: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

“OK, but...”

Now, this is the point in the talk when you might be saying, “OK, but, what about X?” I’d like to talk about two values of X: Routing and Cabling.

Page 38: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Routing

Intuition

# 1 Gbps flows

total capacity

used capacity per flow=

if we fully utilize all available capacity ...

if

How do we effectively utilize capacity without structure?

Well, that's a big if...So, how do we fully utilize the capacity? Tree-like networks have nice structure and we can use something like ECMP or Valiant load balancing, spraying packets or flows randomly to the core switches. But now we don't have any structure of "core" switches. What do we do?

Page 39: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Routing: a simple solution

Find k shortest paths

Let Multipath TCP do the rest

• [Wischik, Raiciu, Greenhalgh, Handley, NSDI’10]

0

0.2

0.4

0.6

0.8

1

70 165 335 600 960

Nor

mal

ized

Thr

ough

put

#Servers

Jellyfish (Packet-level)Jellyfish (CPLEX) (optimal)

86-90% of optimal

We are happy to stand on the shoulders of giants.

Perhaps not literally giants, but Mark Handley is pretty tall...

Page 40: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Cabling

Page 41: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Cabling

[Photo: Javier Lastras / Wikimedia]

You'll note that Jellyfish bears more than a passing resemblance to a bowl of spaghetti.

Page 42: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Cluster of switchesRack of serversAggregate cable

new rack X cluster A

cluster B

Aggregatebundles

Cabling solutions

Fewer cables

for same #servers asfat tree

Avoid longcables

< 5% loss of throughput

It might seem that randomness means there’s no way to organize cables. But we note that (1) Jellyfish has about 20% fewer switches and cables than an equivalent fat tree with the same number of servers, (2) It is possible to cluster servers in a ‘pod’ or perhaps a container, and run bundles of cables between the pods, (3) cable length is also an issue since long cables can be significantly more costly; but we can restrict the number of short vs. long cables to match the fat tree with less than 5% throughput loss (details omitted).

Page 43: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Conclusion

High throughput Expandability

Sometimes in systems design you have to carefully navigate a tradeoff space. But here it seems that we can get the best of both worlds.

Page 44: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Backup

Page 45: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Cabling geometry

Long optical cables: cost += ~$200

Idea: random with constraint on # of long cables

0

0.2

0.4

0.6

0.8

1

1 2 3 4 5 6 7

Thro

ughp

ut N

orm

aliz

ed to

Unr

estri

cted

RR

G

#Local (in-pod) Connections

240 Servers500 Servers900 Servers

< 5% throughput losswith same equipmentand cable lengths asfat tree

Page 46: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Robustness

0.6

0.65

0.7

0.75

0.8

0.85

0.9

0.95

1

0 0.05 0.1 0.15 0.2 0.25

Nor

mal

ized

Thr

ough

put

Fraction of Links Failed Randomly

Jellyfish (544 Servers)Fat-tree (432 Servers)

Page 47: Jellyfish: Networking Data Centers RandomlyJellyfish: Networking Data Centers Randomly Ankit Singla Chi-Yao Hong Lucian Popa Brighten Godfrey DIMACS Workshop on Systems and Networking

Fairness

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300

Flow

Thr

ough

put

Rank of Flow

JellyfishFat-tree