EdgeBalance: Model-Based Load Balancing for Network Edge Data Planes
Wei Zhang†, Abhigyan Sharma*, Timothy Wood†
†George Washington University *AT&T Labs Research
1
EdgeBalance: Model-Based Load Balancing for Network Edge Data Planes - - PowerPoint PPT Presentation
EdgeBalance: Model-Based Load Balancing for Network Edge Data Planes Wei Zhang , Abhigyan Sharma * , Timothy Wood George Washington University * AT&T Labs Research 1 Outline Background and Motivation EdgeBalance Design
Wei Zhang†, Abhigyan Sharma*, Timothy Wood†
†George Washington University *AT&T Labs Research
1
Wei Zhang
Wei Zhang
3
User Plane
Control Plane
Wei Zhang
4
User Plane Control Plane User Plane User Plane User Plane User Plane
Control Plane
Wei Zhang
5
User Plane Control Plane User Plane User Plane User Plane User Plane
User plane more distributed More network services can be pushed into edge
Control Plane
Wei Zhang
6
Wei Zhang
7
Wei Zhang
8
Web Web Web Memcached Memcached Memcached Memcached
Wei Zhang
9
Web Web Web Memcached Memcached VPN Snort FW VPN Snort FW VPN Snort FW
LB for NF Chains
Memcached Memcached
Wei Zhang
network functions
10
Update header
Client Server Load Balancer NF NF NF NF Client Server
Wei Zhang
11
NF1 NF2 NF3 NF4 NF5 NF1 NF6 NF6
Different Length of NF Chains
Processing Cost 25 50 75 100 NF1 NF2 NF3 NF4 NF5 NF6
Different Processing Cost of NFs
Wei Zhang
12
CPU Usage 25 50 75 100 20 40 60 80 100 120
Wei Zhang
Wei Zhang
14
Client Server Load Balancer NF NF Client Server
Flow 1 (purple) Host 1, Core 2, Chain2 Flow 2 (yellow) Host 2, Core 2, Chain2
Chain 2
Host 1, Core 2 Host 2, Core 2
Host1 C1 C2 NF NF
Chain1 Chain2
NF NF Host2 C1 C2 NF NF
Chain1 Chain2
Rule Flow Table
Wei Zhang
15
5 Tuple NF Chains <srcIP1, dstIP1, udp, srcPort1, dstPort1> NF11->NF21->NF31 <srcIP2, dstIP2, tcp, srcPort2, dstPort2> NF12->NF22->NF32 Forward Table Reverse Table
NF11
5 Tuple NF Chains <dstIP1, srcIP1, udp, dstPort11, srcPort1> NF11->NF21->NF31 <dstIP2, srcIP2, tcp, dstPort2, srcPort2> NF12->NF22->NF32
NF21 NF31 NF12 NF22 NF32
Flow2 Flow1 Update dst port
Wei Zhang
16
table
5 Tuple NF Chains <srcIP1, dstIP1, udp, srcPort1, dstPort1> NF11->NF21->NF31 Forward Table Reverse Table
NF11
5 Tuple NF Chains <dstIP1, srcIP1, udp, dstPort11, srcPort1> NF11->NF21->NF31
NF21 NF31 NF12 NF22 NF32
Flow1
Wei Zhang
17
NF1 NF2 NF3
Core
NF4 NF5 NF6 NF7 NF8 NF9
Wei Zhang
18
NF1 NF2 NF3
Core
NF4 NF5 NF6 NF7 NF8 NF9
<hostID, coreID, chainID> Stats (bits, packets) <host1, core1, chain1> xx, yy
Predict _CPUijk = Costijk
k=1 n
* Rateijk
i: host I j: core j k: number of chains
Wei Zhang
19
Host1 C1 CM
Weight?
…
Hostk C1 CN
…
Controller Target system: Evenly CPU usage
Average_PCPU Diff_PCPU_i Weight_i Disturbance PCPU_i
Wei Zhang
20
Kernel Space User Space
Core1 Core1
NIC RSS
Flow Table Flow Table
Wei Zhang
Wei Zhang
22
EdgeBalance Pktgen-DPDK Cisco-Trex Bess NF1 NF2 NF3 Bess NF1 NF2 NF3
Wei Zhang
23
10 20 30 40 50 60 70 80 90 100 180 300 700 1400 1850 CPU Usage (%) Processing cost of NF chain (ns)
Measured CPU Predicted CPU
Wei Zhang
24
200 400 600 800 1000 1200 1400 1600 5 10 15 20 25 30 35 40 45 50 Throughput (Mbps) Elephant traffc ratio (%)
Static WRR Monitor EdgeBalace
50 100 150 200 250 300 350 400 5 10 15 20 25 30 35 40 45 50 Latency (us) Elephant traffc ratio (%)
Static WRR Monitor EdgeBalace
Wei Zhang
➡Limited resources ➡Heterogeniety ➡Affinity due to stateful network functions
➡ Forward flow and reverse flow go through the same set of NFs
➡Accurately predict CPU load ➡Dynamically adjust allocation weight with PID controller to balance CPU load across hosts wei.zhang.gb@gmail.com
25