EdgeBalance: Model-Based Load Balancing for Network Edge Data Planes - - PowerPoint PPT Presentation

edgebalance model based load balancing for network edge
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

EdgeBalance: Model-Based Load Balancing for Network Edge Data Planes

Wei Zhang†, Abhigyan Sharma*, Timothy Wood†

†George Washington University *AT&T Labs Research

1

slide-2
SLIDE 2

Wei Zhang

Outline

  • Background and Motivation
  • EdgeBalance Design
  • Environment Setup and Evaluation
  • Conclusion
  • 2
slide-3
SLIDE 3

Wei Zhang

Network Edge Computing

3

User Plane

  • Current

Control Plane

slide-4
SLIDE 4

Wei Zhang

Network Edge Computing

4

User Plane Control Plane User Plane User Plane User Plane User Plane

  • Current
  • 5G Edge

Control Plane

slide-5
SLIDE 5

Wei Zhang

Network Edge Computing

5

User Plane Control Plane User Plane User Plane User Plane User Plane

  • Current
  • 5G Edge

User plane more distributed More network services can be pushed into edge

Control Plane

slide-6
SLIDE 6

Wei Zhang

Edge Computing runs NFs

  • Network services comprise of chains

6

slide-7
SLIDE 7

Wei Zhang

Edge Computing runs NFs

  • Replicated NF chains require a load balancer

7

slide-8
SLIDE 8

Wei Zhang

Cloud Load Balancer

  • Homogeneous services, static policies
  • Google Maglev
  • Microsoft Ananta
  • Facebook Mcrouter
  • Twitter TwemProxy
  • ……

8

Web Web Web Memcached Memcached Memcached Memcached

slide-9
SLIDE 9

Wei Zhang

Cloud Load Balancer

  • Homogeneous services, static policies
  • Google Maglev
  • Microsoft Ananta
  • Facebook Mcrouter
  • Twitter TwemProxy
  • ……

9

Web Web Web Memcached Memcached VPN Snort FW VPN Snort FW VPN Snort FW

LB for NF Chains

Memcached Memcached

slide-10
SLIDE 10

Wei Zhang

Bidirectional Affinity

  • Forward and reverse flows are required to pass through the same set of

network functions

10

Update header

Client Server Load Balancer NF NF NF NF Client Server

slide-11
SLIDE 11

Wei Zhang

Static LB is not enough

  • Dynamic server resources
  • Dynamic service chains
  • Dynamic workloads

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

slide-12
SLIDE 12

Wei Zhang

Challenges for Dynamic LB

12

  • Fine-grained metrics are required for dynamic load balancing
  • Real time CPU monitoring is
  • Impossible for poll mode NFs
  • May have stale data
  • Increases system overhead

CPU Usage 25 50 75 100 20 40 60 80 100 120

slide-13
SLIDE 13

Wei Zhang

Outline

  • Background and Motivation
  • EdgeBalance Design
  • Environment Setup and Evaluation
  • Conclusion
  • 13
slide-14
SLIDE 14

Wei Zhang

EdgeBalance

  • 1. Bidirectional affinity
  • 2. Accurate CPU prediction

14

  • 3. Dynamic load balancing
  • 4. High performance

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

slide-15
SLIDE 15

Wei Zhang

Bidirectional Affinity

15

  • Add forward flow and reverse flow into forward table and reverse table

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

slide-16
SLIDE 16

Wei Zhang

Bidirectional Affinity

16

  • Remove forward flow and reverse flow from forward table and reverse

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

slide-17
SLIDE 17

Wei Zhang

Accurate CPU Prediction

17

  • Model to predict CPU usage
  • Chain processing cost
  • The number of flows
  • Flow rate

NF1 NF2 NF3

Core

NF4 NF5 NF6 NF7 NF8 NF9

slide-18
SLIDE 18

Wei Zhang

Accurate CPU Prediction

18

  • Model to predict CPU usage
  • Chain processing cost
  • The number of flows
  • Flow rate

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

slide-19
SLIDE 19

Wei Zhang

Dynamic Load Balancing

19

  • Balance the load across the hosts and cores
  • PID controller for LB weight setting
  • Seeks to equalize load on hosts and cores
  • Uses local information for feedback

Host1 C1 CM

Weight?

Hostk C1 CN

Controller Target system: Evenly CPU usage

Average_PCPU Diff_PCPU_i Weight_i Disturbance PCPU_i

slide-20
SLIDE 20

Wei Zhang

High Performance

20

  • DPDK high network IO
  • Multi-threads
  • RSS dispatch flows to cores
  • Lockless flow table
  • Per-core flow table
  • Cleanup on the same thread

Kernel Space User Space

Core1 Core1

NIC RSS

Flow Table Flow Table

slide-21
SLIDE 21

Wei Zhang

Outline

  • Background and Motivation
  • EdgeBalance Design
  • Environment Setup and Evaluation
  • Conclusion
  • 21
slide-22
SLIDE 22

Wei Zhang

Experiment Setup

22

  • Cloudlab c220g5 specs
  • DPDK 18.02
  • Ubuntu 14.04
  • Packet generator
  • Pktgen-DPDK
  • Cisco Trex
  • Bess runs NFs

EdgeBalance Pktgen-DPDK Cisco-Trex Bess NF1 NF2 NF3 Bess NF1 NF2 NF3

slide-23
SLIDE 23

Wei Zhang

Evaluation: Prediction Accuracy

23

  • Accuracy of model-based CPU use prediction

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

slide-24
SLIDE 24

Wei Zhang

Evaluation: Outperform

24

  • A workload with a mix of elephant and mice flows
  • EdgeBalance outperforms static and monitor-based LBs

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

slide-25
SLIDE 25

Wei Zhang

Conclusions

  • EdgeBalance aims to balance the load for network service chains at edge
  • Network edge has unique challenges

➡Limited resources ➡Heterogeniety ➡Affinity due to stateful network functions

  • Bidirectional flow affinity

➡ Forward flow and reverse flow go through the same set of NFs

  • Dynamic load balance

➡Accurately predict CPU load ➡Dynamically adjust allocation weight with PID controller to balance CPU load across hosts wei.zhang.gb@gmail.com

25