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§
★ §
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
Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam★, Francis Matus, Rong Pan, Navindra Yadav, George Varghese§
★ §
Ø High oversubscription
2
Ø Full bisection bandwidth, achieved via multipathing
3
Ø Full bisection bandwidth, achieved via multipathing
4
5
Ø No internal bottlenecks è predictable Ø Simplifies BW management
[EyeQ, FairCloud, pFabric, Varys, …]
6
Ø No internal bottlenecks è predictable Ø Simplifies BW management
[EyeQ, FairCloud, pFabric, Varys, …]
Possible bottlenecks
7
Ø No internal bottlenecks è predictable Ø Simplifies BW management
[EyeQ, FairCloud, pFabric, Varys, …]
8
9
(coarse granularity)
10
(coarse granularity)
(v. bad with asymmetry due to link failures)
11
12
13
14
Scheme ¡ Thrput ¡
ECMP ¡ ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
15
Scheme ¡ Thrput ¡
ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
60G ¡
16
Scheme ¡ Thrput ¡
ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
60G ¡
17
Scheme ¡ Thrput ¡
ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
60G ¡ 50G ¡
18
Scheme ¡ Thrput ¡
ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
60G ¡ 50G ¡
19
Scheme ¡ Thrput ¡
ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
60G ¡ 50G ¡ 70G ¡
20
Scheme ¡ Thrput ¡
ECMP ¡ (Local ¡Stateless) ¡ Local ¡Cong-‑Aware ¡ Global ¡Cong-‑Aware ¡
60G ¡ 50G ¡ 70G ¡
21
22
23
L0 ¡ L1 ¡ L2 ¡
24
25 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡
L0 ¡ L1 ¡ L2 ¡
H9 ¡ H8 ¡
H1èH9 ¡ L0èL2 ¡ H1èH9 ¡ L0èL2 ¡
VXLAN encap.
H9 ¡
26 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡
L1 ¡
H8 ¡
1 ¡2 ¡3 ¡ 0 ¡
CongesPon-‑To-‑Leaf ¡
Table ¡@L0 ¡
Dest ¡Leaf ¡ Path ¡
0 ¡ 1 ¡ 2 ¡ L1 ¡ L2 ¡ 3 ¡
L0 ¡ L2 ¡
Rate Measurement Module measures link utilization
H9 ¡
27 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡
L1 ¡
H8 ¡
1 ¡2 ¡3 ¡ 0 ¡
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 ¡
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)
H9 ¡
28 H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡
L1 ¡
H8 ¡
1 ¡2 ¡3 ¡ 0 ¡
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 ¡
L0èL2 ¡ Path=2 ¡ CE=0 ¡ L2èL0 ¡ FB-‑Path=2 ¡ FB-‑Metric=5 ¡
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 ¡
1 ¡2 ¡3 ¡ 0 ¡ L0 è L1: p* = 3 L0 è L2: p* = 0 or 1
30
Source ¡Leaf ¡ Dest ¡Leaf ¡
31
Source ¡Leaf ¡ Dest ¡Leaf ¡
32
H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡
L0 ¡ L1 ¡ L2 ¡
H9 ¡ H8 ¡
(Banner & Orda, 2007)
with CONGA
!∈!"#$% !!
!∈!"#$%&'" max !∈!"#$% !!
33
H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡
L0 ¡ L1 ¡ L2 ¡
H9 ¡ H8 ¡
(Banner & Orda, 2007)
with CONGA
!∈!"#$% !!
!∈!"#$%&'" max !∈!"#$% !!
Ø 64 servers, 10/40G switches Ø Realistic traffic patterns (enterprise, data-mining) Ø HDFS benchmark
35
32x10G 32x10G 40G fabric links Link Failure 32x10G 32x10G
Ø OMNET++, Linux 2.6.26 TCP Ø Varying fabric size, link speed, asymmetry Ø Up to 384-port fabric
36
Cloudera hadoop-0.20.2-cdh3u5, 1 NameNode, 63 DataNodes
H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H8 ¡ H9 ¡ H1 ¡ H2 ¡ H3 ¡ H4 ¡ H5 ¡ H6 ¡ H7 ¡ H8 ¡ H9 ¡
37
38
39