queueing with redundant requests › ~harchol › mit-lids17-show.pdf · 2019-08-20 · why...

48
Queueing with Redundant Requests Mor Harchol-Balter Professor of Computer Science, CMU Joint with: Kristy Gardner Alan Scheller-Wolf 1

Upload: others

Post on 30-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Queueing with Redundant Requests

Mor Harchol-Balter

Professor of Computer Science, CMU

Joint with:Kristy Gardner

Alan Scheller-Wolf

1

Task Assignment Problem is very Old

Dispatcher

FCFS

jobs (“tasks”)

FCFS

FCFS

Resp

onse

tim

e, T

What’s a good dispatching policy for

minimizing E[T] ?

2

Lots of attention:Adan , Azar, Avrahami, Bachmat, Bonald, Bonomi, Borst, Boxma, Bramson, Broberg, Cardellini, Ciardo, Colajanni, Cohen, Conolly, Crovella, Doroudi, Down, El-Taha, Feng, Flatto, Foss, Ghosh, Gupta,Greenberg, Harchol-Balter, Hyytiä, Jelenkovic, Jonckheere, Korshunov, Kingman, Leonardi, Lin, Lu, Lui, Maddah, McKean, Misra, Muntz, Nelson, Philips,Prabhakar, Proutiere, Raghavendra, Raz, Rao, Riska, Rubenstein, Sarfati, Schroeder, Smirni, Stanford, Squillante, Tari, Towsley, Tsitsiklis, van der Wal, Virtamo, Wessels, Whitt, Xia, Yao, Yechialli, Young, Yu, Zhang, Zijm, …

Same problem in Supermarket

3 3

MeWhere should

I go?

4

Dispatcher

FCFSjobs (tasks)

FCFS

FCFS

Resp

onse

tim

e, T

What’s a gooddispatching policy for

minimizing E[T] ?

Random Round-Robin Join-Shortest-Queue Least-Work-Left Size-Interval-Task-

Assignment

Job size distribution, X, plays big role

Knowing X is not enough

5 5

Suppose you know job size distribution, X, …

And you even know exact job sizes …

Claim: Still insufficient for good task assignment.

Supermarket

MeWhere should

I go?

Problem: What you see ≠ What you get6

My Supermarket ExperienceMe

7 7

My Supermarket ExperienceMe

8 8

My Supermarket Experience

Me

Pricecheck

9 9

My Supermarket Experience

Me

Pricecheck

10 10

My Supermarket Experience

Me

Pricecheck

11 11

My Supermarket Experience

Me

Extremecoupons

12 12

My Supermarket Experience

Me

Extremecoupons

13 13

My Supermarket Experience

Me

BathroomBreak

14 14

Problem: Server-side variability

… can be more relevant than inherent job size, X

Server-side variability can dominate a job’s runtime

Example: Webpage download Typically very fast: X ≈ 10 ms

But can be 1 s if server is slow

When server-side variability dominates,need new task assignment policy

15

Me

16 16

Redundancy!

Redundancy!Me Hubby

Wish I hadmore

husbands…

17 17

Same job runs on multiple servers at once. Wait for 1st copy to complete.

Berkeley Dolly System [Ananthanarayanan et al. 2012] Google “Tail at Scale” 2013 [Dean, Barroso 2013] Berkeley Sparrow paper 2013 [Ousterhout et al. 2013] DNS and Database query systems 2013 [Vulimiri et al. 2013] GRASS 2014 [Ananthanarayanan et al. 2014] Hopper 2015 [Ren et al. 2015]

Computer Systems Redundancy Research:

18

Same job can take 12X longer onone machine than another [Dolly]

Background loadGarbage collectionNetwork interruptsDisk head locationCache contents

Redundancy in Computer Systems

Same job can take 27X longer onone machine than another [Xu]

Motivation: Server-side variability:

Computer Systems ≠ SuperMarket

Redundancy in Our Lives

19 19

Multiple Listingfor Kidneys/Livers

Multi-listing atDaycare Centers

Job Replication in Computer Systems

Redundant Packet Transmisison

Why Redundancy Rocks!

20 20

1. Redundancy Experience queue with less work

2. Redundancy Experience lower server slowdown

Both importantunder high server-side variability

HOW MUCHredundancy is best?

But redundancy can also hurt …

21

[Koole, Righter 2009]

[Joshi, Liu, Soljanin 2012]

[Shah, Lee, Ramchandran 2012]

[Huang, Pawar, Zhang,

Ramchandran 2012]

[Vulimiri, Godfrey, Mittal, Sherry,

Ratnasamy, Shenker 2013]

[Shah, Lee, Ramchandran 2013]

[Joshi, Liu, Soljanin 2014]

[Kumar, Tandon, Clancy 2014]

[Sun, Koksal, Shroff 2016]

Approximations Exact Analysis

[Gardner, Doroudi, Harchol-Balter, Hyytiä, Scheller-Wolf, Zbarsky] –Sigmetrics 2015

[Gardner, Harchol-Balter, Scheller-Wolf, Zbarsky] – Operations Research 2017.

[Bonald, Comte 2017]

Analyzing Redundancy is Not Easy…Requires tracking all copies of a job

3

Every arrival is sent to d servers at random.Job is “done” as soon as 1st copy completes.

Poisson arrivals with rate kλ

Independent runtimes (service times), Exponentially-distributed with rate µ

22 22

. . .𝑑𝑑

. . .

k servers

Example: Redundancy-d [Gardner, Harchol-Balter, Scheller-Wolf, Zbarsky 2016]

How doesincreasing d

affect E[T] ?

µExp

µExp

µExp

µExp

Markov Chain Analysis of Redundancy-d

. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

23

Each job choosesrandom subset of d servers.

subsetchosen “color”

ci : color of ith arrival

All current jobs in order of arrival

m m- 11

1(c ,c , … ,c ) (

m

i

ic

iC

λπ

µ= ⋅⋅= ∏

# servers used by first jobs)

Thm:

k servers

µExp

µExp

µExp

µExp

Markov Chain Analysis of Redundancy-d

24

Each job choosesrandom subset of d servers.

subsetchosen “color”

ci : color of ith arrival

All current jobs in order of arrival

m m- 11

1(c ,c , … ,c ) (

m

i

ic

iC

λπ

µ= ⋅⋅= ∏

# servers used by first jobs)

Thm:

. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

k servers

µExp

µExp

µExp

µExp

π = ⋅ ⋅ ⋅ ⋅( , , , )

CBOYB

yel oranblue geow bluelλ3

λ4μ

λ λμ4μ 2μ

Results of Exact Analysis: Redundancy-d

25

0.51100k

λµ===

2

1

0

0.5

1.5

E[T]

d1 5 10

shape follows 1/d

60% improvementfrom d=1 to d=2

( )( ) ( ) c

, 11

11

1[ ]i

k did

k id d

k

i dE T

dµ λ

−−

−−

== ⋅

−∑

Thm:. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

k servers

µExpµExpµExpµExp

Results of Exact Analysis: Redundancy-d

26

. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

k servers

µExpµExpµExpµExp

But WHY?

Is more redundancy always better?

Maybe only true for exponential runtimes?

0.51100k

λµ===

2

1

0

0.5

1.5

E[T]

d1 5 10

shape follows 1/d

60% improvementfrom d=1 to d=2

Results of Exact Analysis

27

2

1

0

0.5

1.5

E[T]

d1 5 10

But WHY?

Is more redundancy always better?

More true for more variable runtime distributions.

Exponentially-distributed runtimesEven more variable runtimes

. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

k servers

µExpµExpµExpµExp

Results of Exact Analysis

28

2

1

0

0.5

1.5

E[T]

d1 5 10

Problem:

IndependentRuntime Model

Exponentially-distributed runtimesEven more variable runtimes

. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

k servers

µExpµExpµExpµExp

Same job is assigned a new independent runtime (service time) at each server.

29

[Koole, Righter 2009]

[Joshi, Liu, Soljanin 2012]

[Shah, Lee, Ramchandran 2012]

[Huang, Pawar, Zhang,

Ramchandran 2012]

[Vulimiri, Godfrey, Mittal, Sherry,

Ratnasamy, Shenker 2013]

[Shah, Lee, Ramchandran 2013]

[Joshi, Liu, Soljanin 2014]

[Kumar, Tandon, Clancy 2014]

[Sun, Koksal, Shroff 2016]

Approximations Exact Analysis

[Gardner, Doroudi, Harchol-Balter, Scheller-Wolf, Zbarsky 2015]

[Gardner, Harchol-Balter, Scheller-Wolf, Zbarsky 2016]

[Bonald, Comte 2017]

Prior Analytical Work assumesIndependent Runtime Model (IRM)

IRM is reasonable if inherent job size is negligible.

Unreasonable, otherwise.

Introducing S&X model

30

serverslowdown

inherentjob size

. . .

𝑑𝑑 = 2

0.0

0.1

0.2

0.3

1 2 3 4 5 6 7 8 9 10 11 12

Need to

Empirical server slowdown distribution [Dolly ‘12]𝐸𝐸 𝑆𝑆 = 4.7

Traditional Q-theory handles only single

“service time” variable.INADEQUATEfor redundancy.

Ex: Redundancy-d

[Gardner, Harchol-Balter, Scheller-Wolf, MASCOTS 2016]

Introducing S&X model

31

serverslowdown

inherentjob size

. . .

𝑑𝑑 Runtime = R XS= ⋅𝑊𝑊ℎ𝑒𝑒𝑒𝑒 𝑑𝑑 = 1,

0.0

0.1

0.2

0.3

1 2 3 4 5 6 7 8 9 10 11 12

Need to

Empirical server slowdown distribution [Dolly ‘12]𝐸𝐸 𝑆𝑆 = 4.7

Ex: Redundancy-d

Resp.Time QT RT= = +

𝑟𝑟𝑒𝑒𝑟𝑟𝑟𝑟𝑟𝑟𝑒𝑒𝑟𝑟𝑒𝑒 𝑡𝑡𝑡𝑡𝑡𝑡𝑒𝑒𝑟𝑟.𝑊𝑊ℎ𝑒𝑒𝑒𝑒 𝑑𝑑 > 1, 𝑒𝑒𝑒𝑒𝑟𝑟𝑒𝑒𝑟𝑟𝑡𝑡𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 𝑙𝑙𝑟𝑟𝑙𝑙𝑒𝑒𝑟𝑟𝑡𝑡 𝑟𝑟𝑜𝑜 𝑑𝑑

Redundancy in S&X: pros/cons

32

+ Redundancy see queue with lesser work

+ Redundancy see lower server slowdown

- Job with large inherent size adds lots of load.

serverslowdown

inherentjob size

. . .

𝑑𝑑𝑘𝑘𝜆𝜆

𝑘𝑘 𝑟𝑟𝑒𝑒𝑟𝑟𝑠𝑠𝑒𝑒𝑟𝑟𝑟𝑟

Redundancy-d in S&X Model

33

𝜆𝜆 = 0.3 𝜆𝜆 = 0.7

(simulation results: k = 1000 servers)

22

1~ , E[X] = , C 1, 10, 1004.7 XX H =

~ Dolly empirical, [ ] 4.7S E S =

4

2

0

1

3

5E[T]

d1 10 20 30 40 50

𝐶𝐶𝑋𝑋2 = 100

𝐶𝐶𝑋𝑋2 = 10

𝐶𝐶𝑋𝑋2 = 1

4

2

0

1

3

5E[T]

d1 3 5 7 9

𝐶𝐶𝑋𝑋2 = 100

𝐶𝐶𝑋𝑋2 = 10

𝐶𝐶𝑋𝑋2 = 1

34

Issues

1. Robustness: Replication can create overload in S&X modelVery sensitive to “right d”

2. Analytic Intractability:Can’t analyze Redundancy-d in S&X model(our results are from simulation)

We propose one solution for both issues34

35

Solution: RIQ algorithm

+ Limits extra load No overload & More robust

+ Analytically tractable (approximately)

S∀server

slowdowninherentjob size

X∀cancellation

cost

Z∀

36

Replicate-to-Idle-Queue (RIQ)

RIQ intuition:Only adding load if

system can “take it.”

Arrival queries 𝑑𝑑 random queueso Replicate at all idle servers of do If none idle, pick random queue of d

RIQ policy:

. . .

𝑑𝑑 = 2

RIQ analysis:Replicas only affect first runtime in busy period M/G/1/efs

37

RIQ Analysis Sketch

[ | find 1 idle server]E T ≥ [ | find all servers busy]E T

[ ]E T1 dρ− dρ

Pr{Server is busy}ρ =

Asymptotic Assumption:queues are independentlybusy with probability ρ(recall d « k)

Arrival queries 𝑑𝑑 random queues (d « k)o If 𝑡𝑡 > 0 idle replicate at all 𝑡𝑡o If all busy go to random queue

RIQ policy:

38

RIQ Analysis Sketch

[ ( )]E R i[ | find all servers busy]E T

[ ]E Tdρ

Pr{Server is busy}ρ =

Asymptotic Assumption:queues are independentlybusy with probability ρ

Arrival queries 𝑑𝑑 random queueso If 𝑡𝑡 > 0 idle replicate at all 𝑡𝑡o If all busy go to random queue

RIQ policy:

[ (1)]E R

[ ( )]E R d

[ (2)]E R ( )(1 )i d idi ρ ρ −−

1 2( ) min( , ,..., )iS SR S Xi = ⋅𝑅𝑅𝑅𝑅𝑒𝑒𝑡𝑡𝑡𝑡𝑡𝑡𝑒𝑒 𝑟𝑟𝑒𝑒 𝑡𝑡 𝑟𝑟𝑒𝑒𝑟𝑟𝑠𝑠𝑒𝑒𝑟𝑟𝑟𝑟

38

39

RIQ Analysis Sketch

[ | find all servers busy]E T

[ ]E Tdρ

Pr{Server is busy}ρ =[ (1)]E R

[ (2)]E R

[ ( )]E R d𝑡𝑡 > 0 Iidle

servers job goes to random queue

≡RandomQueue M*/G/1/efs

( ) 11 w.p. (1 )first 1( ) i d idiG R i ρ ρ− −− −−=

rest (1)G R=

40

RIQ Analysis Sketch

[ | find all servers busy]E T

[ ]E Tdρ

Pr{Server is busy}ρ =[ (1)]E R

[ (2)]E R

[ ( )]E R d𝑡𝑡 > 0 Iidle

servers job goes to random queue

≡RandomQueue M*/G/1/efs

( ) 11 w.p. (1 )first 1( ) i d idiG R i ρ ρ− −− −−=

rest (1)G R= idledkk

λ λ= ⋅

1 busy

1ddkk d

λ λ ρ −= ⋅ ⋅ ⋅

41

20.3 1 XCλ = =

4

2

01

3

E[T]

d1 10 20 30 40 50

1.2

0.8

0

0.4

E[T]

d1 10 20 30 40 50

4

2

01

3

E[T]

d1 4 7 10 13

4

2

01

3

E[T]

d1 4 7 10 13

20.3 10XCλ = = 20.7 10XCλ = =

20.7 1 XCλ = =

RIQRIQ

RIQRIQ

Redundancy-d Redundancy-d

Redundancy-d Redundancy-d

1000 servers k =S&X

4

2

01

3

E[T]

d1 4 7 10 13

20.7 1 XCλ = =

RIQ

Redundancy-d

E[T]

4

2

01

3

1

5

6( 1)Thm: [ ] [ ] [ ], RIQ RIQ d

eE T E T E R d=≤ + ∀

Upper Bound on RIQ

d

RIQ

200 400 600 800 1000(d=k) 42

Dispatcher

jobs (tasks)

Conclusion 1/4

Classic task assignmentpolicies are inadequatein light of high server-side variability

NEED REDUNDANCY!

43

Conclusion 2/4 Traditional redundancy analysis,

based on Independent Runtime Model, can lead to misleading conclusions.

“More redundancyis always better”

E[T]

d

44

. . .𝑑𝑑

. . .

𝑘𝑘𝜆𝜆

k servers

µExpµExpµExpµExp

Redundancy-d

Conclusion 3/4 Introduce S&X model

Show via simulation thatS&X leads to bathtubs

. . .

𝑑𝑑. . .𝑘𝑘𝜆𝜆

𝑘𝑘 𝑟𝑟𝑒𝑒𝑟𝑟𝑠𝑠𝑒𝑒𝑟𝑟𝑟𝑟

serverslowdown

inherentjob size

Redundancy-d in S&X

E[T]

d

Redundancy-d

Not robust!Also, not analytically tractable, so can’t find “right” 𝑑𝑑

45

Conclusion 4/4

Arrival queries 𝑑𝑑 random queues

o Replicate at all idle servers of do If none idle, pick random queue of d

Replicate-to-Idle-Queue policy: Introduced RIQ policy

Analytically tractable

in S&X model

RIQ never in overload

Safe S&X

E[T]

d

RIQ

Redundancy-d

RIQ bound

46

Open questions on Replication

Other replicationalgorithms

“Replicate only small jobs” [Dolly] “Delay before replicating”

[LATE, Mantri, Hopper] “Reserve servers for replicas”

More sophisticated models Jobs composed of multiple tasks Heterogeneous servers Correlated server slowdowns

between consecutive jobs

Math questions

Convexity of E[T] vs. d curve? What is the instability region

for Redundancy-d? When does redundancy

beat no redundancy?

Please email: [email protected]

Scheduling/Fairness PS queues Priority queues (kidneys) Class-based redundancy:

Pricing for redundancy Which class to

schedule first

47

REFERENCESS&X Model + RIQ Algorithm

IRM Model + Redundancy-d Algorithm

IRM Model + Class-based Redundancy

Kristen Gardner, Sam Zbarsky, Sherwin Doroudi, Mor Harchol-Balter, Esa Hyytia, Alan Scheller-Wolf. ``Queueing with redundant requests: exact analysis.'' QueueingSystems: Theory and Applications , vol. 83, no. 3, pp. 227-259, 2016.

Kristen Gardner, Sam Zbarsky, Sherwin Doroudi, Mor Harchol-Balter, Esa Hyytia, Alan Scheller-Wolf. ``Reducing Latency via Redundant Requests: Exact Analysis.'' SIGMETRICS 2015.

Kristen Gardner, Mor Harchol-Balter, Alan Scheller-Wolf, Mark Velednitsky, Sam Zbarsky. ``Redundancy-d: The Power of d Choices for Redundancy'' Operations Research, vol. 65, no. 4, pp. 1078-1094.

Kristen Gardner, Mor Harchol-Balter, Alan Scheller-Wolf. ``A Better Model for Job Redundancy: Decoupling Server Slowdown and Job Size."In MASCOTS 2016. Later Version: Transactions on Networking, vol. 25, no. 6, pp. 3353-3367, 2017.