Omnithermal perfect simulation for M / G / c queues Stephen Connor - - PowerPoint PPT Presentation

omnithermal perfect simulation for m g c queues
SMART_READER_LITE
LIVE PREVIEW

Omnithermal perfect simulation for M / G / c queues Stephen Connor - - PowerPoint PPT Presentation

Omnithermal perfect simulation for M / G / c queues Stephen Connor stephen.connor@york.ac.uk MCQMC, Stanford August 2016 Dominated CFTP Queues Omnithermal Dominated CFTP in a nutshell Suppose that were interested in simulating from


slide-1
SLIDE 1

“Omnithermal” perfect simulation for M/G/c queues

Stephen Connor stephen.connor@york.ac.uk MCQMC, Stanford August 2016

slide-2
SLIDE 2

Dominated CFTP Queues Omnithermal

Dominated CFTP in a nutshell

Suppose that we’re interested in simulating from the equilbrium distribution of some ergodic Markov chain X. Think of a (hypothetical) version of the chain, ˜ X, which was started by your (presumably distant) ancestor from some state x at time −∞: at time zero this chain is in equilibrium: ˜ X0 ∼ π; dominated CFTP (domCFTP) tries to determine the value of ˜ X0 by looking into the past only a finite number of steps; do this by identifying a time in the past such that all earlier starts from x lead to the same result at time zero.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 2 / 18

slide-3
SLIDE 3

Dominated CFTP Queues Omnithermal

Basic ingredients: dominating process

draw from equilibrium simulate backwards in time

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 3 / 18

slide-4
SLIDE 4

Dominated CFTP Queues Omnithermal

Basic ingredients: dominating process

draw from equilibrium simulate backwards in time

sandwiching

Lowerlate Lowerearly . . . Target . . . Upperearly Upperlate

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 3 / 18

slide-5
SLIDE 5

Dominated CFTP Queues Omnithermal

Basic ingredients: dominating process

draw from equilibrium simulate backwards in time

sandwiching

Lowerlate Lowerearly . . . Target . . . Upperearly Upperlate

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 3 / 18

slide-6
SLIDE 6

Dominated CFTP Queues Omnithermal

Basic ingredients: dominating process

draw from equilibrium simulate backwards in time

sandwiching

Lowerlate Lowerearly . . . Target . . . Upperearly Upperlate

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 3 / 18

slide-7
SLIDE 7

Dominated CFTP Queues Omnithermal

Basic ingredients: dominating process

draw from equilibrium simulate backwards in time

sandwiching

Lowerlate Lowerearly . . . Target . . . Upperearly Upperlate

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 3 / 18

slide-8
SLIDE 8

Dominated CFTP Queues Omnithermal

Basic ingredients: dominating process

draw from equilibrium simulate backwards in time

sandwiching

Lowerlate Lowerearly . . . Target . . . Upperearly Upperlate

coalescence eventually a Lower and an Upper process must coalesce

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 3 / 18

slide-9
SLIDE 9

Dominated CFTP Queues Omnithermal

M/G/c queue

Customers arrive at times of a Poisson process: interarrival times Tn ∼ Exp(λ) Service durations Sn are i.i.d. with E [S] = 1/µ (and we assume that E

  • S2

< ∞) Customers are served by c servers, on a First Come First Served (FCFS) basis Queue is stable iff λ/µ < c, and super-stable if λ/µ < 1.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 4 / 18

slide-10
SLIDE 10

Dominated CFTP Queues Omnithermal

The (ordered) workload vector just before the arrival of the nth customer satisfies the Kiefer-Wolfowitz recursion: Wn+1 = R(Wn + Snδ1 − Tn1)+ for n ≥ 0

add workload Sn to first coordinate of Wn (server currently with least work) subtract Tn from every coordinate (work done between arrivals) reorder the coordinates in increasing order replace negative values by zeros.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 5 / 18

slide-11
SLIDE 11

Dominated CFTP Queues Omnithermal

domCFTP for M/G/c queues

Sigman (2011) showed how to do this for super-stable queues:

(stable) M/G/1 can be simulated in reverse-time by changing to processor-sharing discipline so identify time τ < 0 when M/G/1 is empty, and then use path of M/G/1 to dominate M/G/c over [τ, 0]

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 6 / 18

slide-12
SLIDE 12

Dominated CFTP Queues Omnithermal

domCFTP for M/G/c queues

Sigman (2011) showed how to do this for super-stable queues:

