57
ElasticSwitch: Practical Work- Conserving Bandwidth Guarantees for Cloud Computing HP Labs * Avi Networks + Google Lucian Popa Praveen Yalagandula * Sujata Banerjee Jeffrey C. Mogul + Yoshio Turner Jose Renato Santos

ElasticSwitch : Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

  • Upload
    neva

  • View
    56

  • Download
    0

Embed Size (px)

DESCRIPTION

ElasticSwitch : Practical Work-Conserving Bandwidth Guarantees for Cloud Computing. Lucian Popa Praveen Yalagandula * Sujata Banerjee Jeffrey C. Mogul + Yoshio Turner Jose Renato Santos. HP Labs * Avi Networks + Google. Goals. Provide Minimum Bandwidth Guarantees in Clouds - PowerPoint PPT Presentation

Citation preview

Page 1: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch: Practical Work-Conserving Bandwidth Guarantees for Cloud

Computing

HP Labs* Avi Networks+ Google

Lucian Popa Praveen Yalagandula* Sujata Banerjee Jeffrey C. Mogul+ Yoshio Turner Jose Renato Santos

Page 2: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

Tenants can affect each other’s traffic MapReduce jobs can affect performance of user-facing

applications Large MapReduce jobs can delay the completion of small

jobs Bandwidth guarantees offer predictable

performance

Page 3: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

VMs of one tenant

Hose model

Bandwidth Guarantees

Virtual (imaginary) Switch

X Y

BX BYZ

BZ

VS

Other models based on hose model such as TAG [HotCloud’13]

Page 4: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

2. Work-Conserving Allocation Tenants can use spare bandwidth from unallocated or

underutilized guarantees

Page 5: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

2. Work-Conserving Allocation Tenants can use spare bandwidth from unallocated or

underutilized guarantees Significantly increases performance

Average traffic is low [IMC09,IMC10] Traffic is bursty

Page 6: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

2. Work-Conserving Allocation

ElasticSwitch

X Y

Bmin

BminX

Y ba

ndwi

dth

Free capacity

Everything reserved & used

Time

Bmin

Page 7: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

2. Work-Conserving Allocation3. Be Practical

Topology independent: work with oversubscribed topologies

Inexpensive: per VM/per tenant queues are expensive work with commodity switches

Scalable: centralized controller can be bottleneck distributed solution Hard to partition: VMs can cause bottlenecks anywhere in

the network

Page 8: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds2. Work-Conserving Allocation3. Be Practical

Page 9: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Prior WorkGuarante

esWork-

conserving

Practical

Seawall [NDSI’11], NetShare [TR], FairCloud (PS-L/N) [SIGCOMM’12]

X (fair

sharing)√ √

SecondNet [CoNEXT’10] √ X √

Oktopus [SIGCOMM’10] √ X ~X (centralized)

Gatekeeper [WIOV’11], EyeQ [NSDI’13] √ √ X (congestion-

free core)

FairCloud (PS-P) [SIGCOMM’12] √ √ X (queue/VM)

Hadrian [NSDI’13] √ √ X (weighted RCP)

ElasticSwitch √ √ √

Page 10: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 11: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch Overview: Operates At Runtime

Tenant selects bandwidth guarantees. Models: Hose,

TAG, etc.

VMs placed, Admission Control ensures all

guarantees can be met

Enforce bandwidth guarantees

& Provide work-conservation

VM setup

RuntimeElasticSwitch

Oktopus [SIGCOMM’10]Hadrian [NSDI’10]CloudMirror [HotCLoud’13]

Page 12: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Network

ElasticSwitch Overview: Runs In Hypervisors

VM

VM

VM

ElasticSwitchHypervisor

VM

ElasticSwitchHypervisor

VM

ElasticSwitchHypervisor

VM

• Resides in the hypervisor of each host• Distributed: Communicates pairwise following

data flows

Page 13: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch Overview: Two Layers

Guarantee Partitioning

Rate Allocation

Hypervisor

Provides Work-conservation

Provides Guarantees

Page 14: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch Overview: Guarantee Partitioning1. Guarantee Partitioning: turns hose model into VM-to-VM pipe guarantees

VM-to-VM control is necessary, coarser granularity is not enough

Page 15: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

X Y Z

VS

BX BY BZ

ElasticSwitch Overview: Guarantee Partitioning1. Guarantee Partitioning: turns hose model into VM-to-VM pipe guarantees

BXY BXZVM-to-VM guarantees bandwidths as if tenant communicates on a physical

hose network

Intra-tenant

Page 16: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch Overview: Rate Allocation1. Guarantee Partitioning: turns hose model into VM-to-VM pipe guarantees

RateXY ≥

2. Rate Allocation: uses rate limiters, increases rate between X-Y above BXY when there is no congestion between X and Y

YX

Unreserved/Unused Capacity

Work-conserving allocation

X Y Z

VS

BX BY BZ

BXY

Inter-tenant

Hypervisor Limiter Hypervisor

Page 17: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch Overview: Periodic Application

Guarantee Partitioning

Rate Allocation

Hypervisor

VM-to-VMguarantees Demand

