things i thought i knew about queueing theory, but was wrong about (part 2, service queues )

33
Page 1 Alan Scheller-Wolf Lunteren, The January 16, 2013 Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues) Alan Scheller-Wolf Tepper School of Business Carnegie Mellon University Joint work with Ying Xu and Katia Sycara

Upload: bono

Post on 25-Feb-2016

51 views

Category:

Documents


1 download

DESCRIPTION

Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues ). Alan Scheller-Wolf Tepper School of Business Carnegie Mellon University Joint work with Ying Xu and Katia Sycara. A Great Day . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 1January 16, 2013

Things I Thought I Knew about Queueing Theory, but was Wrong

About (Part 2, Service Queues)

Alan Scheller-WolfTepper School of Business Carnegie Mellon University

Joint work with Ying Xu and Katia Sycara

Page 2: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Page 2Alan Scheller-Wolf Lunteren, The

Netherlands

January 15, 2013

A Great Day

As an advisor, one of the greatest things that can happen is the following:Student: “I can prove that XXX is true!”Advisor: “That can’t be right; everyone knows YYY is true.”Student: “I know, but I can prove it.”Advisor: “There must be a bug, show me.”Time passes...Advisor: “Huh, you are right, XXX is true!”

Page 3: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Page 3Alan Scheller-Wolf Lunteren, The

Netherlands

January 15, 2013

My Goals

• Take you through “my great day” as an advisor• Help you understand why everyone believed YYY• Help you understand, mathematically, why XXX is

true• Help you see why, intuitively, XXX “has to be

true”• Discuss what general insights this gives

Page 4: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 4January 16, 2013

Quality Based Services (I)

• What are quality-based services?– Services in which longer service times generate

greater value– Why greater value?

• For customer: – Better quality of service, e.g. diagnostic accuracy

(e.g. Alizamir, de Vericourt and Sun, 2012; Wang et al. 2007, 2012)

• For firm: – Revenue generation (e.g. Ren and Zhou, 2008)

Page 5: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 5January 16, 2013

Quality Based Services (II)

• Examples of quality based services:– Health care– Call centers– Personal services– Education / Consulting– Others…

• OK, so why not just extend service times indefinitely?– Customers Don’t Like to Wait! (Duh!)

Page 6: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 6January 16, 2013

The Central Problem

Leisurely Service

ShortWait

SPEED-QUALITY TRADE-OFF

PROVIDE VALUE WITHOUT TOO MUCH WAIT

Lovejoy and Sethuraman (2000); task completion with deadlines

Page 7: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 7January 16, 2013

Providing Value Without Too Much Wait

• How?– Simple: Speed up when busy, slow down when not

• Dynamic (state dependent) control– Crabill (1972,1974)– Stidham and Weber (1989)– George and Harrison (2001)– Ata and Shneorson (2006)– Hopp et al. (2007)

Page 8: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 8January 16, 2013

But What if a Dynamic Policy is Unrealistic?

• Why?– State information is expensive or difficult to get

• Heyman (1977), Harchol-Balter et al. (2003)– Service provision agreements may be customer-

chosen or pre-sold• Then we must use a static (state-independent)

policy– This is a lower bound for the optimal dynamic

policy performance

Page 9: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 9January 16, 2013

Let’s Take a Closer Look at the Static Case

• Why would you ever want to offer a variable service rate if you cannot use information on the state (congestion)?

• Maybe we have heterogeneous customers: Some value longer service more, others shorter waits– Mendelson and Whang (1990); M/M/1 pricing– Rao and Petersen (1998); M/M/1 pricing, class choice– Van Mieghem (2000); heavy traffic, Gcm– Gurvich and Whitt (2010); FQR routing for SL’s

Page 10: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 10January 16, 2013

OK, What About Static Service and Homogeneous Customers?

• I could still offer variable service, but why? How?– I can’t use system information– I can’t take advantage of heterogeneous customer

preferences

• And increasing variability in the system would increase delay– This is basic queueing, right, the PK formula???

Page 11: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 11January 16, 2013

No!

• I will use a static policy• For homogeneous customers• I will randomly assign the arriving customers

different grades, based on service rate– With probabilities and rates of my choosing

• And I will perform better than if I provide service of uniform rate

• How? – Let’s see…

Page 12: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 12January 16, 2013

Model

Poisson l BASE Service m

• I can assign arriving jobs different service rates m1>m2>...>mK

• But I must do so randomly, with probabilities p1, p2, …, pK

• I am in effect scaling the service distribution• Each class (or grade) arrives Poisson(lpk)

Single Server Queue

Page 13: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 13January 16, 2013

Service Discipline

• Assume non-preemptive policy r– Allowing preemption is, in general, a mess!

• So I have an M/G/1 queue with service discipline r

Page 14: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 14January 16, 2013

Performance Metrics

• Recall our Speed-Quality trade-off:

