Top Banner
Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill
36

Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Jan 18, 2018

Download

Documents

Goals Performance isolation –Localize the damage from unbudgeted demand surges. Differentiated service quality –Offer predictable, configurable performance (e.g., mean response time) for stable request streams. Non-invasive –External control of a “black box” or “black cloud” –Generalize to a range of services –No changes to service structure or implementation
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: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Interposed Proportional Sharing for a Storage Service

UtilityWei Jin

Jeff ChaseDuke University

Jasleen KaurUNC - Chapel Hill

Page 2: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Resource Sharing in Utilities

shared servicee.g., storage

array

Clients

Request flows

Resource efficiencyAdaptivitySurge protectionRobustness“Pay as you grow”Economy of scaleAggregation

• Resource sharing offers important benefits.• But sharing must be “fair” to protect users.• Shared services often have contractual performance targets for groups of clients or requests.

• Service Level Agreements or SLAs

Page 3: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Goals• Performance isolation

– Localize the damage from unbudgeted demand surges.

• Differentiated service quality– Offer predictable, configurable performance (e.g.,

mean response time) for stable request streams.• Non-invasive

– External control of a “black box” or “black cloud”– Generalize to a range of services– No changes to service structure or implementation

Page 4: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Interposed Request Scheduling I

e.g., routershared service

e.g., storage array

– Intercept and throttle or reorder requests on the path between the clients and the service [e.g., Lumb03].– Build the scheduler into network switching components, or into the clients (e.g., servers in a utility data center).– Manage request traffic rather than request execution.

scheduler

clients

Page 5: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Alternative Approaches• Extend scheduler for each resource in a service.

– Cello, Xen, VMware, Resource Containers, etc.– Precise but invasive, and must coordinate schedulers to

manage sharing of an aggregate resource (server, array).• Facade [Lumb03] uses Earliest Deadline First in an

interposed request scheduler to meet response time targets.– Does not provide isolation, though priority can help.– Can admission control make isolation unnecessary?

• SLEDS [Chambliss03] is a per-client network storage controller using leaky bucket rate throttling.– Flows cannot exceed configured rate even if resources are

idle.

Page 6: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Proportional Sharing• Each flow is assigned a weight φ.• Allocate resources among active flows in proportion

to their weights.– Work-conserving: allocate surplus proportionally

• Fairness– Lag is the difference in weighted work done on

behalf of a pair of flows.– Prove a constant worst-case bound on lag for any

pair of flows that are active over any interval.– “Use it or lose it”: no penalty for consuming

surplus resources.

Page 7: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Weights as Shares• Weights define a configured or assured service rate.

– Adjust weights to meet performance targets.• Idealize weights as shares of the service’s capacity

to serve requests.– Normalize weights to sum to one.

• For network services, your mileage may vary.– Delivered service rate depends on request

distribution, cross-talk, hotspots, etc.– Premise: behavior is sufficiently regular to adjust

weights under feedback control.

Page 8: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Interposed Request Scheduling II

e.g., routershared service

e.g., storage array

– Dispatch/issue up to D requests or D units of work.– Issue requests to respect weights assigned to each flow.– Choose D to balance server utilization and tight resource control.– Request concurrency is defined/controlled by the server.

depth D

scheduler

Page 9: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Overview• Background on proportional share scheduling

– Virtual Clock [Zhang90]– Weighted Fair Queuing [Demers89]– Start-time Fair Queuing or SFQ [Goyal97]

• New depth-controlled variants for interposed scheduling– Why SFQ is not sufficient: concurrency.– New algorithm: SFQ(D)– Refinement: FSFQ(D)

• Decentralized throttling with Request Windows (RW)• Proven fairness results and experimental evaluation

Page 10: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

A Request Flow

pf0 pf

1 pf2

A(pf0) A(pf

1) A(pf2)

cf0=10 cf

1=5 cf2=10

Consider a flow f of service requests.– Could be packets, CPU demands, I/Os, requests for a service– Each request has a distinct arrival time (serialize arrivals).– Each request has a cost: packet length, service duration, etc.

time

Page 11: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Request Costs• Can apply to any service if we can estimate the

cost of each request.• Relatively easy to estimate cost for block storage.• Fairness results are relative to the estimated

costs; they are only as accurate as the estimates.

Page 12: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

A Flow with a Sharepf

0 pf2

Consider a sequential unit resource: capacity is 1 unit work/time unit.

– Suppose flow f has a configured share of 50% (φf = 0.5).– f is assured T units of service in T/φf units of real time.– How to implement shares/weights in an interposed request scheduler?

pf1510 10

pf010

pf210

pf15

arrival

dispatch

Page 13: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Virtual ClockEach arriving request is tagged with a start (eligible) time and a finish time.

pf010

pf210

S(pf0) = 0 S(pf

1) = 20 S(pf2) = 30

F(pf0) = 20 F(pf

1) = 30 S(pf2) = 50

pf15

S(pfi)= F(pf

i-1)

F(pfi) = S(pf

i) + cf

i φf

View the tags as a virtual clock for each flow.

