Openflow-based Server Load Balancing Gone WILD Richard Wang, Dana Butnariu, Jennifer Rexford
Openflow-based ServerLoad Balancing
Gone WILD
Richard Wang, Dana Butnariu, Jennifer Rexford
Internet
ServerReplica 2
Load Balancing
C1C
C3
PopularService
C2
Replica 1
Replica 3
Data Center
1. Fast Enough2. Scalable3. Programmability4. Cost
Key Tradeoffs
Replica 2
Internet
Software LB
C1C
C3
C2
Replica 1
Replica 3
Data Center
Key Tradeoffs1. Fast Enough2. Scalable3. Programmability4. Cost
Replica 2
Internet
Dedicated HW
C1C
C3
C2
Replica 1
Replica 3
Data Center
$$
Key Tradeoffs1. Fast Enough2. Scalable3. Programmability4. Cost
Replica 1
Openflow Load Balancing
Internet
Replica 2
Replica 3
Data Center
S1
S2
S3
S4
NOXController
37.5%
50%
12.5%
Replica 1
Replica 2
Replica 3
S1 S3
S2 S4
NOXController
Internet
Naiive Solution
Data Center
C1
C2
Challenges1. # Microflow Rules
2. Controller Load
37.5%
50%
12.5%
Replica 1
Replica 2
Replica 3
Proactively Install Rules
Internet
Data Center
S1
S2
S3
S4
NOXController
C1
C2
Issues1. Wildcards Rules2. Connection Affinity
37.5%
50%
12.5%
000* R100* R1
Wildcard Rules on Client IPs
R1R1
0 1
R1
0 1
R2R2
0 1
R2
0 1
0 1 0 1
0 1
000*
001*
010*
100*
101*
110*
Replica 1 Replica 2 Replica 337.5% 50% 12.5%
38
48
18
R3R2
011*
111*
Switch
001* R1010* R1011* R2100* R2101* R2110* R2111* R3
Minimizing Wildcard Rules
R1
R1
0 1
R20 1
0 1
010*
R3
011*
1*
00*
Replica 1 Replica 2 Replica 337.5% 50% 12.5%
38
48
18
Switch
010* R1011* R2100* R2101* R2110* R2111* R3
00* R1
011* R31* R2
Connection Affinity
0* Replica 1 0* Replica 20* Controller
Transition RuleOld Rule New Rule
Time
C1 Replica 1
C2 Replica 2
C1
C2
C3
Switch
00* Replica 100* Controller00* Replica 2
C1 Replica 1
C2 Replica 2
Evaluation
Replica 1
Replica 2
38
18
4
8
Before
36 Clients, 16 MB File, WGET every 10 s
0
Replica 3
After Old Rule
Transition
New Rule
C2
C1
Replica 1
Replica 2
Replica 3
Multiple Switches
Internet
S1
S2
S3
S4
NOXController
37.5%
50%
12.5%
Minimize Number of RulesOpportunistically Combine Wildcard Rules
Conclusion
• Proactively Installing Rules in Openflow
1. Connection Affinity2. Effective Distribution3. Fast Enough4. Scalable5. Programmability6. Cost
WildcardsRules
Transition Rules
MultipleSwitch
Non-Uniformity
Controllers
Questions?