1 / 44

Jellyfish: Networking Data Centers Randomly

Jellyfish: Networking Data Centers Randomly. Speaker : Ye Yu. These slides are based on the paper by Ankit Singla , et.al . NDSI 2012 Figures are from slides presented by  Chi-Yao Hong, UIUC. Facebook ‘Add capacity On a DAILY BASIS’ Amazon.

selena
Download Presentation

Jellyfish: Networking Data Centers Randomly

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jellyfish:Networking Data Centers Randomly Speaker : Ye Yu These slides are based on the paper by AnkitSingla, et.al . NDSI 2012 Figures are from slides presented by  Chi-Yao Hong, UIUC.

  2. Facebook • ‘Add capacity • On a DAILY BASIS’ • Amazon http://news.netcraft.com/archives/2013/05/20/amazon-web-services-growth-unrelenting.html

  3. Core • Broader • Sever Incremental growth??

  4. Structured networks

  5. Hypercube • Switch coordinates • K – Dimensions • Coordinate range{0,0…}~{0,0,…1} • Directly connect to neighbor.

  6. Fat tree: Structure VS Limit • N_switches: • Hypercube, 2k3-level Fat tree : 5k2/4 • for fat tree usingk-port switches • 24-port  3456 hosts • 32-port  8192 hosts • 48-port  27648 hosts • What for 10000 hosts? • Over utilize? Leave unused ports?

  7. Goals • Bandwidth & Capacity • Better VM Placement  Reduce Traffic • Better Topology  Avoid Bottleneck • Robustness Failure resistance • Flexbility: Incremental Expansion • Easy to add VM • Easy to remove VM No structure = no restriction

  8. Jellyfish : no structure

  9. Topology of jellyfish networks for • 432severs, 180switches, degree = 12

  10. Random graph • Regular Graph • RG(n,r) • Each vertex has the same degree r • Random Regular Graph • Random sampled from all RG(n,r) • Hard to generate

  11. Not-so-uniformRandom-RG(n,r) :: RRG(n,r) • Procedure to modify RRG(n-1,r) to RRG(n,r) • r=3 • RRG(4,3) • RRG(5,3)

  12. Goals • Bandwidth & Capacity • Better VM Placement  Reduce Traffic • Better Topology  Avoid Bottleneck • Incremental Expansion • Easy to add VM • Easy to remove VM

  13. About the Evaluation • bisection bandwidth: Theoretical calculation for RRG, • Bollobas’ theoretical lower bounds • Throughput: random permutation traffic • Each host choose one to send (at full speed)

  14. Jellyfish VS LEGUP

  15. Vs. FatTreeBisection bandwidth Jellyfish: larger B-bandwidth using same # switches & servers Jellyfish: more servers under the same B-bandwidth and # switches

  16. Lower cost

  17. Better failure resilience

  18. Larger Throughput

  19. Jellyfish vs. Small World • Smallworld: grid + random Small World 2D Torus (4 reg + 2 rand) Small World 3D Hexagon Torus (5 reg + 1 rand) Small World Ring (2 reg + 4 rand)

  20. Reason of better performance • If all available capacity is fully utilized, every link shares the same bandwidth • Average Used capacity = • single link capacity * path length • minimize average path length

  21. Better than jellyfish ??? • More hosts using same # of switches? • Connecting more switches , each of which has same # ports, (limit the diameter) • How many switches can be connected , with 3 switch-to-switch ports , and switch-to-switch path length <= 2? • Petersen Graph

  22. Degree-diameter-graph

  23. Degree-Diameter Graph have (nearly) highest throughput • Jellyfish is only little bit worse.

  24. But… • Practical constraint: • Routing / Congestion Control • Cable

  25. Routing & Congestion Control • Utilize capacity without structure • no layers! • Routing : • ECMP: fail to provide large path diversity • K shortest path: • Congestion Control • TCP/ multipath TCP If all available capacity is fully utilized,

  26. K-shortest path • Different Path • S-e1-e2-e3-…ex...-en-T • S-e1-e2-e3-…ey…-em-T • Algorithm to find 2nd-shortest path: • Find a shortest path P from S to T in G • For each e in P • …Remove e from G • …Calculate shortest path on G , namely SP(e) • …add e back to Graph • Return min(SP(e)) O(k2N*ShortestPath(N))

  27. K-shortest path forwarding • Shortest Paths (S,T):SAB1C1DT,SAB2C2DT,SAB3C2DT, (B1,T) C1 A A B C D S T A (S,T) A A A (B4,T) C2 A A (A,T) B1 B2 B3

  28. Inter-switch link’s path count in ECMP and k-shortestpath routing for random permutation traffic at the server-level on a typical Jellyfish of 686 servers. For each link, we count the number of distinct paths it is on.

  29. Multi Path TCP (MPTCP) http://blogs.citrix.com/2013/08/23/networking-beyond-tcp-the-mptcp-way/

  30. Packet simulation results for different routing and congestion control protocols

  31. cabling • Jellyfish uses 20% less # cables ,

  32. Cabling in large data centers • Topology generated automatically, • Cables connected manually..( 10% of cost) • Errordetect : link-layer discovery protocol.

  33. Jellyfish of Jellyfish • Restrict some connections in pod • Result: 2-layered random Graph

  34. Jellyfish of Jellyfish • Restrict some connections in pod • Result: 2-layered random Graph

  35. Cables between pods can be aggregated

  36. Conclusion • Bandwidth & Capacity • Incremental Expansion • Lower Cost

  37. Thank you Q & A

More Related