ananta: cloud scale load balancing presenter: donghwi kim 1

35
Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

Upload: hope-sharp

Post on 27-Dec-2015

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

1

Ananta: Cloud Scale Load

BalancingPresenter: Donghwi Kim

Page 2: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

2

Background: Datacenter

• Each server has a hypervi-sor and VMs• Each VM is assigned a Di-

rect IP(DIP)

• Each service has zero or more external end-points• Each service is assigned one

Virtual IP (VIP)

Page 3: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

3

Background: Datacenter

• Each datacenter has many services

• A service may work with • Another service in same

datacenter• Another service in other

datacenter• A client over the internet

Page 4: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

4

Background: Load-balancer

• Entrance of server pool

• Distribute workload to worker servers

• Hide server pools from client with network ad-dress translator (NAT)

Page 5: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

5

Do destination address translation (DNAT)

Inbound VIP Communica-tion

Front-endVM

LB

Front-endVM

Front-endVM

Internet

DIP 1

VIP

src: Client, dst: VIP payload

src: Client, dst: DIP1 payload

DIP 2 DIP 3

src: Client, dst: DIP2 payloadsrc: Client, dst: DIP3 payload

src: Client, dst: VIP payloadsrc: Client, dst: VIP payload

Page 6: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

6

Do source address translation (SNAT)

VIP 1

Outbound VIP Communica-tion

Front-endVM

LB

Back-endVM

DIP 1 DIP 2

Front-endVM

LB

Front-endVM

Front-endVM

DIP 3

Service 1 Service 2

DatacenterNetwork

VIP 2

src: DIP2, dst: VIP2 payload

src: VIP1, dst: VIP2 payload

DIP 4 DIP 5

src: VIP1, dst: VIP2 payload

Page 7: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

7

State of the Art

• A load balancer is a hardware device• Expensive, slow failover, no scalability

LB

Page 8: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

8

Cloud Requirements

• Scale

• Reliability

Requirement State-of-the-art

~40 Tbps throughput using 400 servers

20Gbps for $80,000

100Gbps for a single VIP Up to 20Gbps per VIP

Requirement State-of-the-art

N+1 redundancy 1+1 redundancy or slow failover

Quick failover

Page 9: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

9

Cloud Requirements

• Any service anywhere

• Tenant isolation

Requirement State-of-the-art

Servers and LB/NAT are placed across L2 boundaries

NAT supported only in the same L2

Requirement State-of-the-art

An overloaded or abusive tenant cannot affect other tenants

Excessive SNAT from one ten-ant causes complete outage

Page 10: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

10

Ananta

Page 11: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

11

SDN

• SDN: Managing a flexible data plane via a central-ized control plane

Controller

Control Plane

Data plane

Switch

Page 12: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

12

Break downLoad-balancer’s functionality

• Control plane:• VIP configuration• Monitoring

• Data plane• Destination/source se-

lection• address translation

Page 13: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

13

Design

• Ananta Manager• Source selection• Not scalable

(like SDN controller)

• Multiplexer (Mux)• Destination selection

• Host Agent• Address translation• Reside in each server’s

hypervisor

Page 14: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

14

Data plane

Multiplexer Multiplexer Multiplexer. . .

VM Switch

VMN

Host Agent

VM1. . .

VM Switch

VMN

Host Agent

VM1. . .

VM Switch

VMN

Host Agent

VM1. . .

. . .

dst: VIP1

dst: VIP2 dst: VIP1

dst: VIP2dst: DIP3 dst: VIP1dst: DIP1 dst: VIP1dst: DIP2

dst: DIP1 dst: DIP2 dst: DIP3

• 1st tier (Router)• packet-level

load spreading via ECMP.

• 2nd tier (Multiplexer)• connection-level

load spreading• destination selec-

tion.

• 3rd tier (Host Agent)• Stateful NAT

Page 15: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

15

Inbound connections

RouterRouter MUX

Host

MUXRouter MUX

Host Agent1

2

3

VMDIP

4

5

678Client

s: CLI, d: VIP s: CLI, d: DIP

s: VIP, d: CLI

s: DIP, d: CLI

s: CLI, d: VIPs: MUX, d: DIP

Page 16: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

16

Outbound (SNAT) connec-tions

Server

s: DIP:555, d: SVR:80

Port??

Map VIP:777 to DIP

Map VIP:777 to DIP

s: VIP:777, d: SVR:80

s: SVR:80, d: VIP:777 s: SVR:80, d: VIP:777s: MUX, d: DIP:555s: SVR:80, d: DIP:555

Page 17: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

17