• Service Value increases with mean service time

• Delay cost increases with mean waiting time• Assume both of these are linear for now

Leisurely Service

ShortWait

Page 15: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 15January 16, 2013

Objective

• Service Value is only a function of m and p• Delay Cost is a function of m, p, and r

V(m,p,r) = l{u Sk - h Skpkwk(m,p,r)}pkmk

Page 16: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 16January 16, 2013

Results

• We first show that providing mixed service (K>1) is superior to providing pure service (K=1)

• How?– The key is r– We will take advantage of the variability we inject

into the system

– We will take advantage of the information we inject into the system with the variability

or

Page 17: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 17January 16, 2013

The Optimal Scheduling Rule

• We have a non-preemptive system• Rule must be independent of state• Rates are ordered: m1>m2>…>mK

Schedule according to SEPT

for ANY m and p

Page 18: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 18January 16, 2013

But Will This Really Work?

• I can use the heterogeneous rates to schedule short jobs before long ones

• But it is still hard to believe that it is beneficial to inject variability just so I can use SEPT!

Page 19: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 19January 16, 2013

Dominance Result (I)

• Let’s compare K=1 with K=2• Further, let’s assume

• What does this mean?

p1m1

p2m2

+ =1m

Mean service time is the same in both systems

Page 20: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 20January 16, 2013

Dominance Result (II)

• Algebra and basic formulae yield:

• Can we make this < 1?• Yes, if

p1m1

p2m2

+=E[w2]E[w1]

( m2

1-r1) (1-p1r)

m1m2

1(1-r)

<

When can we ensure this holds?

Always!We pick the m’s!

Page 21: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Page 21Alan Scheller-Wolf Lunteren, The

Netherlands

January 16, 2013

Dominance Result (III)

• But what about the service value?• Since

Service values are the same…• So result holds even if not quality based

service!

p1m1

p2m2

+ =1m

Page 22: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 22January 16, 2013

Dominance Result (IV)

• What does this condition do?

• Constrains difference in service rates (or variability to inject)

• As load increases, I have more freedom…• Result extends to comparing k and k+1classes

m1m2

1(1-r)

<

It is always beneficial to add another service class

Page 23: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 23January 16, 2013

Optimal Policy for a Given K

• Now assume we are unconstrained• Lemma: Under optimal policy,

pkwk = pk+1wk+1 (we balance waiting time costs by class)

• And

• So, if we fix K and r all other parameters are determined!

pk+1pk

mk+1mk

= =( )2 rk+1rk

=( )2 (1-r)1/K

Page 24: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 24January 16, 2013

How Do We Find Optimal r?

• FOC:

• What do you notice r does NOT depend on?

l (!)

u(1-r)+CK{(1-r)1/K – (1-r)-1/K}=0

hm2E[X2]2

C =

Page 25: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 25January 16, 2013

What does this mean?

• Since the server has the flexibility to set the service rates, it can always recover the optimal r no matter what l it faces.

• Similarly, if Skpk < 1, system can likewise adjust service rates and recover optimal value

Page 26: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 26January 16, 2013

Numerical Results: Benefit of Variability

Page 27: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 27January 16, 2013

Numerical Results: Relative Performance of Different Grades

Shortest jobs:Most likely;

Shortest wait;Smallest utility

Longest jobs:Least likely;

Longest wait;Largest utility

Page 28: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 28January 16, 2013

Extensions (I)

• We assumed linear service value and delay cost functions

• Results extend to convex value and linear cost– Convex service value just helps us

• There exist concave value and linear cost that satisfy– Concave service value works against us

• Non-linear cost makes waiting cost terms intractable.

Page 29: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 29January 16, 2013

Extensions (II)

• We assumed non-preemptive scheduling– If assume preempt-resume and exponential

service, results extend.

• In general, if non-exponential service, optimal scheduling policy will depend on age of job in service, and could be arbitrarily complex (like TAGS)

Page 30: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 30January 16, 2013

Conclusions (I)

• For quality-based services it is beneficial to introduce variability in service times

• Even if:– You must make decisions statically– Customers are homogeneous– Customers do not care about quality

• It is always beneficial to add service grades

Page 31: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 31January 16, 2013

Conclusions (II)

• The optimal policy is insensitive to l and whether or not you reject jobs

• Optimal parameters have a geometric structure– If parameters don’t have a geometric

structure, then adjusting them can reduce delay, without adding any more classes (or information).

• Asymptotic benefit is about 5% at most

Page 32: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Alan Scheller-Wolf Lunteren, The Netherlands

Page 32January 16, 2013

Dank U!

Any Questions?

Page 33: Things I Thought I Knew about Queueing Theory, but was Wrong About (Part 2, Service Queues )

Page 33Alan Scheller-Wolf Lunteren, The

Netherlands

January 15, 2013

Dank U!

Any Questions?