480 likes | 893 Views
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.
E N D
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.
Facebook • ‘Add capacity • On a DAILY BASIS’ • Amazon http://news.netcraft.com/archives/2013/05/20/amazon-web-services-growth-unrelenting.html
Core • Broader • Sever Incremental growth??
Hypercube • Switch coordinates • K – Dimensions • Coordinate range{0,0…}~{0,0,…1} • Directly connect to neighbor.
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?
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
Topology of jellyfish networks for • 432severs, 180switches, degree = 12
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
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)
Goals • Bandwidth & Capacity • Better VM Placement Reduce Traffic • Better Topology Avoid Bottleneck • Incremental Expansion • Easy to add VM • Easy to remove VM
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)
Vs. FatTreeBisection bandwidth Jellyfish: larger B-bandwidth using same # switches & servers Jellyfish: more servers under the same B-bandwidth and # switches
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)
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
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
Degree-Diameter Graph have (nearly) highest throughput • Jellyfish is only little bit worse.
But… • Practical constraint: • Routing / Congestion Control • Cable
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,
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))
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
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.
Multi Path TCP (MPTCP) http://blogs.citrix.com/2013/08/23/networking-beyond-tcp-the-mptcp-way/
Packet simulation results for different routing and congestion control protocols
cabling • Jellyfish uses 20% less # cables ,
Cabling in large data centers • Topology generated automatically, • Cables connected manually..( 10% of cost) • Errordetect : link-layer discovery protocol.
Jellyfish of Jellyfish • Restrict some connections in pod • Result: 2-layered random Graph
Jellyfish of Jellyfish • Restrict some connections in pod • Result: 2-layered random Graph
Conclusion • Bandwidth & Capacity • Incremental Expansion • Lower Cost
Thank you Q & A