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

conga distributed congestion aware load balancing for
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

CONGA: Distributed Congestion-Aware Load Balancing for Datacenters

1

Mohammad Alizadeh

Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam★, Francis Matus, Rong Pan, Navindra Yadav, George Varghese§

★ §

slide-2
SLIDE 2

Access ¡

Single-rooted tree

Ø High oversubscription

1000s ¡of ¡server ¡ports ¡ Agg ¡ Core ¡

Motivation

2

DC networks need large bisection bandwidth for distributed apps (big data, HPC, web services, etc)

slide-3
SLIDE 3

Leaf ¡ 1000s ¡of ¡server ¡ports ¡

Multi-rooted tree [Fat-tree, Leaf-Spine, …]

Ø Full bisection bandwidth, achieved via multipathing

Spine ¡

Motivation

3

DC networks need large bisection bandwidth for distributed apps (big data, HPC, web services, etc)

slide-4
SLIDE 4

Leaf ¡ 1000s ¡of ¡server ¡ports ¡

Multi-rooted tree [Fat-tree, Leaf-Spine, …]

Ø Full bisection bandwidth, achieved via multipathing

Spine ¡

Motivation

4

DC networks need large bisection bandwidth for distributed apps (big data, HPC, web services, etc)

slide-5
SLIDE 5

Multi-rooted != Ideal DC Network

5

1000s ¡of ¡server ¡ports ¡ Ideal DC network: Big output-queued switch

Ø No internal bottlenecks è predictable Ø Simplifies BW management

[EyeQ, FairCloud, pFabric, Varys, …]

slide-6
SLIDE 6

Multi-rooted != Ideal DC Network

6

1000s ¡of ¡server ¡ports ¡ Ideal DC network: Big output-queued switch

Ø No internal bottlenecks è predictable Ø Simplifies BW management

[EyeQ, FairCloud, pFabric, Varys, …]

Multi-rooted tree 1000s ¡of ¡server ¡ports ¡

Can’t build it L ≈ ¡

Possible bottlenecks

slide-7
SLIDE 7

Multi-rooted != Ideal DC Network

7

1000s ¡of ¡server ¡ports ¡ Ideal DC network: Big output-queued switch

Ø No internal bottlenecks è predictable Ø Simplifies BW management

[EyeQ, FairCloud, pFabric, Varys, …]

Multi-rooted tree 1000s ¡of ¡server ¡ports ¡

Can’t build it L ≈ ¡ Need precise load balancing

slide-8
SLIDE 8

Today: ECMP Load Balancing

Pick among equal-cost paths by a hash of 5-tuple

Ø Approximates Valiant load balancing Ø Preserves packet order

8

H(f) ¡% ¡3 ¡= ¡0 ¡

slide-9
SLIDE 9

Today: ECMP Load Balancing

Pick among equal-cost paths by a hash of 5-tuple

Ø Approximates Valiant load balancing Ø Preserves packet order

9

Problems:

  • Hash collisions

(coarse granularity)

H(f) ¡% ¡3 ¡= ¡0 ¡

slide-10
SLIDE 10

Today: ECMP Load Balancing

Pick among equal-cost paths by a hash of 5-tuple

Ø Approximates Valiant load balancing Ø Preserves packet order

10

Problems:

  • Hash collisions

(coarse granularity)

  • Local & stateless

(v. bad with asymmetry due to link failures)

slide-11
SLIDE 11

Dealing with Asymmetry

11

Handling asymmetry needs non-local knowledge

slide-12
SLIDE 12

Dealing with Asymmetry

12

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

Handling asymmetry needs non-local knowledge

slide-13
SLIDE 13

Dealing with Asymmetry

13

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

Handling asymmetry needs non-local knowledge

slide-14
SLIDE 14

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

14

30G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡

Scheme ¡ Thrput ¡

ECMP ¡ ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

Dealing with Asymmetry

slide-15
SLIDE 15

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

15

30G ¡ 20G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡

Scheme ¡ Thrput ¡

ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

60G ¡

Dealing with Asymmetry:

ECMP

10G ¡

slide-16
SLIDE 16

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

16

30G ¡ 20G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡

Scheme ¡ Thrput ¡

ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

10G ¡

60G ¡

Dealing with Asymmetry:

Local Congestion-Aware

Interacts ¡poorly ¡with ¡ TCP’s ¡control ¡loop ¡

