56
Network Sharing

Network Sharing

  • Upload
    heinz

  • View
    38

  • Download
    1

Embed Size (px)

DESCRIPTION

Network Sharing. The story thus far: Sharing. Omega + Mesos How to share End-host resource Think CPU, Memory, I/O Different ways to share: Fair sharing: Idealist view. Everyone should get equal access Proportional sharing: Ideal for public cloud - PowerPoint PPT Presentation

Citation preview

Page 1: Network Sharing

Network Sharing

Page 2: Network Sharing

The story thus far: Sharing Omega + Mesos

How to share End-host resource Think CPU, Memory, I/O

Different ways to share: Fair sharing: Idealist view.

Everyone should get equal access Proportional sharing: Ideal for public cloud

Get access to an amount equal to how much you pay Priority-Deadline based sharing: Ideal for private data center.

Company care about completion times.

What about the network? Isn’t this important?

Page 3: Network Sharing

Network Caring is Network Sharing Network is import to a jobs completion time.

Default network sharing is TCP Vague notion of fair sharing

Fairness is based on individual flows Work-conserving

Per-Flow based sharing is biased VMs with many flows get a greater share of the

network

Page 4: Network Sharing

What is the best form of Network Sharing Fair sharing:

Per-Source based fairness? Reducers cheats– many flows to one destination.

Per-Destination based fairness? Map can cheat

Fairness === Bad: No one can predict anything. And we like things to be prediction: we like short and

predictable latency

Min-Bandwidth Guarantees Perfect!! But:

Implementation can lead to inefficiency How do you predict bandwidth demands

Page 5: Network Sharing

What is the best form of Network Sharing Fair sharing:

Per-Source based fairness? Reducers cheats– many flows to one destination.

Per-Destination based fairness? Map can cheat

Fairness === Bad: No one can predict anything. And we like things to be prediction: we like short and

predictable latency

Min-Bandwidth Guarantees Perfect!! But:

Implementation can lead to inefficiency How do you predict bandwidth demands

Page 6: Network Sharing

What is the best form of Network Sharing Fair sharing:

Per-Source based fairness? Reducers cheats– many flows to one destination.

Per-Destination based fairness? Map can cheat

Fairness === Bad: No one can predict anything. And we like things to be prediction: we like short and

predictable latency

Min-Bandwidth Guarantees Perfect!! But:

Implementation can lead to inefficiency How do you predict bandwidth demands

Page 7: Network Sharing

How can you share the network? Endhost sharing schemes

Use default TCP? Never! Change the hypervisor!

Requires virtualization Change the endhost’s TCP stack

Invasive and undesirably In-Network sharing schemes

Use queues and rate-limiters Limited enforcing to 7-8 different guarantees

Utilize ECN Requires switches that support ECN mechanism

Other switch modifications Expensive and highly unlikely except maybe OpenFlow.

Page 8: Network Sharing

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 9: Network Sharing

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 10: Network Sharing

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 11: Network Sharing

Goals

1. Provide Minimum Bandwidth Guarantees in Clouds

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

underutilized guarantees

Page 12: Network Sharing

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 13: Network Sharing

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 14: Network Sharing

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 15: Network Sharing

Goals

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

Page 16: Network Sharing

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 17: Network Sharing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 18: Network Sharing

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 19: Network Sharing

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 20: Network Sharing

ElasticSwitch Overview: Two Layers

Guarantee Partitioning

Rate Allocation

Hypervisor

Provides Work-conservation

Provides Guarantees

Page 21: Network Sharing

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 22: Network Sharing

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 23: Network Sharing

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 24: Network Sharing

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 25: Network Sharing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 26: Network Sharing

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 27: Network Sharing

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 28: Network Sharing

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 29: Network Sharing

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 30: Network Sharing

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 31: Network Sharing

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 32: Network Sharing

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 33: Network Sharing

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 34: Network Sharing

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 35: Network Sharing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 36: Network Sharing

Rate Allocation

Rate Allocation

BXY

Guarantee Partitioning

X

Y

Congestion data

Rate RXY

Spare bandwidth

Time

RXY

BXY

Fully used

Limiter

Page 37: Network Sharing

Rate Allocation

Rate Allocation

BXY

Guarantee Partitioning

X

Y

Congestion data

Rate RXYLimite

r

RXY = max(BXY , RTCP-like)

Page 38: Network Sharing

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 39: Network Sharing

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 40: Network Sharing

Rate Allocation – Congestion Detection

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

packet headers

Use ECN, if available

Page 41: Network Sharing

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 42: Network Sharing

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 43: Network Sharing

Outline Motivation and Goals Overview More Details

Guarantee Partitioning Rate Allocation

Evaluation

Page 44: Network Sharing

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 45: Network Sharing

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 46: Network Sharing

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 47: Network Sharing

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 48: Network Sharing

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 49: Network Sharing

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

VM placement Placing VMs in different locations impacts the

gaurantees that can be made.

Page 50: Network Sharing

Open Questions How do you integrate network sharing with endhost sharing.

What are the implications of different sharing mechanisms with each other?

How does the network architecture affect network sharing?

How do you do admission control?

How do you detect demand?

How does payment fit into this question? And if it does, when VMs from different people communicate, who dictates price, who gets charged?

Page 51: Network Sharing

Elastic Switch – Detecting Demand 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 52: Network Sharing

Perfect Network Architecture What happens in the perfect network

architecture?

Implications: No loss in network Only at the edge of the network:

Edge uplinks between Server and ToR Or hypervisor to VM – virtual links

These losses core networks are real: VL2 at Azure Clos at Google

Page 53: Network Sharing

Open Questions How do you integrate network sharing with endhost

sharing.

What are the implications of different sharing mechanisms with each other?

How does the network architecture affect network sharing?

How do you do admission control?

How does payment fit into this question? And if it does, when VMs from different people communicate, who dictates price, who gets charged?

Page 54: Network Sharing

Open Questions How do you integrate network sharing with endhost

sharing.

What are the implications of different sharing mechanisms with each other?

How does the network architecture affect network sharing?

How do you do admission control?

How does payment fit into this question? And if it does, when VMs from different people communicate, who dictates price, who gets charged?

Page 55: Network Sharing

Open Questions How do you integrate network sharing with endhost

sharing.

What are the implications of different sharing mechanisms with each other?

How does the network architecture affect network sharing?

How do you do admission control?

How does payment fit into this question? And if it does, when VMs from different people communicate, who dictates price, who gets charged?

Page 56: Network Sharing