Each request advances the flow’s clock by the amount of real time until its next request must be served.

If the flow completes work at its configured service rate, then virtual time ≈ real time.

[Zhang90]

Page 14: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Sharing with Virtual Clock

Virtual clock scheduler [Zhang90] orders the requests/packets by their virtual clock tags.This example:

– shows two flows each at φ=50%– assumes both flows are active and backlogged

What if a flow does not consume its configured share?

510 108 105

0 0 16 20 26 30

38282318100

virtualreal

Page 15: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Virtual Clock is Unfair

A scheduler is work-conserving if the resource is never left idle while a request is queued awaiting service.Virtual Clock is work-conserving, but it is unfair: an active flow is penalized for consuming idle resources.The lag is unbounded: really want a “use it or lose it” policy.

510 10

8 105

20 160

5

510 10 8 105

inactive

0

5

30 5026

penalized unfairly

Page 16: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Weighted Fair Queuing

Define system virtual time v(t), which advances with the progress of the active flows.

– Less competition speeds up v(t); more slows it down.Advance (lagging) clock of a newly active flow to the system virtual time, to relinquish its claim to resources it left idle.How to maintain v(t)?

– Too fast? Reverts to FIFO.– Too slow? Reverts to Virtual Clock.

S(pfi)= max (v(A(pf

i)), F(pfi-1))

F(pfi) = S(pf

i) + cf

i φf

∂v(t)∂t

≈∑φi

Cfor active flows i

Page 17: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Start-Time Fair Queuing (SFQ)

SFQ derives v(t) from the start tag of the request in service.Use the resource itself to drive the global clock.

– Order requests by start tag [Goyal97].– Cheap to compute v(t). – Fair even if capacity (service rate) C varies.– Lag between two backlogged flows is bounded by:

510 10

8 105

20 460

5

510 10 8 105

inactive

30

5

30 50 56

Virtual clock derived from active

flow.

cfmax

φf cg

max φg

+

Page 18: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

SFQ for Interposed Scheduling?

storage service

Challenge: concurrency.– Up to D requests are “in service” concurrently.– SFQ virtual time v(t) is no longer uniquely defined.– Direct adaptation: Min-SFQ(D) takes min of requests in service.

depth D

SFQ scheduler for service

Page 19: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Min-SFQ is Unfair

6

6

6 6

6

6

6 6

0

0 24 72

8 48

16

24

6 6 6

6 6 6inactive

66 6φf = .25φg = .75

1. Green has insufficient concurrency in request stream

2. Request burst for Green

Green is active enough to retain its virtual clock, but lags arbitrarily far behind.

Purple starves until Green’s virtual clock catches up.

virtual

Problem: v(t) advances with the slowest active flow: clock skew causes the algorithm to degrade to Virtual Clock, which is unfair.

Page 20: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

SFQ(D)

Solution: take v(t) from clocks of backlogged flows.– Take v(t) as min tag of queued requests awaiting dispatch.

– (The start tag of the request that will issue next.)– Implementation: take v(t) from the last issued request.– Equivalent to scheduling the sequence of issue slots with SFQ.

depth D

SFQ for D issue slots

Page 21: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

SFQ(D) Lag Bounds

pf010 10

dispatch

complete

Apply SFQ bounds to issued requests.

cfmax

φf cg

max φg

+(D+1)

SFQ lag bounds apply to requests issued under SFQ(D).From this we can derive the lag bound for requests completed under SFQ(D).

Lag between two backlogged flows f and g is bounded by:

Page 22: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Refining SFQ(D)• SFQ(D) virtual time advances monotonically, but

advances at most once per request issue.• Bursts of requests may receive the same start tag,

including requests from active flows that are “ahead”.

• To be fair, the scheduler should bias against flows that hold more than their share of issue slots.

• Four-tag Start-time Fair Queuing (FSFQ(D)) is a refinement to SFQ(D).– Break ties with a second pair of “adjusted” tags

derived from Min-SFQ(D).

Page 23: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Request Windows: Motivation

• SFQ(D) and FSFQ(D) assume a central point of control over the request flows.– Designed to reside within a service switch, e.g., a

network storage router.– Single point of complexity and vulnerability.

• Any central scheduler requires log(F) overhead to select the next request.

• Throttling can improve delay bounds by reserving issue slots.

Page 24: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Request Windows

storage serviceweight depth D

Reserve slots per flow (Request Window) based on the flow’s share.

Limit each flow to its share of the total weight (D) allowed into the system from all flows.

for each flow f and all flows i∑φi

φf nf = D

nf

Page 25: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Behavior of Request Windows

weight D

Is RW work-conserving? It does allow a flow to exceed its configured service rate under light load.

– Window constrains the outstanding requests, not rate.– Per-flow issue rate increases with service rate.– Balance tight control with concurrency under light load.

Theorem: Lag between any two persistently backlogged flows is bounded by 2D for a FIFO server.

Page 26: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Experiments• Implemented an NFS proxy for interposed request

scheduling.– Extends Anypoint [Yocum03] redirecting switch