(stable) M/G/1 can be simulated in reverse-time by changing to processor-sharing discipline so identify time τ < 0 when M/G/1 is empty, and then use path of M/G/1 to dominate M/G/c over [τ, 0]

  • C. & Kendall (2015) extended this to stable M/G/c:

dominate M/G/c [FCFS] by M/G/c [RA], where RA = Random Assignment important to assign service duration Sn to the nth initiation of service in order to maintain sample-path domination two possible algorithms presented . . .

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 6 / 18

slide-13
SLIDE 13

Dominated CFTP Queues Omnithermal

Algorithm 1: wait for dominating process to empty

1 Simulate M/G/c [RA] backwards, in equilibrium, until it

empties at time τ < 0

8 6 4 2 1 2 3 4 5 6 7

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 7 / 18

slide-14
SLIDE 14

Dominated CFTP Queues Omnithermal

Algorithm 1: wait for dominating process to empty

1 Simulate M/G/c [RA] backwards, in equilibrium, until it

empties at time τ < 0

2 Use this to evolve an M/G/c [FCFS] process, over [τ, 0],

started from empty

3 Return X0

8 6 4 2 1 2 3 4 5 6 7

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 7 / 18

slide-15
SLIDE 15

Dominated CFTP Queues Omnithermal

Algorithm 1: wait for dominating process to empty

1 Simulate M/G/c [RA] backwards, in equilibrium, until it

empties at time τ < 0

2 Use this to evolve an M/G/c [FCFS] process, over [τ, 0],

started from empty

3 Return X0

8 6 4 2 1 2 3 4 5 6 7

(Simple, but inefficient!)

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 7 / 18

slide-16
SLIDE 16

Dominated CFTP Queues Omnithermal

Algorithm 2: backoff and sandwich

1 Set T = −1. 2 Generate a path of a stationary M/G/c [RA] process Y over

[T, 0]

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 8 / 18

slide-17
SLIDE 17

Dominated CFTP Queues Omnithermal

Algorithm 2: backoff and sandwich

1 Set T = −1. 2 Generate a path of a stationary M/G/c [RA] process Y over

[T, 0]

3 Construct upper and lower sandwiching processes, U and L:

these are workload vectors of M/G/c [FCFS] queues L starts from empty U is instantiated using residual workloads from YT

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 8 / 18

slide-18
SLIDE 18

Dominated CFTP Queues Omnithermal

Algorithm 2: backoff and sandwich

1 Set T = −1. 2 Generate a path of a stationary M/G/c [RA] process Y over

[T, 0]

3 Construct upper and lower sandwiching processes, U and L:

these are workload vectors of M/G/c [FCFS] queues L starts from empty U is instantiated using residual workloads from YT

4 Check for coalescence of workload vectors; if L(0) = U(0)

then set T ← 2T and return to step 2 (binary backoff). Else return U(0).

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 8 / 18

slide-19
SLIDE 19

Dominated CFTP Queues Omnithermal

Algorithm 2: backoff and sandwich

1 Set T = −1. 2 Generate a path of a stationary M/G/c [RA] process Y over

[T, 0]

3 Construct upper and lower sandwiching processes, U and L:

these are workload vectors of M/G/c [FCFS] queues L starts from empty U is instantiated using residual workloads from YT

4 Check for coalescence of workload vectors; if L(0) = U(0)

then set T ← 2T and return to step 2 (binary backoff). Else return U(0). (Much more efficient!)

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 8 / 18

slide-20
SLIDE 20

Dominated CFTP Queues Omnithermal

Omnithermal domCFTP

Question Is it possible to carry out domCFTP simultaneously for systems with varying numbers of servers? In other words, can we use our algorithm for the c-server system to also obtain perfect draws for the M/G/(c + j) system, for j = 1, 2, . . . ?

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 9 / 18

slide-21
SLIDE 21

Dominated CFTP Queues Omnithermal

Omnithermal domCFTP

Question Is it possible to carry out domCFTP simultaneously for systems with varying numbers of servers? In other words, can we use our algorithm for the c-server system to also obtain perfect draws for the M/G/(c + j) system, for j = 1, 2, . . . ? This is trivial if we use Algorithm 1: once we have identified τ < 0 at which the M/G/c [RA] is empty, we can (carefully) run the M/G/(c + j) [FCFS] from empty at time τ. But what about using Algorithm 2?

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 9 / 18

slide-22
SLIDE 22

Dominated CFTP Queues Omnithermal