slide-17
SLIDE 17

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

17

30G ¡ 10G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡

Scheme ¡ Thrput ¡

ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

10G ¡

60G ¡ 50G ¡

Dealing with Asymmetry:

Local Congestion-Aware

Interacts ¡poorly ¡with ¡ TCP’s ¡control ¡loop ¡

slide-18
SLIDE 18

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

18

30G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡ 10G ¡ 10G ¡

Dealing with Asymmetry:

Global Congestion-Aware

Scheme ¡ Thrput ¡

ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

60G ¡ 50G ¡

slide-19
SLIDE 19

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

19

30G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡ 5G ¡ 35G ¡

Dealing with Asymmetry:

Global Congestion-Aware

Scheme ¡ Thrput ¡

ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

60G ¡ 50G ¡ 70G ¡

slide-20
SLIDE 20

40G ¡ 40G ¡ 40G ¡ 40G ¡ 40G ¡

20

30G ¡ 30G ¡ (UDP) ¡ 40G ¡ (TCP) ¡ 5G ¡

Dealing with Asymmetry:

Global Congestion-Aware

35G ¡

Global CA > ECMP > Local CA

Scheme ¡ Thrput ¡

ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-­‑Aware ¡ Global ¡Cong-­‑Aware ¡

60G ¡ 50G ¡ 70G ¡

Local congestion-awareness can be worse than ECMP

slide-21
SLIDE 21

21

Datacenter Latency

microseconds

Topology

simple, regular

Traffic

volatile, bursty

Global Congestion-Awareness (in Datacenters)

Challenge Opportunity

slide-22
SLIDE 22

22

Datacenter Latency

microseconds

Topology

simple, regular

Traffic

volatile, bursty

Global Congestion-Awareness (in Datacenters)

Challenge Opportunity

Key Insight: Use extremely fast, low latency distributed control

Responsive Simple & Stable

slide-23
SLIDE 23

CONGA in 1 Slide

23

L0 ¡ L1 ¡ L2 ¡

  • 1. Leaf switches (top-of-rack) track congestion to
  • ther 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

slide-24
SLIDE 24

CONGA’S DESIGN

24

slide-25
SLIDE 25

Design

CONGA operates over a standard DC overlay (VXLAN) Ø Already deployed to virtualize the physical network

25 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L0 ¡ L1 ¡ L2 ¡

H9 ¡ H8 ¡

H1èH9 ¡ L0èL2 ¡ H1èH9 ¡ L0èL2 ¡

VXLAN encap.

slide-26
SLIDE 26

H9 ¡

Design: Leaf-to-Leaf Feedback

26 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L1 ¡

H8 ¡

1 ¡2 ¡3 ¡ 0 ¡

Track path-wise congestion metrics (3 bits) between each pair of leaf switches

CongesPon-­‑To-­‑Leaf ¡

Table ¡@L0 ¡

Dest ¡Leaf ¡ Path ¡

0 ¡ 1 ¡ 2 ¡ L1 ¡ L2 ¡ 3 ¡

L0 ¡ L2 ¡

Rate Measurement Module measures link utilization

slide-27
SLIDE 27

H9 ¡

Design: Leaf-to-Leaf Feedback

27 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L1 ¡

H8 ¡

1 ¡2 ¡3 ¡ 0 ¡

Track path-wise congestion metrics (3 bits) between each pair of leaf switches

CongesPon-­‑To-­‑Leaf ¡

Table ¡@L0 ¡

Dest ¡Leaf ¡ Path ¡

0 ¡ 1 ¡ 2 ¡ L1 ¡ L2 ¡ 3 ¡ CongesPon-­‑From-­‑Leaf ¡

Table ¡@L2 ¡

Src ¡Leaf ¡ Path ¡

0 ¡ 1 ¡ 2 ¡ L0 ¡ L1 ¡ 3 ¡

L0èL2 ¡ Path=2 ¡ CE=5 ¡

5

L0 ¡ L2 ¡

L0èL2 ¡ Path=2 ¡ CE=0 ¡ L0èL2 ¡ Path=2 ¡ CE=5 ¡ L0èL2 ¡ Path=2 ¡ CE=0 ¡

pkt.CE ç max(pkt.CE, link.util)

slide-28
SLIDE 28

H9 ¡

Design: Leaf-to-Leaf Feedback

28 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L1 ¡

H8 ¡