prototype.– SFQ(D), FSFQ(D), EDF in about 1000 lines of code.

• Implemented a disk array simulator.• Used prototype to validate simulator for random read

workloads (fstress load generator [Anderson02]).• Simulated random read workloads with varying

depth, arrival rate, and shares.

Page 27: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Performance Isolation with FSFQ

0

2

4

6

8

10

12

14

0 10 20 30 40 50 60 70 80 90 100

0

100

200

300

400

500

0 10 20 30 40 50 60 70 80 90 100

throughput (IOPS)

responsetime

(seconds)

time (seconds)

Blue: 480 IOPS67% share

Red: ON/OFF0/120 IOPS10 sec intervals33% share

Server saturation@500 IOPS

FSFQ(16)or RW(16)

Page 28: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

0

2

4

6

8

10

12

0 10 20 30 40 50 60 70 80 90 100

0

100

200

300

400

500

0 10 20 30 40 50 60 70 80 90 100

EDF Alone is Not Sufficient

throughput (IOPS)

responsetime

(seconds)

Blue: 480 IOPStarget = 1 second

Red: ON/OFF0/120 IOPS10 sec intervalstarget = 10 ms

Server saturation@500 IOPS

Page 29: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Preview• Flow f issues requests at a fixed arrival rate.• Competitor g increases its request rate on X-axis.• Plot mean response time for f on Y-axis.• Evaluate performance isolation, work

conservation.

Flow g request rate

Flow fresponse

time

work conservation predictabilit

yisolation

Flow g request rate

Flow gresponse

time

Page 30: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

SFQ and FSFQ

0

10

20

30

40

50

60

70

0 100 200 300 400 500

Client #2 request rate (IOPS)

Clie

nt #

1 re

spon

se ti

me

(ms) SFQ(8)

FSFQ(8)

2:1

8:1

• f’s response time stabilizes at a level determined by its weight.• f’s response time improves when g’s load is low.• FSFQ improves fairness modestly.Other results

• g’s response time degrades without bound as its load exceeds its share.• When f generates low load, response times improve for both flows, and the stable level is less sensitive to weight.

F

5c

Page 31: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

FSFQ and RW

0

10

20

30

40

50

60

70

80

0 100 200 300 400 500

request rate for g (IOPS)

resp

onse

tim

e fo

r f (m

s)

FSFQ(32) 1:1FSFQ(32) 2:1FSFQ(32) 8:1

RW(32) 1:1RW(32) 2:1

RW(32) 8:1

F

• As expected....• RW isolates f more effectively than FSFQ because it limits the ability of g to consume slots left idle by f.

Other results• FSFQ(32) is similar to RW(32) with f@240 IOPS.•FSFQ(32) is less effective than FSFQ(8).

6a

Page 32: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Effect of Depth

0

20

40

60

80

100

120

140

160

0 100 200 300 400 500

request rate for g (IOPS)

resp

onse

tim

e fo

r f (m

s)

FSFQ(64)RW(64)

FSFQ(16)RW(16)

F

7c

• 2:1 weights• Increasing D weakens control• RW offers tighter control than FSFQ.• FSFQ uses surplus resources more aggressively.

Page 33: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Summary of Results• Interposed request scheduling with *SFQ and RW

offers acceptable performance isolation and is non-invasive.– Predictable, configurable differentiated service.– With larger systems depth must increase. The

algorithms are fair and isolating even with high D, but cannot support tight response time bounds.

– In a work-conserving system, a flow with low utilization of its share experiences weaker isolation.

– FSFQ(D) yields modest improvements over SFQ(D).– RW(D) offers stronger isolation than *SFQ, but is

“less work-conserving” (more like a reservation).

Page 34: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Further Study• How precisely can we estimate costs?

– Workload crosstalk, e.g., disk arm movement• Assumes internally balanced load

– Internal bottlenecks can slow service rate and “bleed over” into other shares.

– May need some component-local status/control if/when significant load imbalances exist (e.g., Stonehenge).

• Explore hybrids of *SFQ(D) and RW(D) for varying balances of decentralization and control.– Degree of control is reduced as we increase parallelism

within the cloud.• Sizing shares for response-time SLAs.

Page 35: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

http://issg.cs.duke.edu/publications/shares-sigmet04.pdf(Enhanced/corrected version of paper)(Enhanced/corrected version of paper)

http://www.cs.duke.edu/~chasehttp://www.cs.duke.edu/~chase

Page 36: Interposed Proportional Sharing for a Storage Service Utility Wei Jin Jeff Chase Duke University Jasleen Kaur UNC - Chapel Hill.

Effect of depth for a low-demand flow

0

20

40

60

80

100

120

140

160

0 100 200 300 400 500

request rate for g (IOPS)

resp

onse

tim

e fo

r f (m

s)

FSFQ(64)RW(64)

FSFQ(16)RW(16)

F

7a

• 2:1 weights• Increasing D weakens control• f response times increase; g response times decrease• RW offers tighter control than FSFQ• FSFQ uses surplus resources more aggressively