Suppose that we have implemented Algorithm 2 with c servers: call the upper and lower M/G/c [FCFS] bounding processes used Uc and Lc respectively; recall that Lc is started from empty, and that Uc is instantiated using residual workloads from the dominating RA process at time T < 0.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 10 / 18

slide-23
SLIDE 23

Dominated CFTP Queues Omnithermal

Suppose that we have implemented Algorithm 2 with c servers: call the upper and lower M/G/c [FCFS] bounding processes used Uc and Lc respectively; recall that Lc is started from empty, and that Uc is instantiated using residual workloads from the dominating RA process at time T < 0. Observation 1 If we instantiate Uc+j

T

using the same set of residual workloads, and define Lc+j

T

= 0, then these FCFS processes will sandwich our M/G/(c + j) process of interest.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 10 / 18

slide-24
SLIDE 24

Dominated CFTP Queues Omnithermal

Suppose that we have implemented Algorithm 2 with c servers: call the upper and lower M/G/c [FCFS] bounding processes used Uc and Lc respectively; recall that Lc is started from empty, and that Uc is instantiated using residual workloads from the dominating RA process at time T < 0. Observation 1 If we instantiate Uc+j

T

using the same set of residual workloads, and define Lc+j

T

= 0, then these FCFS processes will sandwich our M/G/(c + j) process of interest. Moreover, Uc+j

t

(i + j) ≤ Uc

t (i), for i = 1, . . . , c and t ∈ [T, 0].

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 10 / 18

slide-25
SLIDE 25

Dominated CFTP Queues Omnithermal

Suppose that we have implemented Algorithm 2 with c servers: call the upper and lower M/G/c [FCFS] bounding processes used Uc and Lc respectively; recall that Lc is started from empty, and that Uc is instantiated using residual workloads from the dominating RA process at time T < 0. Observation 1 If we instantiate Uc+j

T

using the same set of residual workloads, and define Lc+j

T

= 0, then these FCFS processes will sandwich our M/G/(c + j) process of interest. Moreover, Uc+j

t

(i + j) ≤ Uc

t (i), for i = 1, . . . , c and t ∈ [T, 0].

But will Uc+j and Lc+j necessarily coalesce before time 0?

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 10 / 18

slide-26
SLIDE 26

Dominated CFTP Queues Omnithermal

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 11 / 18

slide-27
SLIDE 27

Dominated CFTP Queues Omnithermal

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 11 / 18

slide-28
SLIDE 28

Dominated CFTP Queues Omnithermal

  • 60
  • 50
  • 40
  • 30
  • 20
  • 10

3 6 9 12 15 18

Let Dc = Uc − Lc; termination of the algorithm means we have established a backoff time T such that Dc hits zero in the interval [T, 0]; write T c for this coalescence time: T c = inf{t > T : Dc

t = 0} < 0 .

We seek conditions (which can be checked using only output from Algorithm 2 for the c-server system) that ensure T c+j ≤ T c.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 11 / 18

slide-29
SLIDE 29

Dominated CFTP Queues Omnithermal

It will be important to consider the set of coordinates in which Uc and Lc agree: Ac

t = {k ≤ c : Dc t (k) = 0} .

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 12 / 18

slide-30
SLIDE 30

Dominated CFTP Queues Omnithermal

It will be important to consider the set of coordinates in which Uc and Lc agree: Ac

t = {k ≤ c : Dc t (k) = 0} .

Now write C c

t for the remaining time (at time t) until coalescence

  • f Uc

t and Lc t under the assumption of no more arrivals:

C c

t = max k / ∈Ac

t

Uc

t (k) = Uc t (mc t )

where mc

t = max {1 ≤ k ≤ c : k /

∈ Ac

t }.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 12 / 18

slide-31
SLIDE 31

Dominated CFTP Queues Omnithermal

It will be important to consider the set of coordinates in which Uc and Lc agree: Ac

t = {k ≤ c : Dc t (k) = 0} .

Now write C c

t for the remaining time (at time t) until coalescence

  • f Uc

t and Lc t under the assumption of no more arrivals:

C c

t = max k / ∈Ac

t

Uc

t (k) = Uc t (mc t )

where mc

t = max {1 ≤ k ≤ c : k /

∈ Ac

t }.

Observation 2 Since (i) C c+j

T

≤ C c

T (ii) C c T c = 0 (iii) C c+j t

= 0 iff Dc+j

t

= 0, we will be assured of coalescence if we can show that C c+j

t

≤ C c

t

for all t ∈ [T, T c].

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 12 / 18