1 ¡2 ¡3 ¡ 0 ¡

Track path-wise congestion metrics (3 bits) between each pair of leaf switches

CongesPon-­‑To-­‑Leaf ¡

Table ¡@L0 ¡

Dest ¡Leaf ¡ Path ¡

0 ¡ 1 ¡ 2 ¡ L1 ¡ L2 ¡ 3 ¡ CongesPon-­‑From-­‑Leaf ¡

Table ¡@L2 ¡

Src ¡Leaf ¡ Path ¡

0 ¡ 1 ¡ 2 ¡ L0 ¡ L1 ¡ 3 ¡

5 5

L0 ¡ L2 ¡

L0èL2 ¡ Path=2 ¡ CE=0 ¡ L2èL0 ¡ FB-­‑Path=2 ¡ FB-­‑Metric=5 ¡

slide-29
SLIDE 29

Design: LB Decisions

Send each packet on least congested path

29 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L0 ¡ L1 ¡ L2 ¡

H9 ¡ H8 ¡

CongesPon-­‑To-­‑Leaf ¡

Table ¡@L0 ¡

Dest ¡Leaf ¡ Path ¡

0 ¡ 1 ¡ 2 ¡ L1 ¡ L2 ¡ 3 ¡

5 5 1 1 4 3 7 2

1 ¡2 ¡3 ¡ 0 ¡ L0 è L1: p* = 3 L0 è L2: p* = 0 or 1

flowlet [Kandula et al 2007]

slide-30
SLIDE 30

Why is this Stable?

30

Source ¡Leaf ¡ Dest ¡Leaf ¡

Stability usually requires a sophisticated control law

(e.g., TeXCP, MPTCP, etc)

slide-31
SLIDE 31

Why is this Stable?

31

Source ¡Leaf ¡ Dest ¡Leaf ¡

Stability usually requires a sophisticated control law

(e.g., TeXCP, MPTCP, etc) Feedback Latency Adjustment Speed (flowlet arrivals) (few microseconds)

Near-zero latency + flowlets è stable

slide-32
SLIDE 32

How Far is this from Optimal?

Price of Anarchy

32

H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L0 ¡ L1 ¡ L2 ¡

H9 ¡ H8 ¡

bottleneck routing game

(Banner & Orda, 2007)

Given traffic demands [λij]:

with CONGA

max

!∈!"#$% !!

min

!∈!"#$%&'" max !∈!"#$% !!

slide-33
SLIDE 33

How Far is this from Optimal?

Price of Anarchy

33

H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡

L0 ¡ L1 ¡ L2 ¡

H9 ¡ H8 ¡

bottleneck routing game

(Banner & Orda, 2007)

Given traffic demands [λij]:

with CONGA

max

!∈!"#$% !!

min

!∈!"#$%&'" max !∈!"#$% !!

Theorem: PoA of CONGA = 2

Worst-case

slide-34
SLIDE 34

Implementation

Implemented in silicon for Cisco’s new flagship ACI datacenter fabric

Ø Scales to over 25,000 non-blocking 10G ports (2-tier Leaf-Spine) Ø Die area: <2% of chip

slide-35
SLIDE 35

Evaluation

Testbed experiments

Ø 64 servers, 10/40G switches Ø Realistic traffic patterns (enterprise, data-mining) Ø HDFS benchmark

35

32x10G 32x10G 40G fabric links Link Failure 32x10G 32x10G

Large-scale simulations

Ø OMNET++, Linux 2.6.26 TCP Ø Varying fabric size, link speed, asymmetry Ø Up to 384-port fabric

slide-36
SLIDE 36

HDFS Benchmark

1TB Write Test, 40 runs

36

Cloudera hadoop-0.20.2-cdh3u5, 1 NameNode, 63 DataNodes

Link failure has almost no impact with CONGA no link failure ~2x better than ECMP

slide-37
SLIDE 37

H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H8 ¡ H9 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H8 ¡ H9 ¡

TX RX

37

Decouple DC LB & Transport

Big Switch Abstraction (provided by network) ingress & egress (managed by transport)

slide-38
SLIDE 38

Conclusion

CONGA: Globally congestion-aware LB for DC

… implemented in Cisco ACI datacenter fabric

Key takeaways

  • 1. In-network LB is right for DCs
  • 2. Low latency is your friend; makes feedback

control easy

38

slide-39
SLIDE 39

39

Thank You!