Top Banner
Stateless Datacenter Load Balancing with Beamer Vladimir Olteanu, Alexandru Agache, Andrei Voinescu, Costin Raiciu University Politehnica of Bucharest Thanks to
40

Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Jul 17, 2018

Download

Documents

nguyendang
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Stateless Datacenter Load Balancing with Beamer

Vladimir Olteanu, Alexandru Agache,

Andrei Voinescu, Costin Raiciu

University Politehnica of Bucharest

Thanks to

Page 2: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Datacenter load balancing

Page 3: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Datacenter load balancing today

MUX MUX…

Server Server Server…

Border router

ECMPVIP VIP

DIP1 DIP2 DIP3

1 C VIP

srcIP dstIP payload

4 VIP C

2 C VIP

3 M DIP3 C VIP

Page 4: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Strawman approach

MUX

Server1

HASHFUNCTION

■ ■ ■

Page 5: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Strawman approach

MUX

Server1

Server2

HASHFUNCTION

• Adding/removing servers breaks connection affinity

X

X

■ ■ ■

Page 6: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Load balancers use state to ensure connection affinity

MUX

Flow DIP

■ 1

■ 1

■ 1

Server1

Server2

■ ■ ■

Page 7: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Load balancers use state to ensure connection affinity

MUX

Flow DIP

■ 1

■ 1

■ 1

■ 2

Server1

Server2

• Only new connections are hashed

■ ■ ■

Page 8: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Load balancers use state to ensure connection affinity

MUX 1

Server1

Server2

MUX 2

Flow DIP

■ ■ ■

Flow DIP

■ 1

■ 1

■ 1

■ 2

Page 9: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Load balancers use state to ensure connection affinity

MUX 1

Flow DIP

■ 1

■ 1

■ 1

■ 2

Server1

Server2

• Scaling mux pool may reset some connections

MUX 2

Flow DIP

■ 2

■ 2

X

■ ■ ■

Page 10: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Load balancers use state to ensure connection affinity

MUX

Flow DIP

■ 1

■ 1

■ 1

■ 2

Server1

Server2

■ ■ ■

Page 11: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

SYN floods use up state memory

MUX

Flow DIP

■ 1

■ 1

■ 1

■ 2

Server1

Server2

N

■ ■ ■

Page 12: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

SYN floods use up state memory

MUX

Flow DIP

N

N

N

N

N

Server1

Server2

N

■ ■ ■

Page 13: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

SYN floods use up state memory

MUX

Flow DIP

N

N

N

N

N

Server1

Server2

• Back to the straw man approach

HASHFUNCTION

N

■ ■ ■

X

Page 14: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Stateful designs don’t guarantee connection affinity

Page 15: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer: stateless load balancing

Beamer muxes do not keep per-connection state;

each packet is forwarded independently.

When the target server changes, connections may break.

Beamer uses state stored in servers to

redirect stray packets.

Page 16: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer daisy chaining

MUX

Server1

Server2

MUXDATAPLANE

• Used when reassigning traffic

Want toPOWER OFF

Page 17: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer daisy chaining

MUX

Server1

Server2

MUXDATAPLANE

• Used when reassigning traffic

Want toPOWER OFF

Page 18: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer daisy chaining

MUX

Server1

Server2

• Daisy-chained connections die off in time

MUXDATAPLANE

Want toPOWER OFF

Page 19: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Balancing packets in BeamerWhich hashing algorithm is best?

Low churnGood load balancing

Few rules in dataplane

ECMP ✓ ✓

ConsistentHashing

✓ ✓

Maglev Hashing

✓ ✓

Page 20: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer hashing

Indirection layerPick number of buckets B > N, number of servers

Mux dataplane: • Assign each bucket to one server• Bucket-to-server mappings known by all muxes• Maintained by a centralized controller

Mux algorithm: • Hash each packet modulo B• Send to corresponding server

Page 21: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer at work

MUX

Server1

■Bkt DIP PDIP TS

1 1 - -

2 1 - -

3 1 - -

4 1 - -

