conga distributed congestion aware load balancing for
play

CONGA: Distributed Congestion-Aware Load Balancing for Datacenters - PowerPoint PPT Presentation

CONGA: Distributed Congestion-Aware Load Balancing for Datacenters Mohammad Alizadeh Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam , Francis Matus, Rong Pan, Navindra Yadav, George Varghese


  1. CONGA: Distributed Congestion-Aware Load Balancing for Datacenters Mohammad Alizadeh Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam ★ , Francis Matus, Rong Pan, Navindra Yadav, George Varghese § ★ § 1

  2. Motivation DC networks need large bisection bandwidth for distributed apps (big data, HPC, web services, etc) Single-rooted tree Core ¡ Ø High oversubscription Agg ¡ Access ¡ 1000s ¡of ¡server ¡ports ¡ 2

  3. Motivation DC networks need large bisection bandwidth for distributed apps (big data, HPC, web services, etc) Multi-rooted tree [Fat-tree, Leaf-Spine, …] Ø Full bisection bandwidth, achieved via multipathing Spine ¡ Leaf ¡ 1000s ¡of ¡server ¡ports ¡ 3

  4. Motivation DC networks need large bisection bandwidth for distributed apps (big data, HPC, web services, etc) Multi-rooted tree [Fat-tree, Leaf-Spine, …] Ø Full bisection bandwidth, achieved via multipathing Spine ¡ Leaf ¡ 1000s ¡of ¡server ¡ports ¡ 4

  5. Multi-rooted != Ideal DC Network Ideal DC network: Big output-queued switch 1000s ¡of ¡server ¡ports ¡ Ø No internal bottlenecks è predictable Ø Simplifies BW management [EyeQ, FairCloud, pFabric, Varys, …] 5

  6. Multi-rooted != Ideal DC Network Ideal DC network: Multi-rooted tree Big output-queued switch Can’t build it L ≈ ¡ 1000s ¡of ¡server ¡ports ¡ 1000s ¡of ¡server ¡ports ¡ Ø No internal bottlenecks è predictable Possible Ø Simplifies BW management bottlenecks [EyeQ, FairCloud, pFabric, Varys, …] 6

  7. Multi-rooted != Ideal DC Network Ideal DC network: Multi-rooted tree Big output-queued switch Can’t build it L ≈ ¡ 1000s ¡of ¡server ¡ports ¡ 1000s ¡of ¡server ¡ports ¡ Ø No internal bottlenecks è predictable Ø Simplifies BW management Need precise load balancing [EyeQ, FairCloud, pFabric, Varys, …] 7

  8. Today: ECMP Load Balancing Pick among equal-cost paths by a hash of 5-tuple Ø Approximates Valiant load balancing Ø Preserves packet order H( f ) ¡% ¡3 ¡= ¡0 ¡ 8

  9. Today: ECMP Load Balancing Pick among equal-cost paths by a hash of 5-tuple Ø Approximates Valiant load balancing Ø Preserves packet order Problems: - Hash collisions (coarse granularity) H( f ) ¡% ¡3 ¡= ¡0 ¡ 9

  10. Today: ECMP Load Balancing Pick among equal-cost paths by a hash of 5-tuple Ø Approximates Valiant load balancing Ø Preserves packet order Problems: - Hash collisions (coarse granularity) - Local & stateless (v. bad with asymmetry due to link failures) 10

  11. Dealing with Asymmetry Handling asymmetry needs non-local knowledge 11

  12. Dealing with Asymmetry Handling asymmetry needs non-local knowledge 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 12

  13. Dealing with Asymmetry Handling asymmetry needs non-local knowledge 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 13

  14. Dealing with Asymmetry Scheme ¡ Thrput ¡ ECMP ¡ ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ (TCP) ¡ 14

  15. Dealing with Asymmetry: ECMP Scheme ¡ Thrput ¡ ECMP ¡ 60G ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡ 40G ¡ 10G ¡ 40G ¡ 40G ¡ 20G ¡ 40G ¡ 40G ¡ (TCP) ¡ 15

  16. Dealing with Asymmetry: Local Congestion-Aware Scheme ¡ Thrput ¡ ECMP ¡ 60G ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡ 40G ¡ 10G ¡ 40G ¡ 40G ¡ Interacts ¡poorly ¡with ¡ 20G ¡ 40G ¡ TCP’s ¡control ¡loop ¡ 40G ¡ (TCP) ¡ 16

  17. Dealing with Asymmetry: Local Congestion-Aware Scheme ¡ Thrput ¡ ECMP ¡ 60G ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ 50G ¡ Global ¡Cong-­‑Aware ¡ 40G ¡ 10G ¡ 40G ¡ 40G ¡ Interacts ¡poorly ¡with ¡ 10G ¡ 40G ¡ TCP’s ¡control ¡loop ¡ 40G ¡ (TCP) ¡ 17

  18. Dealing with Asymmetry: Global Congestion-Aware Scheme ¡ Thrput ¡ ECMP ¡ 60G ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ 50G ¡ Global ¡Cong-­‑Aware ¡ 40G ¡ 10G ¡ 40G ¡ 40G ¡ 10G ¡ 40G ¡ 40G ¡ (TCP) ¡ 18

  19. Dealing with Asymmetry: Global Congestion-Aware Scheme ¡ Thrput ¡ ECMP ¡ 60G ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ 50G ¡ Global ¡Cong-­‑Aware ¡ 70G ¡ 40G ¡ 5G ¡ 40G ¡ 40G ¡ 35G ¡ 40G ¡ 40G ¡ (TCP) ¡ 19

  20. Dealing with Asymmetry: Global Congestion-Aware Scheme ¡ Thrput ¡ ECMP ¡ 60G ¡ 30G ¡ (Local ¡Stateless) ¡ 40G ¡ (UDP) ¡ 30G ¡ Local ¡Cong-­‑Aware ¡ 50G ¡ Global ¡Cong-­‑Aware ¡ 70G ¡ 40G ¡ 5G ¡ Global CA > ECMP > Local CA 40G ¡ 40G ¡ 35G ¡ 40G ¡ Local congestion-awareness 40G ¡ can be worse than ECMP (TCP) ¡ 20

  21. Global Congestion-Awareness (in Datacenters) Datacenter Latency microseconds Opportunity Topology simple, regular Traffic volatile, bursty Challenge 21

  22. Global Congestion-Awareness (in Datacenters) Datacenter Latency microseconds Simple & Opportunity Stable Topology simple, regular Traffic volatile, bursty Challenge Responsive Key Insight: Use extremely fast, low latency distributed control 22

  23. CONGA in 1 Slide 1. Leaf switches (top-of-rack) track congestion to other leaves on different paths in near real-time 2. Use greedy decisions to minimize bottleneck util Fast feedback loops between leaf switches, directly in dataplane L0 ¡ L1 ¡ L2 ¡ 23

  24. CONGA’S DESIGN 24

  25. Design CONGA operates over a standard DC overlay (VXLAN) Ø Already deployed to virtualize the physical network VXLAN encap. L0 è L2 ¡ H1 è H9 ¡ L0 è L2 ¡ H1 è H9 ¡ L0 ¡ L1 ¡ L2 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H9 ¡ H8 ¡ 25

  26. Design: Leaf-to-Leaf Feedback Track path-wise congestion metrics (3 bits) between each pair of leaf switches Rate Measurement Module measures link utilization Path ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ Dest ¡Leaf ¡ L1 ¡ L2 ¡ CongesPon-­‑To-­‑Leaf ¡ Table ¡@L0 ¡ 0 ¡ 1 ¡2 ¡3 ¡ L0 ¡ L1 ¡ L2 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H9 ¡ H8 ¡ 26

  27. Design: Leaf-to-Leaf Feedback Track path-wise congestion metrics (3 bits) between each pair of leaf switches L0 è L2 ¡ L0 è L2 ¡ pkt.CE ç max(pkt.CE, link.util) Path=2 ¡ Path=2 ¡ Path ¡ Path ¡ CE=0 ¡ CE=5 ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ Dest ¡Leaf ¡ Src ¡Leaf ¡ 5 L1 ¡ L0 ¡ L2 ¡ L1 ¡ CongesPon-­‑From-­‑Leaf ¡ CongesPon-­‑To-­‑Leaf ¡ Table ¡@L2 ¡ Table ¡@L0 ¡ L0 è L2 ¡ L0 è L2 ¡ 0 ¡ 1 ¡2 ¡3 ¡ Path=2 ¡ Path=2 ¡ CE=0 ¡ L0 ¡ L1 ¡ L2 ¡ CE=5 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H9 ¡ H8 ¡ 27

  28. Design: Leaf-to-Leaf Feedback Track path-wise congestion metrics (3 bits) between each pair of leaf switches Path ¡ Path ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ Dest ¡Leaf ¡ Src ¡Leaf ¡ 5 L1 ¡ L0 ¡ 5 L2 ¡ L1 ¡ CongesPon-­‑From-­‑Leaf ¡ CongesPon-­‑To-­‑Leaf ¡ Table ¡@L2 ¡ Table ¡@L0 ¡ L0 è L2 ¡ L2 è L0 ¡ 0 ¡ 1 ¡2 ¡3 ¡ FB-­‑Path=2 ¡ Path=2 ¡ FB-­‑Metric=5 ¡ CE=0 ¡ L0 ¡ L1 ¡ L2 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H9 ¡ H8 ¡ 28

  29. Design: LB Decisions Send each packet on least congested path flowlet [Kandula et al 2007] Path ¡ 0 ¡ 1 ¡ 2 ¡ 3 ¡ Dest ¡Leaf ¡ 5 3 7 2 L1 ¡ 1 1 4 5 L2 ¡ L0 è L1: p * = 3 CongesPon-­‑To-­‑Leaf ¡ L0 è L2: p * = 0 or 1 Table ¡@L0 ¡ 0 ¡ 1 ¡2 ¡3 ¡ L0 ¡ L1 ¡ L2 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H9 ¡ H8 ¡ 29

  30. Why is this Stable? Stability u sually requires a sophisticated control law (e.g., TeXCP, MPTCP, etc) Dest ¡Leaf ¡ Source ¡Leaf ¡ 30

  31. Why is this Stable? Stability u sually requires a sophisticated control law (e.g., TeXCP, MPTCP, etc) Dest ¡Leaf ¡ Source ¡Leaf ¡ (few microseconds) Feedback Latency Adjustment Speed (flowlet arrivals) Near-zero latency + flowlets è stable 31

  32. How Far is this from Optimal? bottleneck routing game Given traffic demands [ λ ij ]: (Banner & Orda, 2007) ! ∈ !"#$% ! ! max with CONGA ! ∈ !"#$% ! ! ! ∈ !"#$%&'" max min Price of Anarchy L0 ¡ L1 ¡ L2 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H9 ¡ H8 ¡ 32

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend