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
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
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
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
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
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
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
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
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
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
Dealing with Asymmetry Handling asymmetry needs non-local knowledge 11
Dealing with Asymmetry Handling asymmetry needs non-local knowledge 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 12
Dealing with Asymmetry Handling asymmetry needs non-local knowledge 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 13
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
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
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
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
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
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
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
Global Congestion-Awareness (in Datacenters) Datacenter Latency microseconds Opportunity Topology simple, regular Traffic volatile, bursty Challenge 21
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
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
CONGA’S DESIGN 24
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
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
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
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
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
Why is this Stable? Stability u sually requires a sophisticated control law (e.g., TeXCP, MPTCP, etc) Dest ¡Leaf ¡ Source ¡Leaf ¡ 30
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
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
Recommend
More recommend