Server2

Page 22: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer at work

MUX

Server1

Server2

• Packets contain previous server and time of reassignment

IP DIP1 t

IP Option

IP TCP

Bkt DIP PDIP TS

1 1 - -

2 1 - -

3 2 1 t

4 2 1 t

Page 23: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer at work

MUX

Server1

Server2

• New connections are handled locally

Bkt DIP PDIP TS

1 1 - -

2 1 - -

3 2 1 t

4 2 1 t

Page 24: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer at work

Server1

Server2

• Daisy chained connections die off in time

MUX

Bkt DIP PDIP TS

1 1 - -

2 1 - -

3 2 1 t

4 2 1 t

Page 25: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Benefits of Beamer muxes

Less memory usage and cache thrashing

Implementable in hardware: P4

Interchangeable

Resilient to SYN flood attacks

Cost: 16B encapsulation overhead per packet

Page 26: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Beamer mux performance

• Software implementation on top of netmap

• Machine: Xeon E5-2697 v2 @ 2.70GHz, Intel 82599 NIC

• Compared against:

– Stateful – similar performance to Google’s Maglev [NSDI’16]

Page 27: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Single mux performance

Page 28: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Realistic traffic

HTTP traffic from recent MAWI trace

• Packets replayed back-to-back

36Gbps of upstream traffic on 7 cores

• 15 times more downstream traffic: 540Gbps

Rough estimate: 50-500 servers/mux

• Assuming servers source 1-10Gbps of traffic

Page 29: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Testbed evaluation

• 20 machines

– 10Gbps NICs

• IBM RackSwitch 8264 as border router

• Software muxes

– P4 reference implementation also used

Page 30: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Adding and removing muxes

• Mux failures and churn are handled smoothly

Page 31: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Adding servers

• Beamer spreads traffic evenly across servers

Page 32: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Connection affinity under SYN flood attacks

DIPs Drained 0 1 2 4

Stateful 0 87±2 148±8 351±21

Beamer 0 0 0 0

1Mpps SYN flood

2 muxes, 8 servers, 700 running connections

Drain servers during SYN flood

Page 33: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Control plane

• A centralized fault-tolerant controllermanages the dataplane

MUX MUX MUX MUX Controller

ZooKeeperCluster

Page 34: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Control plane

MUX MUX MUX MUX Controller

ZooKeeperCluster

v1

DIP PDIP TS

D1 D3 TS1

D2 D4 TS2

… … …

v1 v1 v1 v1

Page 35: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Control plane

MUX MUX MUX MUX Controller

ZooKeeperCluster

v2v1 v1 v1 v1

DIP PDIP TS

D4 D1 NOW

D2 D4 TS2

… … …

Page 36: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Control plane

• Muxes download update

• Daisy chaining allows for temporarily stale muxes

MUX MUX MUX MUX Controller

ZooKeeperCluster

v2v2 v1 v2 v1

Page 37: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Control plane experiments

• Tested on Amazon EC2

• 3 ZooKeeper daemons, 100 muxes

• Large simulated service: 64K servers, 6.4M buckets

• Stress-tested controller

Page 38: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Control plane experiments

When adding 32.000 servers:

• Controller takes 1-10s to update ZooKeeper

• Muxes take 0.5-6s to get new dataplane information

• Total control traffic: 1GB (10MB/mux)

Page 39: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Please see paper for:

• MPTCP support in Beamer

• Minimizing # of rules required in muxes

– 1 rule / server, rather than 1 rule / bucket

• Avoiding reset connections in corner cases

Page 40: Datacenter Load Balancing with Beamer - usenix.org · Datacenter load balancing today MUX … MUX Server Server … Server Border router ECMP VIP VIP DIP 1 DIP 2 DIP 3 1 C VIP srcIP

Conclusions

• Stateless load balancing using daisy chaining

• 36Gbps of HTTP traffic on 7 cores– 540Gbps of downlink traffic

• Scalable, fault tolerant control plane

• Beamer is open-source: https://github.com/Beamer-LB