estimates

Applied periodically, more often

Applied periodically and onnew VM-to-VM pairs

Page 18: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 19: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Overview

BXY

BXZ BTY

X Y

Z T

QBQY

X Y

BX

Z

VS1

Q

BQ

T

Goals:A. Safety – don’t violate hose

modelB. Efficiency – don’t waste

guaranteeC. No Starvation – don’t block

traffic

Max-min allocation

Page 20: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Overview

X Y

Z T

Q

X Y

BX

Z

VS1

Q

BQ

TBX = … = BQ = 100Mbps

33Mbps66Mbps 33Mbps

33Mbps

Max-min allocationGoals:

A. Safety – don’t violate hose model

B. Efficiency – don’t waste guarantee

C. No Starvation – don’t block traffic

Page 21: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Operation

X Y

Z T

Q

X Y

BX

Z

VS1

Q

BQ

T

BX BY

BXBY

TYXZ

XY XY

BYQYHypervisor divides guarantee of each

hosted VM between VM-to-VM pairs in each direction

Source hypervisor uses the minimum between the source and destination

guarantees

X YBXY = min( BX , BY )

XY XY

Page 22: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Safety

X Y

Z T

Q

X Y

BX

Z

VS1

Q

BQ

T

BX BY

BXBY

TYXZ

XY XY

BYQY

BXY = min( BX , BY )

XY XY

X Y

Safety: hose-model guarantees are not exceeded

Page 23: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Operation

X Y

Z T

Q

X Y

BX

Z

VS1

Q

BQ

TBX = … = BQ = 100Mbps

BXY = min( BX , BY )

XY XY

Page 24: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Operation

X Y

Z T

Q

X Y

BX

Z

VS1

Q

BQ

TBX = … = BQ = 100Mbps

BXY = min( BX , BY )

XY XY

BX = 50 BY = 33BXY = 33BX =

50BY = 33

TYXZ

XY XY

BY = 33QY

X Y

Page 25: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Efficiency

What happens when flows have low demands?1

X Y

Z T

Q

BX = 50 BY = 33BXY = 33BX =

50BY = 33

TYXZ

XY XY

BY = 33QY

X Y

BX

Z

VS1

Q

BQ

TBX = … = BQ = 100Mbps

Hypervisor divides guarantees max-min based on demands

(future demands estimated based on history)

Page 26: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Efficiency

2How to avoid unallocated guarantees?

X Y

Z T

Q

BX = 50 BY = 33BXY = 33BX =

50BY = 33

TYXZ

XY XY

BY = 33QY

X Y

BX

Z

VS1

Q

BQ

TBX = … = BQ = 100Mbps

What happens when flows have low demands?1

66

33

Page 27: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Efficiency

X Y

Z T

Q

BX = 50 BY = 33BXY = 33BX =

50BY = 33

TYXZ

XY XY

BY = 33QY

X Y

BX

Z

VS1

Q

BQ

TBX = … = BQ = 100Mbps 6

6

33Source considers destination’s

allocation when destination is bottleneck

Guarantee Partitioning converges

Page 28: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 29: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate Allocation

Rate Allocation

BXY

Guarantee Partitioning

X

Y

Congestion data

Rate RXY

Spare bandwidth

Time

RXY

BXY

Fully used

Limiter

Page 30: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate Allocation

Rate Allocation

BXY

Guarantee Partitioning

X

Y

Congestion data

Rate RXYLimite

r

RXY = max(BXY , RTCP-like)

Page 31: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate AllocationRXY = max(BXY , RTCP-like)

144.178 144.678 145.178 145.678 146.178 146.678 147.178 147.678 148.1780100200300400500600700800900

1000Rate Limiter Rate

Seconds

Mbp

s

Guarantee

Another Tenant

Page 32: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

X Y

Rate AllocationRXY = max(BXY , Rweighted-TCP-

like)

Weight is the BXY guarantee

BXY = 100Mbps

Z TBZT = 200Mbps

L = 1GbpsRXY = 333Mbps

RXT = 666Mbps

Page 33: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate Allocation – Congestion Detection

Detect congestion through dropped packets Hypervisors add/monitor sequence numbers in

packet headers

Use ECN, if available

Page 34: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate Allocation – Adaptive Algorithm

Use Seawall [NSDI’11] as rate-allocation algorithm TCP-Cubic like

Essential improvements (for when using dropped packets)

Many flows probing for spare bandwidth affect guarantees of others

Page 35: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate Allocation – Adaptive Algorithm

Use Seawall [NSDI’11] as rate-allocation algorithm TCP-Cubic like

Essential improvements (for when using dropped packets) Hold-increase: hold probing for free bandwidth after a

congestion event. Holding time is inversely proportional to guarantee.

GuaranteeRate increasing

Holding time

Page 36: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 37: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Evaluation Setup

Implementation in Linux Logic in user-space: controls rate limiters, sends

control packets Modified kernel OVS

Testbed ~100 servers 1Gbps tree network

Page 38: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Evaluation – Many-to-one

Z

XL = 1Gbps

…Z

VS2

X

VS1

450Mbps

450Mbps