slide-32
SLIDE 32

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-33
SLIDE 33

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-34
SLIDE 34

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-35
SLIDE 35

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-36
SLIDE 36

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-37
SLIDE 37

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-38
SLIDE 38

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-39
SLIDE 39

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-40
SLIDE 40

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-41
SLIDE 41

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-42
SLIDE 42

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-43
SLIDE 43

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-44
SLIDE 44

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-45
SLIDE 45

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-46
SLIDE 46

Dominated CFTP Queues Omnithermal

Evolution of C c

t

Suppose that we see an arrival (in both Uc and Lc) at time t, with associated workload S. if 1 ∈ Ac

t− then arrival does not affect the time to coalescence;

if 1 / ∈ Ac

t− then we will see an increase in the time to

coalescence iff the new service is placed at some coordinate k ≥ mc

t− in Uc.

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 13 / 18

slide-47
SLIDE 47

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Stephen Connor (University of York, UK)

“Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-48
SLIDE 48

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-49
SLIDE 49

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-50
SLIDE 50

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-51
SLIDE 51

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-52
SLIDE 52

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-53
SLIDE 53

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-54
SLIDE 54

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-55
SLIDE 55

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-56
SLIDE 56

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-57
SLIDE 57

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-58
SLIDE 58

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-59
SLIDE 59

Dominated CFTP Queues Omnithermal

It follows that C c

t = max

  • C c

t− , (Uc t−(1) + S)1[1/ ∈Ac

t−]

  • Observation 3

It is not true in general that C c+j

t

≤ C c

t for all t ∈ [T, T c].

1st 2nd

0. 0.5 1. 1.5 2. 2.5 3.

1st 2nd 3rd

0. 0.5 1. 1.5 2. 2.5 3.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 14 / 18

slide-60
SLIDE 60

Dominated CFTP Queues Omnithermal

However... Theorem If no customer arriving during the interval [T, T c] finds 1 ∈ Ac with Uc(1) > 0, then C c+j

t

≤ C c

t for all j ≥ 0 and for all

t ∈ [T, T c]. In particular, T c+j ≤ T c < 0.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 15 / 18

slide-61
SLIDE 61

Dominated CFTP Queues Omnithermal

However... Theorem If no customer arriving during the interval [T, T c] finds 1 ∈ Ac with Uc(1) > 0, then C c+j

t

≤ C c

t for all j ≥ 0 and for all

t ∈ [T, T c]. In particular, T c+j ≤ T c < 0. This gives us a method for performing omnithermal domCFTP:

1 for a given run of Algorithm 2 with c servers, check to see

whether the condition of the Theorem holds. If not, backoff further (T ← 2T) and keep doing this until the condition is satisfied.

2 then run M/G/(c + j) (for any choice of j ≥ 0) over [T, 0]

and return state at time 0.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 15 / 18

slide-62
SLIDE 62

Dominated CFTP Queues Omnithermal

What does this cost?

How expensive is this in practice? Not very! Simulations seem to indicate that the condition is satisfied > 95% of the time In addition, runs in which the condition fails typically don’t require significant extension

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 16 / 18

slide-63
SLIDE 63

Dominated CFTP Queues Omnithermal

What does this cost?

How expensive is this in practice? Not very! Simulations seem to indicate that the condition is satisfied > 95% of the time In addition, runs in which the condition fails typically don’t require significant extension e.g. 5,000 runs of M/M/c with λ = 10, µ = 2 and c = 10: 108 (2.1%) runs needed extending none more than 3 times

4 8 16 32

2

4 8 16 32

4

4 8 16 32

8

10 20 30 40 50 60 70

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 16 / 18

slide-64
SLIDE 64

Dominated CFTP Queues Omnithermal

Extensions

This idea can be applied in other settings.

1 Consider keeping c fixed, but increasing the rate at which

servers work (this corresponds to decreasing the arrival rate). Same analysis as above holds.

2 Moreover, there’s no need to restrict attention to Poisson

arrivals! Blanchet, Pei & Sigman (2015) show how to implement domCFTP for GI/GI/c queues, again using a random assignment dominating process.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 17 / 18

slide-65
SLIDE 65

Dominated CFTP Queues Omnithermal

Conclusions

It is highly feasible to produce perfect simulations of stable GI/GI/c queues using domCFTP Furthermore, with minimal additional effort this can be accomplished in an omnithermal way, allowing us to simultaneously sample from the equilibrium distribution when

using c + j servers, j = 1, 2, . . . increasing the service rate

  • r both.

Stephen Connor (University of York, UK) “Omnithermal” perfect simulation for M/G/c queues 18 / 18