Reducing Load of Ananta-Manager• Optimization• Batching: Allocate 8 ports instead of one• Pre-allocation: 160 ports per VM• Demand prediction: Consider recent request history

• Less than 1% of outbound connections ever hit Ananta Manager• SNAT request latency is reduced

Page 18: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

18

VIP traffic in a datacenter

• Large portion of traffic via load-balancer is intra-DC

DIP Traffic56%

VIP Traffic44%

Total Traffic

Intra-DC70%

Inter-DC16%

Internet14%

VIP Traffic

Page 19: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

19

Step 1: Forward Traffic

Host

MUXMUXMUX1VM

Host Agent

1

DIP1

MUXMUXMUX22

Host

VM

Host Agent DIP2

Data Packets

Destination

VIP1

VIP2

Page 20: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

20

Step 2: Return Traffic

Host

MUXMUXMUX1VM

Host Agent

1

DIP14

MUXMUXMUX22

3

Host

VM

Host Agent DIP2

Data Packets

Destination

VIP1

VIP2

Page 21: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

21

Step 3: Redirect Messages

Host

MUXMUXMUX1VM

Host Agent DIP1

5

6

MUXMUXMUX2

Host

VM

Host Agent DIP2

7

Redirect Packets

Destination

VIP1

VIP2

Page 22: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

22

Step 4: Direct Connection

Host

MUXMUXMUX1VM

Host Agent DIP1

MUXMUXMUX2

8

Host

VM

Host Agent DIP2

Redirect PacketsData Packets

Destination

VIP1

VIP2

Page 23: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

23

SNAT Fairness

• Ananta Manager is not scalable• More VMs, more resources

DIP1

DIP2

DIP3

DIP4

VIP1

VIP2

1 2 3

Pending SNAT Re-quests per DIP. At most one per DIP.

1

Pending SNAT Re-quests per VIP.

SNAT pro-cessing queue

Global queue. Round-robin dequeue from VIP queues. Processed by thread pool.

4

65

1

3

2

4

423

Page 24: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

24

Packet Rate Fairness

• Each Mux keeps track of its top-talkers(top-talker: VIPs with the highest rate of packets)

• When packet drop happens, Ananta Manager with-draws the topmost top-talker from all Muxes

Page 25: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

25

Reliability

• When Ananta Manager fails• Paxos provides fault-tolerance by replication• Typically 5 replicas

• When Mux fails• 1st tier routers detect failure by BGP• The routers stop sending traffic to that Mux.

Page 26: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

26

Evaluation

Page 27: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

27

Impact of Fastpath

• Experiment:• One 20 VM tenant as the server• Two 10 VM tenants a clients• Each VM setup 10 connections, upload 1MB data

Host Mux0

102030405060

10

55

132

No FastpathFastpath

% C

PU

Page 28: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

28

Ananta Manager’s SNAT la-tency• Ananta manager’s port allocation latency

over 24 hour observation

Page 29: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

29

SNAT Fairness

• Normal users (N) make 150 outbound connections per minute• A heavy user (H) keep increases outbound connection rate• Observe SYN retransmit and SNAT latency• Normal users are not affected by a heavy user

Page 30: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

30

Overall Availability

• Average availability over a month: 99.95%

Page 31: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

31

Summary

• How Ananta meet cloud requirementsRequirement Description

Scale • Mux: ECMP• Host agent: Scale-out naturally

Reliability • Ananta manager: Paxos• Mux: BGP

Any service anywhere

• Ananta is on layer 4 (Transport layer)

Tenant isola-tion

• SNAT fairness• Packet rate fairness

Page 32: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

32

MUX (NEW)

MUX

Discussion

• Ananta may lose some connections• When it recovers from MUX failure• Because there is no way to copy MUX’s internal state.

5-tuple DIP

… DIP1

… DIP2

1st tier Router

5-tuple DIP

???

TCP flows

Page 33: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

33

Discussion

• Detection of MUX failure takes at most 30 seconds (BGP hold timer). Why don’t we use additional health monitoring?

• Fastpath does not preserve the order of packets.

• Passing through a software component, MUX, may increase the latency of connection establishment.* (Fastpath does not re-lieve this.)

• Scale of evaluation is too small. (e.g. Bandwidth of 2.5Gbps, not Tbps). Another paper insists that Ananta requires 8,000 MUXes to cover mid-size datacenter.*

*DUET: Cloud Scale Load Balancing with Hardware and Software, SIGCOMM‘14

Page 34: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

34

Thanks !Any Questions ?

Page 35: Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1

36

Backup: ECMP

• Equal-Cost Multi-Path Routing• Hash packet header and choose one of equal-cost paths