ankit singla, chi-yao hong, lucian popa, brighten godfreyistoica/classes/cs294/... ·...

30
Jellyfish: Networking Data Centers Randomly Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey Presented by Rashmi K. Vinayak 11/16/2015 (Many of the slides sourced from authors’ presentaCons at NSDI ’12 & DIMACS workshop ‘11)

Upload: others

Post on 11-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Jellyfish:  Networking  Data  Centers  Randomly  

Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey!

Presented  by  Rashmi  K.  Vinayak  11/16/2015  

(Many  of  the  slides  sourced  from  authors’  presentaCons  at  NSDI  ’12  &  DIMACS  workshop  ‘11)  

Page 2: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

How  cool!  

Page 3: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Two goals

High throughput

Eliminate bottlenecksAgile placement of VMs

Incremental expandability

Easily add/replaceservers & switches

Page 4: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

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 5: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 6: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

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 7: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Our Solution

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

Page 8: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Jellyfish: The Topology

!"#$%&'

!()*()'+,)$-'

!()*()''

!()*()'

./01,2'''.(345/)'''6)/+&'

!"#$%&(-'/)('0,1(-'7/%&'0,1('&/-''$&('-/2('1(3)(('

80#9,)2')/01,25:'-(5(%$(1'9),2'/55')(345/)'3)/+&-'

!"#$%&'

!"#$%&'

Page 9: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 10: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Building Jellyfish

Page 11: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Building Jellyfish

X

Page 12: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Building Jellyfish

X

X

Same procedure for initial constructionand incremental expansion

Page 13: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Highly  flexible  

–  few  random  swaps  to  incorporate  addiConal  components  (both  server  racks  and  switches)  

– supports  heterogeneity  naturally  •  newer  network  elements  can  have  higher  port  counts  

– allows  construcCon  of  arbitrary  sized  networks  •  almost  conCnuous  design  space  •  can  add  one  rack  or  a  switch  at  a  Cme       Great  for  incremental  expansion  

Page 14: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

 •  IniCal  2  stages  adds  both  servers  and  switches  

•  Then  on  only  switches  added  

•  LEGUP  leaves  some  ports  free  for  incremental  expansion  

 

Page 15: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Cost  of  building  full  bisecCon  BW  network  

Page 16: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 17: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

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 18: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Example

Fat tree16 servers, 20 switches, degree 4

Jellyfish random graph16 servers, 20 switches, degree 4

A more manageable example, actually...

Page 19: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 20: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 21: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

•  Edges  not  helping  in  reducing  path  lengths  

Page 22: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 23: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 24: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

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 25: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Fat-­‐tree  Throughput  Comparison  

•  Based  on  packet  level  simulaCons,  including  rou7ng  overheads  •  Same  hardware;  more  number  of  servers  in  Jellyfish  than  Fat-­‐tree    •  Similar  stability    

Page 26: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 27: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015
Page 28: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

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 29: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Cabling  Jellyfish  in  Massive  Scale  DC  

•  <6%  loss  in  throughput  when  60%  of  the  network  connecCons  per  switch  are  localized  

Page 30: Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfreyistoica/classes/cs294/... · 2015-11-17 · Ankit Singla, Chi-Yao Hong, Lucian Popa, Brighten Godfrey! Presented(by(Rashmi(K.(Vinayak(11/16/2015

Discussion  Points  •  Real  world  impact  -­‐  what  is  the  industry’s  take  on  this?  

•  Is  the  cabling  issue  for  Jellyfish  really  resolved  from  the  soluCons  offered?  

– Patch  panels?  –  Is  debugging  a  network  of  concern?  

•  Are  the  rouCng  issues  resolved?  – k-­‐shortest  path  rouCng?