UDP

TCP

Edge or core

Page 39: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0 1 2 10 100 200 3000

100200300400500600700800900

1000

Evaluation – Many-to-oneTh

roug

hput

(Mbp

s)

Senders to Z

XZ

Page 40: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0 1 2 10 100 200 3000

100200300400500600700800900

1000

Evaluation – Many-to-oneTh

roug

hput

(Mbp

s)

Senders to Z

VM Z takes all the bandwidth

X

No Protection

Z

Page 41: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0 1 2 10 100 200 3000

100200300400500600700800900

1000

Evaluation – Many-to-oneTh

roug

hput

(Mbp

s)

Senders to Z

No ProtectionStatic Reservation (e.g., Oktopus)

Wasted bandwidth

XZ

Page 42: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0 1 2 10 100 200 3000

100200300400500600700800900

1000

Evaluation – Many-to-oneTh

roug

hput

(Mbp

s)

Senders to Z

No ProtectionStatic Reservation (e.g., Oktopus)

ElasticSwitch

Work-conserving

XZ

Page 43: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0 1 2 10 100 200 3000

100200300400500600700800900

1000

Evaluation – Many-to-oneTh

roug

hput

(Mbp

s)

Senders to Z

No ProtectionStatic Reservation (e.g., Oktopus)

ElasticSwitch

Provides guarantees

XZ

Page 44: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0 1 2 10 100 200 3000

100200300400500600700800900

1000

Evaluation – Many-to-oneTh

roug

hput

(Mbp

s)

Senders to Z

ElasticSwitch Ideal behavior

XZ

Page 45: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Evaluation – MapReduce Setup

44 servers, 4x oversubscribed topology, 4 VMs/server Each tenant runs one job, all VMs of all tenants same

guarantee

Two scenarios: Light

10% of VM slots are either a mapper or a reducer Randomly placed

Heavy 100% of VM slots are either a mapper or a reducer Mappers are placed in one half of the datacenter

Page 46: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0.2 0.5 1 50

0.2

0.4

0.6

0.8

1

Evaluation – MapReduceCD

F

Worst case shuffle completion time / static reservation

Page 47: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0.2 0.5 1 50

0.2

0.4

0.6

0.8

1

Evaluation – MapReduceCD

FNo ProtectionElasticSwitch

Light Setup

Work-conserving pays off: finish faster than static reservation

Worst case shuffle completion time / static reservation

Longest completion reduced from No Protection

Page 48: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

0.2 0.5 1 50

0.2

0.4

0.6

0.8

1

Evaluation – MapReduceCD

F

Heavy Setup

ElasticSwitch enforces guarantees in worst case

Worst case shuffle completion time / static reservation

No Protection

ElasticSwitch

Guarantees are useful in reducing worst-case shuffle completion

up to 160X

Page 49: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

ElasticSwitch Summary Properties

1. Bandwidth Guarantees: hose model or derivatives2. Work-conserving3. Practical: oversubscribed topologies, commodity switches,

decentralized

Design: two layers Guarantee Partitioning: provides guarantees by transforming

hose-model guarantees into VM-to-VM guarantees Rate Allocation: enables work conservation by increasing

rate limits above guarantees when no congestion

HP Labs is hiring!

Page 50: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Backup Slides

Page 51: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Evaluation – OverheadNon-linear in number of limiters

Splitting control per hosted VM should keep operation point here

Can be significantly improved!

0 50 100 150 200 250 3000

20

40

60

80

100

Number of VM-to-VM flows

Over

head

of o

ne C

PU c

ore

(%)

Page 52: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Dynamic Behavior Optimize for bimodal distribution flows

Most flows short, a few flows carry most bytes Short flows care about latency, long flows care

about throughput

Start with a small guarantee for a new VM-to-VM flow

If demand not satisfied, increase guarantee exponentially

Page 53: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Short Flows

Short Flows/s0 20 40 60 80 100

Thro

ughp

utLo

ng-F

low

(Mbp

s)

050

100150200250300350400450500

1 new VM-to-VM pair/sec10 new VM-to-VM pairs/sec20 new VM-to-VM pairs/sec30 new VM-to-VM pairs/sec50 new VM-to-VM pairs/sec

Page 54: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Latency

# VM-to-VM flows in background

0 1 5 20 23(Tight Guar.)

Com

plet

ion

time

(ms)

00.20.4

0.60.8

1

1.21.41.6

1.82

No ProtectionOktopus-like Res.ElasticSwitch

Page 55: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Future Work

Reduce Overhead ElasticSwitch: average 1 core / 15 VMs ,worst case

1 core /VM

Multi-path solution Single-path reservations are inefficient No existing solution works on multi-path networks

Page 56: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Guarantee Partitioning – Efficiency: Reallocation

21 3 4

Intuition: propagates from smaller to larger guarantee shares

Guarantee Partitioning converges

Page 57: ElasticSwitch :  Practical Work-Conserving Bandwidth Guarantees for Cloud Computing

Rate AllocationRXY = max(BXY , Rweighted-TCP-like)

Weight is the BXY guarantee

Order of magnitude longer timescale than RTT – not affects TCP