Top Banner
Performance Evaluation of Queueing Networks - Outline Introduction - networks of queues are the example family of systems to be studied Deterministic models including network calculus Review of elements of probability & statistical confidence, overview of simulation Stationary (and ergodic and stable) models Markovian models in continuous and discrete time Parallel and distributed processing, fork-join queues Markov decision processes Constrained optimization and duality with examples December 1, 2017 George Kesidis 1
359

Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Jun 15, 2018

Download

Documents

LêAnh
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: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Performance Evaluation of Queueing Networks - Outline

• Introduction - networks of queues are the example family of systems to be studied

• Deterministic models including network calculus

• Review of elements of probability & statistical confidence, overview of simulation

• Stationary (and ergodic and stable) models

• Markovian models in continuous and discrete time

• Parallel and distributed processing, fork-join queues

• Markov decision processes

• Constrained optimization and duality with examples

« December 1, 2017 George Kesidis

1

Page 2: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Performance Evaluation of Queueing Networks - Outline (cont)

• Queueing system models have been used in a wide range of applications including com-puter/communication networking, computation, supply chain and logistics.

• The focus of this course will be (unambiguous) theoretical derivations of performance ob-jectives based on models of queueing system and their workloads.

• To this end, we will review the basic, relevant elements of probability theory.

• We will also discuss performance evaluation based on simulation.

• Simulation is useful when system or workload complexity precludes simple models that leadto close-form analytical results for the performance objectives.

• We also will review the use of statistical confidence when reporting the results of a simulationstudy.

« December 1, 2017 George Kesidis

2

Page 3: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Performance Evaluation of Queueing Networks - Outline (cont)

• In the following, our approach to performance evaluation will be to will consider models ofincreasing detail:

1. deterministic, including worst-case analysis

2. stationary and ergodic

3. stationary Markovian

• We will demonstrate how increased model complexity (assumed suitable for the physicalsystem under consideration) leads to more refined and detailed performance results.

• We will not consider non-Markovian stochastic models such as self-similar models exhibitinglong-range dependence.

• Also, we will not consider stochastic models that are time-varying nor those that possessdeterministic (e.g., time-of-day/day-of-week) trends.

« December 1, 2017 George Kesidis

3

Page 4: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Deterministic models of queues and queuing networks

• Arrivals, departures and queue occupancy

• Traffic shaping - token buckets, service curves

• Flow scheduling

• Network calculus

• Dynamic routing

« December 1, 2017 George Kesidis

4

Page 5: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Queues - preliminaries

• A queue or buffer is simply a waiting room with an identified arrival process and departure(completed ”jobs”) process.

• Work is performed on jobs by servers according to a service policy.

• In some applications, jobs arriving to the queue will be packets of information; in others,the arrivals will represent calls attempting to be set-up in the network.

• Some jobs may be blocked from entering the queue (if the queue’s waiting room is full) orjoin the queue and be expelled from the queue before reaching the server.

• For jobs reaching the server, their queueing delay plus service time is called their sojourntime, i.e., the time between the arrival of the job to the queue and its departure from theserver.

• We will consider queues that serve jobs in the order of their arrival known as first come,first serve (FCFS) or first in, first out (FIFO).

« December 1, 2017 George Kesidis

5

Page 6: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Arrivals, departures, and queue occupancy

• Over the time interval (0, t], the counting process

– A(0, t] | t ∈ R+ represents the number of jobs arriving at the queue,

– D(0, t] | t ∈ R+ represents the number of departures from the queue,

– L(0, t] | t ∈ R+ represents the number of jobs blocked (lost) upon arrival.

• Let Q(t) be the number of jobs in the queueing system at time t; i.e.,

– the occupancy of the queue plus the number of jobs being served at time t;

– including the arrivals at t but not the departures at t.

• We assume no jobs with zero sojourn time.

« December 1, 2017 George Kesidis

6

Page 7: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Arrivals, departures, and queue occupancy (cont)

• Clearly, a previously ”arrived” job is either queued or has departed or has been blocked, i.e.,

Q(0) +A(0, t] = Q(t) +D(0, t] + L(0, t].

• If we take the origin of time to be −∞, we can simply write

Q(t) = A(−∞, t]−D(−∞, t]− L(−∞, t].

« December 1, 2017 George Kesidis

7

Page 8: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Basic assumptions

• We’ll typically assume that:

– Servers are nonidling (or ”work conserving”) in that they are busy whenever Q(t) > 0.

– A job’s service cannot be preempted by another job.

– Jobs may only be blocked upon arrival to a queue.

– All servers associated with a given queue work at the same, constant rate (otherwise,need to define the work each job brings).

• Thus, we can unambiguously define Si to be the service time required by the ith job.

• In addition, each job i will have the following two quantities associated with it:

– its arrival time to the queueing system Ti, assumed to be a nondecreasing sequence ini (∀i, Ti ≤ Ti+1), and

– its departure (service completion) time from the server Vi if the job is not lost (blockedupon arrival).

« December 1, 2017 George Kesidis

8

Page 9: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Queue workload (not blocked jobs)

• Let Ri(t) be the residual amount service time required by the ith job at time t.

• Clearly, 0 ≤ Ri(t) ≤ Si for all i, t; Ri(t) = 0 for t > Vi; Ri(t) = Si for t < Vi − Si.

• The total work-to-be-done (or workload) at time t, W(t), is simply the sum of the servicetimes of all queued jobs and residual service times of all jobs being served at time t.

• For jobs i that are not lost (i.e., not dropped upon arrival), let Vi be the departure time ofthe job from the server.

• Clearly, Vi−Si is the time at which the ith job enters a server and, for all t and i ∈ JS(t),

Ri(t) = Vi − t.

• Clearly, a job i is in the queue but not in service if Ti ≤ t < Vi − Si.

VitVi − SiTi

Si

Ri(t)

« December 1, 2017 George Kesidis

9

Page 10: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Parameterizing queue arrival and departure processes

• The arrival process A is parameterized above as Ti, Sii∈Z or Z+.

• The queueing discipline determines how jobs are enqueued and in which order they areserved (dequeued), i.e., the dynamics of queue Q and workload W processes.

• The departure process D, parameterized by Vi, Si is determined by both the queueingdiscipline and the arrival process.

• For a given arrival process and queueing discipline, we are typically interested in determiningthe ”system” processes Q and W only in terms of the arrival parameters, i.e., not usingthe departure times Vi as these may not be known a priori.

« December 1, 2017 George Kesidis

10

Page 11: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Lossless queues

• Now assume the queue we have just introduced is lossless, i.e., L(−∞, t] = 0 for all t.

• Define the indicator 1B = 1 if B is true, else = 0. Since,

A(s, t] =∑

i

1Ti ∈ (s, t], and D(s, t] =∑

i

1Vi ∈ (s, t],

we get (by recalling ∀i, Vi > Ti by assumption) that

Q(t) = A(−∞, t]−D(−∞, t] =∑

i

1Ti ≤ t < Vi.

• The sojourn time is the total delay experienced by the ith job, Vi − Ti, i.e., the departuretime minus the arrival time.

• Again, this sojourn time consists of two components: the queueing delay, Vi − Ti − Si,plus the service time, Si.

• Expressions will be derived for quantities of interest such as the number of jobs in the queue,the workload, and job sojourn times.

• The objective is to express quantities of interest in terms of the job arrival times and servicetimes alone.

« December 1, 2017 George Kesidis

11

Page 12: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The case of no waiting room

• Suppose the queueing system consists only of the servers and no waiting room.

• Thus, if the job flow is demultiplexed (demux’ed) to one of K servers, the queueing systemcan only hold K jobs at any given time.

• Since the system is assumed lossless: for all jobs i,

Vi = Ti + Si

• Since there are infinitely many servers (K =∞), the system is always lossless and so thenumber of jobs queued and the workload are

Q(t) =∑

i

1Ti ≤ t < Ti + Si =∑

i

1Ti ∈ (t− Si, t]

W(t) =∑

i

1Ti ∈ (t− Si, t]Ri(t)

• In the following figure, note how the negative slope of the workload sample path is propor-tional to the number of jobs currently queued.

« December 1, 2017 George Kesidis

12

Page 13: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The case of no waiting room - example sample path

2

3

...

...

1

4

S1

S1

S2S3

W (t)

Q(t)

T1 T2 T3V2V1

t

t

S2

« December 1, 2017 George Kesidis

13

Page 14: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The case of a lossless single-server queue

arriving jobs departing jobs

serverwaiting room

• Now suppose that the queue has a waiting room and only a single server.

• Clearly, if the waiting room was infinite in size, the queue would be lossless irrespective ofthe job arrival and service times.

• For the following example sample path, note that upon arrival of the ith job at time Ti, Qincreases by 1 and W increases by Si.

• The process Q is piecewise constant and, due to the action of the server, W(t) has zerotime derivative if Q(t) = 0 (i.e., W is constant) and otherwise has time derivative −1for any t that is not a job arrival time.

• Upon departure of the ith job, Q decreases by 1.

« December 1, 2017 George Kesidis

14

Page 15: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The case of a lossless single-server queue - example sample path

2

3

4

1

...

...

t

t

W (t)

Q(t)

S1S2

S3

T1 T2 T3 V1

« December 1, 2017 George Kesidis

15

Page 16: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Lossless single-server queue: Departure-times recursion

• Theorem: For a work-conserving, single-server, lossless FIFO queue, the ith job’s departuretime

Vi = maxVi−1, Ti+ Si

for all jobs i ∈ Z+, where V0 ≡ 0.

• Proof: For the ith job arriving at the lossless queue, there are two cases.

• If Ti > Vi−1, then:

– job i− 1 has already departed the queue by time Ti.

– So, Q(Ti−) = 0 and,

– when the ith job joins the queue, it immediately enters the server.

– So, it departs Si seconds after it arrives, i.e., Vi = Ti + Si.

• On the other hand, if Ti ≤ Vi−1,

– job i− 1 is present in the queue (and immediately ahead of the ith job) when the ith

job joins the queue.

– Thus, the ith job will depart the queue Si seconds after job i−1, i.e., Vi = Vi−1+Si.

« December 1, 2017 George Kesidis

16

Page 17: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Lossless single-server queue: Departure-times recursion (cont)

• Note that, by subtracting Ti from both sides of the departure-times recursion, we get astatement involving the sojourn times Vi − Ti and the interarrival times Ti − Ti−1:

Vi − Ti = maxVi−1 − Ti, 0+ Si

= max(Vi−1 − Ti−1)− (Ti − Ti−1), 0+ Si,

where T0 ≡ 0.

• An immediate consequence of the FIFO nature of a single-server queue is this relation toworkload:

Vi = Ti +W(Ti).

• Again, here we take the work brought by each job i, Si, as its required service time.

• Also note that the time at which the ith job enters the server is

maxVi−1, Ti

« December 1, 2017 George Kesidis

17

Page 18: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single server and constant service times

• Suppose each job requires the same amount of service, i.e., for some constant c > 0,Si = 1/c for all i.

• So, the service rate of any server can be described as c jobs per second. Further supposethat the (assumed lossless) queue has a waiting room.

• Because each job contributes c−1 to workload upon its arrival, the number of jobs in thesystem in terms of the workload is, ∀t,

Q(t) = ⌈cW(t)⌉ .

• That is,

1

c(Q(t)− 1)+ < W(t) ≤ 1

cQ(t)

recalling that W(t) and Q(t) include the work arriving at time t.

• So, Q(t) = ⌈cW(t)⌉ follows because Q(t) is integer valued.

« December 1, 2017 George Kesidis

18

Page 19: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Max-plus expression for workload

• Theorem: For a work-conserving, single-server, lossless, initially empty (W(0) = 0 )FIFO queue with constant service times,

W(t) = max0≤s≤t

(

1

cA[s, t]− (t− s)

)

for all times t ≥ 0, where the maximizing value of s is t if W(t) = 0, else the startingtime of the busy period containing t.

« December 1, 2017 George Kesidis

19

Page 20: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Max-plus expression for workload - proof

• We first define a notion of a queue busy period as an interval of time [s, t] with s < t suchthat:

– W(s−) = Q(s−) = 0, i.e., the system is empty just prior to time s,

– W(r) > 0 ( and Q(r) > 0 ) for all time r ∈ [s, t), and

– W(t) = Q(t) = 0, i.e., the system is empty at time t.

• Queue busy periods (each started by a job arrival to an empty queue) are separated by idleperiods, which are intervals of time over which W (and Q) are both always zero.

• So, the evolution of W is an alternating sequence of busy and idle periods.

busy period idle period

t

Q(t)

« December 1, 2017 George Kesidis

20

Page 21: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Max-plus expression for workload - proof (cont)

• Arbitrarily fix a time t somewhere in a queue busy period, i.e., Q(t),W(t) > 0.

• Define b(t) as the starting time of the busy period containing time t, so that, in particular,b(t) ≤ t and W(b(t)−) = 0.

• The total work that arrived over [b(t), t] is A[b(t), t]/c and the total service done over[b(t), t] was t− b(t).

• Since W(s) > 0 for all s ∈ [b(t), t],

W(t) =1

cA[b(t), t] − (t− b(t)).

• Furthermore, for any s ∈ [b(t), t),

W(t) = W(s−) + 1

cA[s, t] − (t− s) ≥ 1

cA[s, t] − (t− s)

« December 1, 2017 George Kesidis

21

Page 22: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Max-plus expression for workload - proof (cont)

• Now consider a time s < b(t).

• Since W(b(t)−) = 0, any arrivals over [s, b(t)) have departed by time b(t); this impliesthat

1

cA[s, b(t))− (b(t)− s) ≤ 0.

• Therefore,

1

cA[s, t]− (t− s) =

1

cA[s, b(t))− (b(t)− s) +

1

cA[b(t), t]− (t− b(t))

≤ 1

cA[b(t), t]− (t− b(t))

= W(t).

• So, we have proved the desired result for the case where W(t) > 0.

• The other case, where t is in an idle period (i.e., Q(t),W(t) = 0), is similarly proved.

« December 1, 2017 George Kesidis

22

Page 23: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Max-plus expression for queue backlog

• Combining the last two results gives

Q(t) =

max0≤s≤t

A[s, t]− (t− s)c

.

• Also, when the ith job is in the server at time t,

W(t) =1

cmaxQ(t)− 1,0+ Vi − t.

« December 1, 2017 George Kesidis

23

Page 24: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single server and general service times

• Now consider a lossless FIFO single-server queue wherein the ith arriving job has servicetime Si,

• Here,

W(t) = max0≤s≤t

i

Si1s ≤ Ti ≤ t − (t− s),

since

A[s, t] =∑

i

Si1s ≤ Ti ≤ t.

« December 1, 2017 George Kesidis

24

Page 25: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single server and general service times (cont)

• Alternatively focusing just on job arrival times, let i(t) be the index of the last job arrivingprior to time t, i.e.,

i(t) ≡ maxj | Tj ≤ t.

• For this queue, the workload is given by

W(t) =

maxj≤i(t)

i(t)∑

k=j

Sk

− (t− Tj)

+

,

where (x)+ ≡ maxx,0.

« December 1, 2017 George Kesidis

25

Page 26: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Queues in communication/computer networks

• Now consider packet queues/buffers in communication/computer networks operated bynetwork providers.

• In particular, such queues reside in network switches and routers.

• At their network boundaries, network providers strike service-level agreements (SLAs) whereinthe transmitting network agrees that his or her egress packet flow will conform to certainparameters.

« December 1, 2017 George Kesidis

26

Page 27: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A 3×3 Router

3

1

2

3

1

2

3

R

2 R

1

« December 1, 2017 George Kesidis

27

Page 28: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Linecards of a Router

router

ingress

ingress

ingress

router

linecard 2

linecard 1

egress

egress

linecard 0egress

linecard 2

linecard 0

linecard 1

fabricswitch

fabric output linksfabric input linkslinksinput

linksoutput

packet memoryNPdeframer iSIFiTM +

IP packets

fabricsegmentsframes

SONET

labeled IP packets

Note: VOQs and VIQs about the switch fabric, and eTM in egress linecard

« December 1, 2017 George Kesidis

28

Page 29: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

SLA parameters regarding packet flows

• A preferable choice of flow parameters would be those that are:

– significant from a queueing perspective, simply to ensure conformity by the sendingnetwork, and

– simple to police by the receiving network.

• We will see how useful the mean arrival rate (typically denoted by λ) is in terms of predictingthe queueing behavior/performance.

• The mean arrival rate is, however, difficult to police as it is only known after the flow hasterminated.

• Instead of the mean arrival rate, we consider flow parameters that are policeable on apacket-by-packet basis.

« December 1, 2017 George Kesidis

29

Page 30: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The burstiness of a packet-flow

• Suppose that when the flow of packets arrives to a dedicated FIFO queue

– with a constant service rate of ρ bytes per second (Bps),

– the backlog of the queue never exceeds σ bytes.

• One can define σ as the burstiness of a flow of packets as a function of the rate ρ used toservice it.

• Such a definition for burstiness informs a node so that it can allocate both memory andbandwidth resources in order to accommodate such a regulated flow.

• Moreover, by limiting the burstiness of a flow, one also limits the degree to which it canaffect other flows with which it shares network resources.

• Indeed, such traffic regulation was standardized by the ATM Forum and adopted by theInternet Engineering Task Force (IETF); see RFCs 2697 and 2698 at www.ietf.org

« December 1, 2017 George Kesidis

30

Page 31: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Token (leaky) buckets for packet-traffic shaping - preliminaries

• Suppose that at some location there is a flow of packets A specified by the sequence ofpairs (Ti, li), where

– Ti is the arrival time of the ith packet in seconds (Ti+1 > Ti) and

– li is the length of that packet in bytes (both work that the ith packet brings andmemory it occupies in the queue).

• The total number of bytes that arrives over an interval of time (s, t] is

A(s, t] =∑

i

li1s < Ti ≤ t.

« December 1, 2017 George Kesidis

31

Page 32: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Token (leaky) buckets for packet-traffic shaping (cont)

σ

ρ tokens/s

packets

bucket

packet queue

token

packetsA Ao

• Assume that this packet flow arrives to a token bucket mechanism.

• A token represents a byte and tokens arrive at a constant rate of ρ tokens/s to the tokenbucket which has a limited capacity of σ tokens.

• A (head-of-line) packet i leaves the packet FIFO queue when li tokens are present in thetoken bucket;

• when the packet leaves, it consumes li tokens, i.e., they are removed from the bucket.

• Note that this mechanism requires that σ be larger than the largest packet length (again,in bytes) of the flow.

« December 1, 2017 George Kesidis

32

Page 33: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Token (leaky) buckets for packet-traffic shaping (cont)

• Let Ao(s, t] be the total number of bytes departing from the packet queue over the intervalof time (s, t].

• The following result is directly proved by considering the maximal amount of tokens thatcan be consumed over an interval of time.

• Theorem: For all arrival processes A to the packet queue,

Ao(s, t] ≤ σ + ρ(t− s), ∀ s ≤ t.

• Any flow Ao that satisfies this inequality is said to satisfy a (σ, ρ) constraint.

• In the jargon of the IETF RFCs, ρ could be a sustained information rate (SIR), and σ amaximum burst size (MBS).

• Alternatively, ρ could be a peak information rate (PIR>SIR), in which case σ would usuallybe taken to be the number of bytes in a (single) maximally sized packet (< MBS).

• Note that the mean departure rate over (s, t] is Ao(s, t]/(t− s) ≤ ρ+ σ/(t− s) ≈ ρfor large t− s.

« December 1, 2017 George Kesidis

33

Page 34: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Bounded queue backlog if (σ, ρ) constrained arrivals

• Let W(t) be backlog at time t of a queue with arrival flow Ao and a dedicated server withconstant rate ρ.

• Theorem: The flow Ao is (σ, ρ) constrained if and only if W(t) ≤ σ for all time t.

• Proof: The maximum queue size is

maxt

W(t) = maxt

maxs: s≤t

Ao(s, t]− ρ(t− s).

• Substituting the (σ, ρ) inequality gives the result.

« December 1, 2017 George Kesidis

34

Page 35: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Traffic shaping and policing

• We have shown how the token bucket can delay packets of the arrival flow A so that thedeparture flow Ao is (σ, ρ) constrained.

• This is known as traffic shaping.

• The receiving network of the exchange of flows described above may wish to:

– shape the flow using a (σ, ρ) token bucket, or

– police the flow by simply identifying (marking) any packets that are deemed out of the(σ, ρ) profile of the flow, or

– police the flow by dropping any out of profile packets.

• There are two main devices used for traffic policing.

• The first is a token-bucket device but without the packet queue: A packet is dropped ormarked out of profile if and only if there are not sufficient tokens (according to its length)in the token bucket upon its arrival (no tokens consumed if dropped).

« December 1, 2017 George Kesidis

35

Page 36: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Traffic policing

virtual queue

ρ bytes/s

σ

packet flowmarked orthinnedpacket flow

Q

• Alternatively, by the previous theorem, one can employ a policer as depicted above whichdoes not delay any packets.

• A packet is dropped or marked out-of-profile if and only its arrival and inclusion in thevirtual queue would cause its backlog Q to become larger than σ;

• when this happens, the arriving packet is not included in the virtual queue.

• Note that the virtual queue can be maintained by simply keeping track of two state variables:

– the queue length, Q, upon arrival of the previous packet and

– the arrival time, a, of the previous packet.

« December 1, 2017 George Kesidis

36

Page 37: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Traffic policing (cont)

virtual queue

ρ bytes/s

σ

packet flowmarked orthinnedpacket flow

Q

• Thus if a packet of length l bytes arrives at time T and is admitted into the virtual queue,then

Q ← maxQ− ρ(T − a),0+ l and a ← T.

• This (event-driven) operation requires one multiplication operation per packet.

• Alternatively, one could maintain the departure time d of the most recently admitted packetinstead of the queue occupancy Q.

« December 1, 2017 George Kesidis

37

Page 38: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Traffic policing: 2R3CM

• If two such virtual queues are used, one for (SIR,MBS) and the other for PIR, then everypacket has one of four fates:

– in-profile for both

– out-of-profile for PIR but in-profile for (SIR,MBS)

– in-profile for PIR but out-of-profile for (SIR,MBS)

– out-of-profile for both

• Thus, one of three three different “colors” can be used to mark the out-of-profile packets(by setting a field in their headers).

• This policing system with two virtual queues is called a two-rate, three-color marker (2R3CM)- again, see RFCs 2697 and 2698 at www.ietf.org

« December 1, 2017 George Kesidis

38

Page 39: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Scheduling flows of variable-length packets - Introduction

• Suppose that at some location, N flows are to be multiplexed (scheduled) into a singleflow.

• Similarly, scheduling sequences of jobs of variable work amounts.

• The flows are indexed by n ∈ 0,1, ...,N − 1 below.

• Each flow n is assigned its own tributary FIFO queue with “relative allocation” fn and theoutput flows of the tributary queues are multiplexed into the transmission FIFO queue.

• How the multiplexing occurs depends on the kinds of relative priorities of the flows.

tributary queues

transmission queue

mux

FIFO queue 0

f0c

fN−1c

c bytes/s

(a0,k, l0,k)

(aN−1,k, lN−1,k)

FIFO queue N − 1

39

Page 40: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

FIFO scheduling

• First suppose a system without tributary queues, i.e., all flows directly arrive to the trans-mission queue.

• In FIFO scheduling, packets are served in first-come first-served (first-in first-out) fashion.

• Hard to differentially manage per-flow service (fn) this way - perhaps a differential rule forqueue admission/blocking.

• Also, flows more readily “interfere” with each other.

• Note that FIFO queues without overtaking or push-out have minimal per-packet overhead:operations only at the head (join, block) or tail (serve) of the queue (doubly linked list).

« December 1, 2017 George Kesidis

40

Page 41: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Strict priority scheduling

• Now and hereafter suppose that each flow n has a separate tributary FIFO queue/buffer sothat “flow” and “queue” (or “transmission queue”) may be used interchangeably.

• In strict priority multiplexing, flows are ranked according to priority.

• A flow is served by the scheduler only if no packets of any higher priority flows are queued.

• Even when the volume of high priority traffic is limited (perhaps by a leaky bucket mecha-nism), there remains the potential problem of service starvation to lower priority flows.

• The problems with both priority and single FIFO-queue multiplexing can be solved by usinga scheduler that can in some way allocate service bandwidth to a flow in order to preventlong-term service starvation.

« December 1, 2017 George Kesidis

41

Page 42: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Deficit round-robin

• Under round-robin multiplexing (scheduling), time is divided into successive rounds, perhapseach not necessarily of the same time duration depending on which flows (tributary queues)are active.

• Each flow is visited once per round by the scheduler.

• Suppose that in each round there is a rule allowing for at most one packet per tributaryqueue to be transmitted into the transmission queue.

• A problem here is that flows with large-sized packets (e.g., large file transfers using TCP)will monopolize the bandwidth and starve out flows of small-sized packets (e.g., those ofstreaming media).

• Thus, one might want to regulate the total number of bytes that can be extracted fromany given tributary queue in a round.

• This leads to the notion of deficit round-robin (DRR) scheduling.

« December 1, 2017 George Kesidis

42

Page 43: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Deficit round-robin - definition

• To describe a DRR mechanism, we need the following definitions.

• Let Lmax be the size, in bytes, of the largest packet and Lmin the size of the smallest.

• Here, the priority of a flow has to do with the fraction fn of the total link bandwidth cbytes per second assigned to it, where we assume no overbooking:

N∑

n=1

fn ≤ 1.

• In a practice, resources may be overbooked to exploit “statistical multiplexing”.

• Finally, let the minimal allotment of bandwidth to a queue be

fmin = minn

fn

« December 1, 2017 George Kesidis

43

Page 44: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Deficit round-robin - definition (cont)

• Under DRR, at the beginning of each round, each nonempty FIFO queue is allocated acertain number of tokens.

• Packets departing a queue consume their byte length in tokens from the queue’s allotment.

• Queues are serviced in a round until their token allotment becomes insufficient to transmittheir next head-of-line packet.

• For example, if a queue is allocated 8000 tokens at the start of a round and has six packetsqueued each of length 1500 bytes, then the first five of those packets are served leavingthe trailing sixth packet at the head of the queue and 8000− 5× 1500 = 500 tokensunused.

• If it’s not empty, the nth queue is allocated

fn

fmin

Lmax tokens

at the start of a round, thereby ensuring that at least one packet from this queue will betransmitted in the round irrespective of the packet’s size.

• If a queue has no packets at the end of a round, its remaining token allotment may be resetto zero - in the following, assume that at most one rounds worth of tokens can carry overto the next.

44

Page 45: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Deficit round-robin - discussion and performance

• Note that the token allotments per round can be precomputed given service requirementsfn, where

• the fn themselves change at a much slower “connection-level” time scale than that of thetransmission time required for a single packet (Lmax/c).

• One could replace fmin in the token allocation rule by the minimum bandwidth allocationamong nonempty queues at the start of a round, but the result would be a significantamount of computation per round possibly precluding a high-speed implementation.

• Claim: If the nth queue is always not empty over k consecutive rounds with constant fmin,then cumulative bytes Dn(k) transmitted from this queue over this period satisfies

kfn

fmin

Lmax − Lmax ≤ Dn(k) ≤ (k + 1)fn

fmin

Lmax.

• Proof: The upper bound is obtained assuming that all allocated tokens are consumed inaddition to a maximal amount of carryover tokens from the round prior to the k consecutiveones under consideration.

• The lower bound is obtained by assuming no carryover tokens from a previous round and amaximal number of unused tokens in the last round.

« December 1, 2017 George Kesidis

45

Page 46: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

DRR is rate-proportionally fair

• The previous claim demonstrates that DRR scheduling indeed allocates bandwidth consis-tent with the parameters fn.

• If two queues n and m have a least one maximal-sized packet to send at the start of each ofk consecutive rounds, this theorem can be directly used to show DRR is rate-proportionallyfair:

limk→∞

Dn(k)

Dm(k)=

fn

fm;

• Exercise: Show that this continues to hold if fmin changes, i.e., fmin,k for round k.

• Exercise: Explain a potential problem if more than one round’s work of unused tokens areallowed to accumulate for a flow.

« December 1, 2017 George Kesidis

46

Page 47: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Shaped VirtualClock

• We will now describe a scheduler

– that employs timestamps to give packets service priority over others

– but restricts consideration only to packets that meet an eligibility criterion

– to limit the jitter of the individual output flows.

• This trait, which is lacking in DRR, is important for link channelization (partitioning a linkinto smaller channels) at network boundaries where SLAs are struck and policed.

• A general problem of time-stamp based scheduling is that dequeue requires O(logN) de-queue complexity to determine the flow with smallest head-of-line/queue packet timestamp.

« December 1, 2017 George Kesidis

47

Page 48: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Shaped VirtualClock - definition

• For all i and n, (n, i) denotes the ith packet of the nth flow.

• Packet (n, i) is assigned a service deadline dn,i and a service eligibility time εn,i. A packetis said to be eligible for service at time t if ε ≤ t.

• As with DRR, once a packet begins service, its service is not interrupted.

• Upon service completion of a packet, the next packet selected for service will be the onewith the smallest deadline among all eligible packets.

• Assuming the queues are FIFO, only head-of-queue packets need to be considered by themultiplexing (scheduling) algorithm.

• Each packet (n, i) has two other important attributes: its arrival time an,i to the multiplexerand its size in bytes, ln,i.

• Under what we will hereafter call shaped VirtualClock (SVC) scheduling, packet (n, i)’seligibility time and deadline are

εn,i := maxdn,i−1, an,i and dn,i := εn,i +ln,i

fnc.

« December 1, 2017 George Kesidis

48

Page 49: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

SVC - performance evaluation - preliminaries

• That is, if the nth flow were instead to arrive to a queue with a dedicated server of constantrate fnc bytes per second, then packet (n, i) would:

– reach the head of the queue (and begin service) at its eligibility time εn,i and

– completely depart the server at its service deadline dn,i.

• Recall the Lindley recursion of the packet departure times for this virtual queue n:

dn,i = maxdn,i−1, an,i+ln,i

fnc= εn,i +

ln,i

fnc

• Lemma: Just prior to the start time of a busy period of the multiplexer, the aggregateeligible work to be done of all N virtual queues is zero.

• This lemma is used to prove a guaranteed-rate property of SVC.

« December 1, 2017 George Kesidis

49

Page 50: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

SVC - guaranteed rate property

• Now recall Lmax is the maximum size of a packet (in bytes), a quantity that is typicallyabout 1500 in the Internet.

• The following theorem demonstrates that SVC schedules bandwidth appropriately in ourtime-division multiplexing context:

• Theorem: For all n and i, the time at which packet (n, i) completely departs from themultiplexer is not more than

dn,i +Lmax

c.

• This is a kind of guaranteed-rate result for the SVC multiplexer.

• Such results can easily be extended to an end-to-end guaranteed-rate property of a tandemsystem of such multiplexers.

« December 1, 2017 George Kesidis

50

Page 51: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

SVC - output burstiness

• The SVC multiplexer also has an appealing property of bounding the jitter of every outputflow.

• Consider any flow/queue n and note that the ith packet of this flow

– will have completely departed the multiplexer between times εn,i + ln,i/c and dn,i +Lmax/c,

– where ln,i/c is its total transmission time.

• We can use this fact and the fact that dn,i ≤ εn,i+1 to show:

• Theorem: The cumulative departures from the nth queue of the multiplexer over aninterval of time [s, t] is less than or equal to fnc(t− s) + 2Lmax bytes.

• That is, the departure process is (fnc,2Lmax)-constrained.

« December 1, 2017 George Kesidis

51

Page 52: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fair scheduling

• Another perspective for SVC is that flows

– just get what they pay for (i.e., service fnc) and

– either use it or lose it, i.e., the scheduler is not obligated to distributed unreserved(1−

n fnc) or currently reserved-but-unused resources (owing to idle flows/queues)to currently nonidling flows.

• This perspective may be that of a public, for-profit utility (ISP, cloud services provider).

• Exercise: How could DRR above be modified to limit output burstiness as SVC?

• There is a significant literature on “fair” scheduling including timestamp based WeightedFair Queueing, Self-Clocked Fair Queueing, Start-Time Fair Queueing, which addresses

– how unused resources are allocated to active flows proportionate to their allocation/priorityparameter,

– tracking work-conserving, rate based scheduling of a fluid traffic flow model (General-ized Processor Sharing),

– O(1) enqueue complexity (SCFQ,STFQ).

« December 1, 2017 George Kesidis

52

Page 53: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Deterministic network calculus

• A more powerful formulation of guaranteed service is given by the service curve concepton which a kind of “network calculus” is based for determining delay and jitter bounds fora packet flow as it traverses a series of multiplexed FIFO queues, each of which may beshared with other flows.

• The following discussion is principally based onR. Cruz, “SCED+ ...,” In Proc. IEEE INFOCOM, 1998; see alsoC.-S. Chang. Performance Guarantees in Communication Networks. Springer, 2000.

• Network calculus provides a succinct way

– to describe the burstiness of job/packet arrival flows

– and the service guarantees provided by tandem (lossless) multiplexers/schedulers,

– to derive bounds on delay and queue backlog.

• The burstiness curves are typically piecewise linear in practice - recall token/leaky buckets.

• Extensions to time-varying envelopes have been developed.

• Extensions to stochastic settings (so that packet-by-packet policing is not possible), will bediscussed later.

« December 1, 2017 George Kesidis

53

Page 54: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Convolution and deconvolution operators

• We will now revisit some previous calculations via the convolution ⊗ and deconvolution ⊖operators,

– as used in “min-plus” algebras

– on flows, i.e., initially zero and non-decreasing (and hence non-negative) functions ofcontinuous time t ∈ R+ := [0,∞) (or t ∈ Z+ if time is discrete), i.e., X is a flow if

∀t ≥ v ≥ 0−, X(t) ≥ X(v) with X(0−) = 0,

e.g., cumulative arrivals or departures or maximum/minimum service.

• For any two flows X and Y at time t ≥ 0:

– X convolved with Y is, ∀t ≥ 0,

(X ⊗ Y )(t) = min0≤v≤t

X(v) + Y (t− v) = (Y ⊗X)(t).

– X deconvolved with Y is, ∀t ≥ 0,

(X ⊖ Y )(t) = maxs≥0

X(t+ s)− Y (s).

« December 1, 2017 George Kesidis

54

Page 55: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Basic properties of convolution and deconvolution

• X ≤ Y means ∀t ≥ 0, X(t) ≤ Y (t).

• X = minY | Y ∈ G means ∀t ≥ 0, X(t) = minY ∈G Y (t),i.e., X is the largest such that X ≤ Y ∀Y ∈ G.

• The identity function of the convolution and deconvolution operators is the infinite step,

u∞(t) =

0 if t ≤ 0+∞ if t > 0

i.e., for all flows X, X ⊗ u∞ = X and X ⊖ u∞ = X.

• Convolution is commutative and associative.

• One can directly show that for all flows X,Y, Z:

(X ⊖ Y )⊖ Z = X ⊖ (Y ⊗ Z)

X ⊖ Y = minZ | Z ⊗ Y ≥ X⇒ (X ⊖ Y )⊗ Y ≥ X

⇒ (X ⊗ Y )⊖ Z ≤ X ⊗ (Y ⊖ Z).

• Exercise: Prove the above identities.

« December 1, 2017 George Kesidis

55

Page 56: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Exercise: Delay function

• Define the delay function

∆d(t) =

0 if t ≤ d ,+∞ if t > d .

• That is, ∆d(t) = u∞(t− d)

• Exercise: Show that for any function f and a constant d ≥ 0,

∀t, f(t− d) = (f ⊗∆d)(t).

« December 1, 2017 George Kesidis

56

Page 57: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow burstiness curves (traffic envelopes)

• Consider an initially empty, lossless queue in a network device with cumulative arrivals anddepartures over [0, t] respectively denoted A(t) and D(t).

• A flow A is said to have burstiness bounded by (or an upper envelope) bin if

∀t ≥ v ≥ 0, A(t)−A(v) ≤ bin(t− v) ⇔ A ≤ A⊗ bin,

more succinctly denoted as A≪ bin (recall bin is also non-increasing).

• Note that this is abound on arrivals over any time-interval (v, t].

• For example, if A is the output of dual token-bucket regulators, then bin is piecewise-linear:

bin(r) = minσ + ρr, ε+ πrwhere the maximum “burst size” σ > ε ≥ 0 (ε is small) and the peak rate is greater thanthe “sustainable” rate, π > ρ.

• In the following, we assume the arrival flow A≪ bin.

« December 1, 2017 George Kesidis

57

Page 58: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Service curves

• Now consider a single (lossless) queue of a multiplexer (mux) within a network device (e.g.,a router).

• A and D respectively are the queue’s arrival departure flows.

• The cumulative departures D of a given queue depends on any service guarantees as sched-uled by the mux and possibly (in the case of nonidling service) how the other queues arebusy.

• If Q(0) = 0, then the queue backlog at time t ≥ 0 is

Q(t) = A(t)−D(t).

• In the special case where the queue receives exact, deterministic service at rate c > 0:∀t ≥ 0,

Q(t) = max0≤r≤t

A(t)−A(r)− (t− r)c

⇒ D(t) = min0≤r≤t

A(r) + (t− r)c = (A⊗ s0)(t),

where the “service flow” s0(t) = tc for all t ≥ 0.

• More generally, a scheduler is said to give the queue a minimum service-curve smin, respec-tively maximum service-curve smax, if for all arrival flows A,

D ≥ A⊗ smin, respectively D ≤ A⊗ smax.

58

Page 59: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Guaranteed rate property and minimum service curve

• Exercise: If a scheduler with guaranteed-rate property parameter µ (SVC has µ =Lmax/c) for a queue with bandwidth allocation c, show that the queue has minimumservice-curve

smin(t) = maxct− cµ,0.

• Cruz’s Service-Curve Earliest Deadline First (SCED+) scheduler was designed to achieveoutput service-curves.

« December 1, 2017 George Kesidis

59

Page 60: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Output burstiness

• Theorem: If A ≪ bin and the initially empty queue has minimum service-curve smin,then

D ≪ bout := bin ⊖ smin.

• Proof: ∀t ≥ 0:

D(t) ≤ A(t)

≤ min0≤v≤t

A(v) + bin(t− v)

≤ min0≤v≤t

A(v) + min0≤r≤t−v

(

smin(t− v − r) +maxx≥0

bin(x+ r)− smin(x)

)

= min0≤r≤t

min0≤v≤t−r

A(v) + smin(t− v − r) + bout(r)

= min0≤r≤t

bout(r) + min0≤v≤t−r

A(v) + smin(t− v − r)

≤ min0≤r≤t

bout(r) +D(t− r)

where we have switched the order of minimization for the first equality.

• Thus,

D ≪ bout.

« December 1, 2017 George Kesidis

60

Page 61: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Output burstiness via convolution and deconvolution

• We now redo the previous proof using convolution notation and basic properties:

D ≤ A

≤ A⊗ bin≤ A⊗ (smin ⊗ (bin ⊖ smin))

= A⊗ (smin ⊗ bout)

= (A⊗ smin)⊗ bout≤ D ⊗ bout

• Exercise: Prove the extension of this result to also account for maximum a service-curvesmax of the queue:

D ≪ (bin ⊗ smax)⊖ smin.

« December 1, 2017 George Kesidis

61

Page 62: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Virtual delay processes (for arrivals) and delay jitter bound

• For a queue with arrival flow A and departure flow D, at time t ≥ 0,

– the queue backlog is Q(t) = A(t) − D(t), i.e., “vertical” difference between theflows, and

– the virtual delay for a hypothetical arrival at time t is D−1(A(t))− t, where D−1(a)is the smallest time t such that D(t) = a, i.e., “horizontal” difference between theflows.

• Note that the virtual delay process does not depend on arrivals after t under FIFO queuing,and recall our discussion of a virtual-queue policer.

« December 1, 2017 George Kesidis

62

Page 63: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Virtual delay processes and delay jitter bound - theorem

• Theorem: If a queue has arrival flow A≪ bin, minimum service-curve smin, and maximumservice-curve smax, then

∀t ≥ 0, A(t− dmin) ≥ D(t) ≥ A(t− dmax),

where

dmin = maxx ≥ 0 : smax(x) = 0,dmax = min z ≥ 0 : smin(x) ≥ (bin ⊗∆z)(x) = bin(x− z) ∀x ≥ 0

• Re. the virtual delays, this theorem implies that, ∀t ≥ 0,

D−1(A(t− dmin))− (t− dmin) ≥ dmin and

D−1(A(t− dmax))− (t− dmax) ≤ dmax

« December 1, 2017 George Kesidis

63

Page 64: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Maximum delay - remarks

• Note that dmax is the largest horizontal difference between bin and smin.

• Also note that, equivalently,

dmax = minz ≥ 0 : bin(x− z)− smin(x) ≤ 0 ∀x ≥ 0= minz ≥ 0 : max

x≥0bin(x− z)− smin(x) ≤ 0

= minz ≥ 0 : (bin ⊖ smin)(−z) ≤ 0.

• Moreover, smax ≤∆dmin.

« December 1, 2017 George Kesidis

64

Page 65: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Delay jitter bound - Proof via convolution notation

First,

∀t ≥ 0, D(t) ≥ (A⊗ smin)(t)

≥ (A⊗ (bin ⊗∆dmax))(t)

= ((A⊗ bin)⊗∆dmax)(t)

≥ (A⊗∆dmax)(t)

= A(t− dmax).

Finally,

∀t ≥ 0, D(t) ≤ (A⊗ smax)(t)

≤ (A⊗∆dmin)(t)

= A(t− dmin).

« December 1, 2017 George Kesidis

65

Page 66: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

End-to-end network calculus - exercise

• Consider the tandem queues of static flow-routes across multiple network devices.

• Suppose a given end-to-end flow with network arrivalsA≪ bin visiting FIFO queues indexedj on its path, where each queue j has minimum and maximum service curves respectivelysmin,j and smax,j, and each queue j handles only the given flow.

• Extend the previous results on delay and output jitter from a single queue to the entirenetwork of tandem queues as experienced by the given flow.

« December 1, 2017 George Kesidis

66

Page 67: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Dynamic routing

• Routing algorithms are highly distributed/decentralized in their response to network statebecause network operating conditions potentially involve:

– a large scale with respect to traffic volume or geography or both, and/or

– high variability in the traffic volume both at packet and connection/call level on shorttime-scales (possibly due in part to the routing algorithm itself), and/or

– potentially high variability in the network topology due to, for example, node mobility,channel conditions, or node or link removals because of faults or energy depletion.

« December 1, 2017 George Kesidis

67

Page 68: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Additive path costs

• Routing algorithms often assume that costs (or “metrics”)Cr of paths/routes r are additive,i.e.,

Cr =∑

l∈rcl,

where cl represents the cost of link l.

• Such nonnegative link costs include Boolean hops, i.e., cl = 1 for all active links l (leadingto path costs Cr that are hop counts as used in the Internet), and those based on estimatesof access delays at the transmitting node of the link.

« December 1, 2017 George Kesidis

68

Page 69: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Path costs based on bottlenecks

• Alternatively, path costs could be based on the bottleneck link on the path, i.e.,

Cr = maxl∈r

cl.

• In a multihop wireless context, such link costs include those based on residual energy el oftransmitting nodes (in a multihop wireless context), e.g.,

cl =1

el,

or an estimate of the lifetime of the transmitting node of the link.

« December 1, 2017 George Kesidis

69

Page 70: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Hybrid path costs

• More complex two-dimensional link metrics of the form (cx, cy) may be employed to con-sider more than one quantity simultaneously, e.g.,

– delay and energy, or

– hop count and BGP policy domain factors.

• One can define (lexicographic) order

(cx1, cy1) ≤ (cx2, c

y2)

to mean

cx1 ≤ cx2 or cx1 = cx2 and cy1 ≤ cy2,and define the cost of path composed of links indexed 1 and 2 as

(cx1 + cx2,maxcy1, cy2);

• For example,

– if cx ∈ 1,∞ in order to count hops of a path

– and cy is based on the residual energy of the transmitting node,

– then the chosen paths will be those with the highest bottleneck energy among thosewith the shortest hop count to the destination.

« December 1, 2017 George Kesidis

70

Page 71: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Hybrid path costs - examples

• Or one can determine optimal paths

– according to one metric (the primary objective) and

– choose among these paths conditional on another metric (the secondary objective)being less than a threshold.

• For instance, suppose the primary objective is to minimize (bottleneck) energy costs andsuppose a route r has Cx

r hops and Cyr energy cost.

• Appending link l to r, r′ = r ∪ l, will be considered based on costs

(Cxr′, C

yr′) = (cxl + Cx

r ,maxcyl , Cyr )

if cxl + Cxr < θx for some threshold θx > 0.

• Otherwise it will set (Cxr′, C

yr′) = (∞,∞) and, consequently, the network will not use

route r′ nor any route r∗ that uses r′ (i.e., r′ ⊂ r∗).

• Similarly, the network can find routes with minimal hop counts (primary objective) whileavoiding any link with energy cost cy ≥ θy > 0 (i.e., the residual energy of the transmittingnode of the link e ≤ 1/θy).

« December 1, 2017 George Kesidis

71

Page 72: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Optimal routing frameworks: link states

• Within an autonomous system (AS) of the Internet, it may be feasible for routers to peri-odically flood the network with their link-state information.

• So, each router can build a picture of the entire layer-3 AS graph from which loop-free op-timal (minimal-hop-count) intra-AS paths can be found by OSPF and ISIS interior-gatewayrouting protocols (IGPs) based on Dijkstra’s algorithm.

• A hierarchical OSPF framework can be employed on the component “areas” of a large AS.

• Under OSPF, each router z will forward packets ultimately destined to router v accordingalong the subpath p to a neighboring (predecessor) router rp of v that is

argminp

Cp + c(rp,v),

where Cp is the path cost (hop count) of p.

• Dijkstra’s algorithm works iteratively at each node z based on a consistent graph of the ASowing to flooded link-states:

– optimal paths to nodes are found in order of increasing distance to z,

– and so a spanning tree rooted at z is built out from its leaves.

« December 1, 2017 George Kesidis

72

Page 73: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Optimal routing frameworks: distance vectors

• A distributed distance-vector approach involves computing (at z) optimal path cost from zto S as

argminw

c(z,w) + C(w,S),

where c(z,w) is the single-hop/link cost of the link (z, w) between z and its neighboringnode w, and C(w,S) is w’s current path cost to S as advertised to z.

• Only nearest-neighbor communication is generally more scalable than flooding.

• In the Internet, the BGP and the IGP RIP are distance vector based.

• BGP maintains whole-path vectors to avoid loops and implement important inter-domainrouting policies (that may take precedence over distance).

• Also, BGP employs route reflectors, poison reverse, dynamic minimum route advertisementinterval (MRAI) adjustments, and other mechanisms to dampen the frequency of route up-dates, reduce responsiveness (to, e.g., changing traffic conditions, link or node withdrawals),and improve stability/convergence properties.

• So, both Dijkstra’s and the distributed Bellman-Ford algorithms use the fundamental “prin-ciple of optimality” (easily proved by contradition): all subroutes of any optimal (minimumcost) route are themselves optimal.

« December 1, 2017 George Kesidis

73

Page 74: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - shortest path on a graph

• Suppose we are planning the construction of a highway from city A to city K.

• Different construction alternatives and their “edge” costs g ≥ 0 between directly connectedcities (nodes) are given in the following graph.

• The problem is to determine the highway (edge sequence) with the minimum total (additive)cost.

« December 1, 2017 George Kesidis

74

Page 75: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Bellman’s principle of optimality - exercise

• If C belongs to an optimal (by edge-additive cost J∗) path from A to B, then the sub-pathA to C and C to B are also optimal,

• i.e., any sub-path of an optimal path is optimal (easy proof by contradiction).

• Dijkstra’s algorithm uses the predecessor node of the destination (path penultimate node)& is based on complete link-state (edge-state) info consistently shared among all nodes:

J∗(A,B) = minCJ∗(A,C) + g(C,B) | C is a predecessor of B,

i.e., C and B are adjacent nodes in the graph (endpoints of the same edge).

• The distributed Bellman-Ford algorithm uses the successor node of the path origin and onlynearest-neighbor distance-vector information sharing:

J∗(A,B) = minCg(A,C) + J∗(C,B) | C is a successor of A

« December 1, 2017 George Kesidis

75

Page 76: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Review of Elements of Probability

• The sample space (Ω,F ,P).

• Random variables and their distributions.

• The law of large numbers.

• See slidedeck at http://www.cse.psu.edu/∼kesidis/teach/Prob-4.pdf

« December 1, 2017 George Kesidis

76

Page 77: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary, Ergodic, Stable and Lossless Stochastic Systems

• Finite-dimensional distributions of a stochastic process

• Stationarity and ergodicity

• Little’s result for stable and lossless queueing systems

• Probabilistic service curves

• Flow-balance equations of a network of queues

« December 1, 2017 George Kesidis

77

Page 78: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stochastic Processes - Introduction

• A stochastic (or random) process is a set of random variables indexed by a parameter (e.g.,time, location).

• If the time parameter takes values only in Z+ (or any other countable subset of R), thestochastic process is said to be discrete time; i.e.,

X(t) | t ∈ Z+.

• If the time parameter t takes values over R or R+ (or any real interval), the stochasticprocess is said to be continuous time.

• The dependence on the sample ω ∈ Ω can be explicitly indicated by writing Xω(t).

• For a given sample ω, the random object mapping t→ Xω(t), for all t ∈ R+ say, is calleda sample path of the stochastic process X.

« December 1, 2017 George Kesidis

78

Page 79: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stochastic Processes - Introduction (cont)

• The state space of a stochastic process is simply the union of the strict ranges of the randomvariables X(t) | t ∈ Z+.

• We will restrict our attention to stochastic processes with countable state spaces, typicallyZ, Z+, or a finite subset 0,1,2, ...,K.

• Of course, this means that the random variables X(t) are all discretely distributed.

• We will also focus on continuous-time so that queueing systems we will consider will be alittle easier to analyze.

« December 1, 2017 George Kesidis

79

Page 80: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Finite-dimensional distributions of a stochastic process

• Consider a stochastic process

X = X(t) | t ∈ R+

with state space Z+.

• Let pt1,t2,...,tn be the joint PMF of X(t1), X(t2), ...,X(tn) for some finite n and differenttk ∈ R+ for all k ∈ 1,2, ..., n, i.e.,

pt1,t2,...,tn(x1, x2, ..., xn) = P(X(t1) = x1, X(t2) = x2, ...,X(tn) = xn).

• This is called an n-dimensional distribution of X.

• The family of all such joint PMFs is called the set of finite-dimensional distributions (FDDs)of X.

« December 1, 2017 George Kesidis

80

Page 81: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Consistent finite-dimensional distributions

• A family of FDDs (on state-space Z+, with time t ∈ R+) are consistent if one canmarginalize (reduce the dimension) and obtain another, e.g.,

pt1,t2,t4(x1, x2, x4) ≡∑

x3∈Z+

pt1,t2,t3,t4(x1, x2, x3, x4).

• Recall that consistency ought to hold simply because

P(A) =∑

x3∈Z+

P(A,X(t3) = x3), where A := X(t1) = x1, X(t2) = x2, X(t3) = x3.

• Beginning with a family of consistent FDDs, Kolmogorov’s extension (or ”consistency”)theorem is a general result demonstrating the existence of a stochastic process t→ Xω(t),ω ∈ Ω, that possesses them.

« December 1, 2017 George Kesidis

81

Page 82: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationarity of a stochastic process

• A stochastic process X is said to be (strongly) stationary if all of its FDDs are time-shiftinvariant.

• That is, if

pt1,t2,...,tn ≡ pt1+τ,t2+τ,...,tn+τ

for all integers n ≥ 1, all tk ∈ R+, and all τ ∈ R such that tk + τ ∈ R+ for all k.

« December 1, 2017 George Kesidis

82

Page 83: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary queues

• Consider the ith job arriving at time Ti to a FIFO single-server, nonidling queue.

• The departure time of this job is given by

Vi = Ti +W(Ti),

where W is the queue’s workload process.

• If the queue is stationary, the sojourn times of the jobs are identically distributed.

• Indeed, suppose we are interested in the distribution or just the mean of the job sojourntimes.

• One is tempted to identify the distribution of the sojourn times V − T with the stationarydistribution of W ; because of the “PASTA” rule, this gives the correct answer for theM/M/1 queue, as discussed later.

• But in general the distribution of W(Tn−) (i.e., the distribution of the W process viewedjust before a “typical” job arrival time Tn) is not equal to the stationary distribution of W(i.e., viewed at at typical time).

« December 1, 2017 George Kesidis

83

Page 84: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loynes’ construction of a stationary queue viewed at finite time (0)

• Consider a stationary marked point process on R, where a mark S is a random variableassociated with an arrival time T (point).

• The point process is stationary if for any interval of time [r, t] ⊂ R, r < t, the distributionof the number and values of the marked points (Ti − r, Si) therein (i.e., r ≤ Ti ≤ t)depends on t and r only through t− r.

• Assume that the marks S are the service times of the arrivals by a unit server (one unit ofwork per second), which do not depend on future arrivals/marks (i.e., are non-anticipative,causal).

« December 1, 2017 George Kesidis

84

Page 85: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loynes’ construction of a stationary queue viewed at time 0 (cont)

• Suppose that the arrivals commence at some negative time r < 0, i.e., ignore arrivals attimes T < r.

• So that the work-to-be-done of a single-server queue at time 0 is

Wr(0) = maxr≤t≤0

i : t≤Ti≤0Si − ct,

where c is the constant service rate of the qeuue and Si is the service time of the ith jobarriving at time Ti.

• Note that as r → −∞, Wr(0) monotonically increases.

• Loynes proved that if the arrival intensity is finite, i.e., λ = (E(Ti− Ti−1))−1 <∞, andthe queue is stable, i.e., c > λESi, then this limit exists and is finite, i.e.,

limr→−∞

Wr(0) ↑ W(0) < ∞ a.s.−

the stationary queue on R viewed at a typical (finite) time 0.

« December 1, 2017 George Kesidis

85

Page 86: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary queueing system viewed at typical time vs at typical job

• We will now explore the relationship between the stationary distribution of a queueingsystem (i.e., as viewed from a typical time) and the distribution of the queueing system atthe arrival time of a typical job - we now illustrate the potential difference.

• Consider a stationary and ergodic point process on R whose interarrival times τ are discretelydistributed as

P(τ = 5) = 14

and P(τ = 10) = 34.

• Also consider a large interval of time H ≫ 1 spanning N consecutive interarrivals.

• Consider an interarrival interval T1 − T0 viewed at a typical time 0, i.e., by definitionT0 < 0 ≤ T1 a.s.

• The probability of selecting such an interval of length say 5 is equal to the fraction ofinterarrivals of length 5 that cover H.

• That is, since H ≫ 1, by the law of large numbers H ≈ N(5 · 14+10 · 3

4), and so

P(T1 − T0 = 5) =N · 5(1/4)

N(5(1/4) + 10(3/4))=

1

76= 1

4= P(τ = 5)

• Later we’ll see that T1 − T0 ∼ τ when job arrivals are Poisson (PASTA).

86

Page 87: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A lossless, stationary, stable queue: input rate equals output rate

• Let λ be the mean arrival rate and µ the mean service rate of jobs (data packets) to astable queue, i.e.,

µ > λ.

• Theorem: For a stable, lossless and stationary queue, the mean (net) arrival rate equalsthe mean departure rate in steady state, i.e.,

λ := limt→∞

A(0, t]

t= lim

t→∞D[0, t)

t,

where A(0, t] and D(0, t] are the cumulative arrivals and departures over (0, t], respec-tively.

• Proof: The queue is stable implies that Q(t)/t→ 0 almost surely as t→∞.

• Since

Q(0) + A(0, t] = Q(t) +D[0, t),

• Dividing this equation by t and letting t→∞ gives the desired result.

• Note: The mean departure rate of the stable queue (λ) is less than µ, as the server isactive only when Q > 0.

87

Page 88: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Little’s result: L = λW

• Consider a causal (nonanticipative), stationary and and ergodic, lossless, and stable queue-ing system.

• Partition an interval of time of length T ≫ 1 so that the number of jobs in the system isconstant in each subinterval.

• That is, jobs arrive or depart the queueing system only at partition boundaries.

• Let J be the number of departures of jobs over [0, T ].

• Let tk be the duration of the kth interval, so that∑K

k=1 tk = T .

• Let nk be the average number of jobs in the system during the kth interval.

• Thus, the time-average number of jobs in the system over [0, T ] is

L ≈K∑

k=1

nktk

T=

1

T

K∑

k=1

nktk.

« December 1, 2017 George Kesidis

88

Page 89: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Little’s result: L = λW (cont)

• Assume any jobs initially in the system (i.e., Q(0)) or any that remain (i.e., Q(T)) arenegligible compared to J when T ≫ 1; so J is approximately the number of arrivals overT too.

• Thus,

λ ≈ J/T.

• Similarly, the mean sojourn time (queueing delays plus service times) of jobs in the queueingsystem is

W ≈ 1

J

K∑

k=1

nktk,

where the numerator is the total sojourn time of all jobs in the interval [0, T ].

• By substitution, we arrive at Little’s result: L = λW .

• A rigorous proof of Little’s result is based on a powerful conservation law for stationarymarked point-processes, Campbell’s theorem.

« December 1, 2017 George Kesidis

89

Page 90: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Little’s result - discussion and example

• To reiterate, Little’s result relates

– the average number of jobs in the stationary lossless queueing system (i.e., the averagenumber of jobs viewed at a typical time 0)

– to the mean sojourn time of a typical job.

• For example: We will see that the mean number of jobs in a stationary “M/M/1” queue is

L =ρ

1− ρ,

where ρ = λ/µ < 1 is the traffic intensity.

• By Little’s result, the mean workload in the M/M/1 queue upon arrival of a typical job(i.e., the mean sojourn time of a job) is

W =L

λ=

1

µ− λ.

« December 1, 2017 George Kesidis

90

Page 91: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Little’s result: mean server busy-time

• Now consider again a lossless, FIFO, single-server queue Q with mean interarrival time ofjobs 1/λ and mean job service time 1/µ < 1/λ,

• i.e., mean job arrival rate λ and mean job service rate µ > λ.

• Suppose the queue and arrival process are stationary at time zero.

• The following result identifies the traffic intensity λ/µ with the fraction of time that thestationary queue is busy.

« December 1, 2017 George Kesidis

91

Page 92: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Little’s result: mean server busy-time (cont)

• Theorem: For a stationary and stable (λ < µ) queue Q,

P(Q(0) = 0) = 1− λ

µ.

• Proof: Consider the server separately from the waiting room.

• Since the mean departure rate of the waiting room is λ too, Little’s result implies that themean number of jobs in the server is L = λ/µ.

• Finally, since the number of jobs in the server is Bernoulli distributed (with parameter L),the mean corresponds to the probability that the server is occupied (has one job) in steadystate.

• As above, note that the mean departure rate is

µ · P(Q > 0) + 0 · P(Q = 0) = µ · ρ = λ.

« December 1, 2017 George Kesidis

92

Page 93: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Probabilistic service curves - gSBB

• Recall that a scheduler acting on a queue is said to offer a service-curve β if

– β is nondecreasing with β(0) = 0,

– for all cumulative arrivals A and for all times t ≥ 0 such that the queue is alwaysbacklogged over [0, t], the cumulative departures D from that queue satisfy

D[0, t] ≥ min0≤s≤t

A[0, s) + β(t− s) = min0≤s≤t

A[0, t− s) + β(s).

• Now consider a queue occupancy process Q with cumulative arrivals A and a service rateof exactly ρ bytes/s.

• A is said to have generalized stochastically bounded burstiness (gSBB, or strong SBB) withbound fρ at ρ if

∀t ≥ 0, P(Qρ(t) ≥ σ) ≤ fρ(σ),

where fρ ≥ 0 is a nonincreasing function with fρ(0) = 1 and, as before, Q(0) = 0 and,for t > 0,

Q(t) = max0≤s≤t

A(s, t]− ρ(t− s);

see Y. Jiang et al., “Fundamental Calculus on gSBB...”, Comp. Nets 53(12), Aug. 2009.

« December 1, 2017 George Kesidis

93

Page 94: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Other probabilistic service curves

• Alternatively, we can work with a weaker definition: define a A as having (weak) SBB byfρ at ρ if

∀t ≥ s ≥ 0, P(A(s, t]− ρ(t− s) ≥ σ) ≤ fρ(σ),

see D. Starobinski and M. Sidi, “SBB for Comm. Nets,” IEEE ITT 46(1), Jan. 2000.

• An earlier framework involves bounds/envelopes on the log moment generating function ofthe cumulative arrivals A,see C.-S. Chang, “Stability, Queue Length, ...,” IEEE TAC 39(5), May 1994.

« December 1, 2017 George Kesidis

94

Page 95: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Probabilistic service curves - gSBB (cont)

• We denote A≪ (ρ, f) if A has gSBB with bound f at constant service rate ρ.

• Clearly, A≪ (ρ, f) implies A≪ (r, f) for r > ρ.

• Also note that this definition reduces to the (σ∗, ρ) constraint when f(σ) ≡ u(σ − σ∗).

• Note that, unlike the gSBB, the deterministic (σ, ρ) constraint is policeable on a packet-by-packet basis.

• Theorem: For a queue with service curve β, if arrivals A ≪ (ρ, f), then departuresD ≪ (ρ, g), where

g(x) ≡ f

(

x+mins≥0β(s) + ρt

)

.

ρA

DQβ

« December 1, 2017 George Kesidis

95

Page 96: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Probabilistic service curves - gSBB (cont)

• Proof: Consider the backlog of a queue Q with arrivals D and service rate ρ, so that

Q(t) = max0≤s≤t

D[0, t]−D[0, s]− (t− s)ρ

≤ max0≤s≤t

A[0, t]−(

min0≤u≤s

A[0, u) + β(s− u)

)

− (t− s)ρ

= max0≤s≤t

max0≤u≤s

A[0, t− s+ u)− ρ(t− s+ u) + ρu− β(u)

≤ Q(t) +maxu

ρ(u)− β(u).

Applying this inequality to the definition of gSBB proves the theorem.

• Exercise: Extend this theorem to an end-to-end result for a flow crossing tandem schedulerseach giving the flow different service curves β.

« December 1, 2017 George Kesidis

96

Page 97: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow-balance equations - preliminaries

• Consider a stationary system consisting of a group of N ≥ 2 lossless, single-server, work-conserving queueing stations.

• Jobs at the nth station have a mean required service time of 1/µn.

• The job arrival process to the nth station is a superposition of N + 1 component arrivalprocesses.

• Jobs departing the mth station are forwarded to and immediately arrive at the nth stationwith probability rm,n.

• Also, with probability rm,0, a job departing station m leaves the queueing network forever;here we use station index 0 to denote the world outside the network.

• Clearly, for all m,

N∑

n=0

rm,n = 1.

• Arrivals from the outside world arrive to the nth station at rate Λn; it’s these interactionswith the outside world that make the network open.

« December 1, 2017 George Kesidis

97

Page 98: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow balance equations (cont)

• Let λn be the total arrival rate to the nth station.

• These are found by solving the so-called flow balance equations which are based on thenotion of conservation of flow and require that all queues are stable, i.e.,

∀n, µn > λn.

• Since the mean arrival rate equals that of the mean departure rate, the flow balance equa-tions are,

λn = Λn +

N∑

m=1

λmrm,n, ∀n ∈ 1,2, ...,N.

• Note that the flow balance equations can be written in matrix form:

λT(I−R) = ΛT,

where the N ×N matrix R has entry rm,n in the mth row and nth column.

• Note: We could define the total throughput of the system λ0 =∑N

m=1Λm so thatr0,m = Λm/λ0.

« December 1, 2017 George Kesidis

98

Page 99: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow balance equations - solution requirements

• Thus,

λT = ΛT(I−R)−1.

• Again, we are assuming that λ < µ for stability.

• Also, we clearly require that det(I−R) 6= 0, i.e., I−R is invertible.

• This (and stability and stationarity) requires that rm,0 > 0 for some station m, i.e., jobscan exit the network and don’t on-average accumulate in it.

• Otherwise,

– on average work accumulates in the system and so it cannot be stationary, and

– R would be a stochastic matrix (all entries nonnegative and all rows sum to 1) so that1 is an eigenvalue of R and, therefore, 0 is an eigenvalue of I−R, i.e., I−R is notinvertible.

• Note: It is possible to define stationary queueing systems that are closed, i.e., with rn,0 =0 = r0,n for all n; in such systems there are no such stability requirements.

« December 1, 2017 George Kesidis

99

Page 100: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow balance equations - solution requirements

• We can also write a flow balance equation between the outside world and the queueingnetwork as a whole by summing over the individual queueing stations n ∈ 1, ...,N toget:

N∑

n=1

Λn =

N∑

n=1

λnrn,0,

i.e., the total flow into the queueing network equals the total flow out of the network asthe previous theorem.

• The flow balance equations hold in great generality.

• In the following, we will apply them to derive the stationary distribution of a special networkwith Markovian dynamics.

« December 1, 2017 George Kesidis

100

Page 101: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow balance equations - example

12

3

Λ2

Λ1r12

r21

r31

r13

r23

r32

r30

• This example network has three lossless FIFO queues, queues 1 and 2 respectively haveexogenous arrival rate Λ1 and Λ2 jobs per second.

• The mean service time at queue k is 1/µk.

• The nonzero job routing probabilities are

r12 = r13 = 12, r21 = r23 = 1

2, r31 = r32 = r30 = 1

3,

where again the subscript 0 represents the outside world.

« December 1, 2017 George Kesidis

101

Page 102: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow balance equations - example (cont)

• Assuming that the queues are all stable, the flow balance equations are

λ1 = Λ1 + 12λ2 + 1

3λ3,

λ2 = Λ2 + 12λ1 + 1

3λ3,

λ3 = 12λ1 + 1

2λ2.

• Thus, in matrix form,

1 −12−1

3

−12

1 −13

−12−1

21

λ =

Λ1

Λ2

0

,

which implies

λ =

1 −12−1

3

−12

1 −13

−12−1

21

−1

Λ1

Λ2

0

,

i.e., λ = ((I−R)T)−1Λ.

« December 1, 2017 George Kesidis

102

Page 103: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Flow balance equations - example (cont)

• Given the total flow rates λ, the service rates µk need to be chosen so that µk > λk forall queues k to achieve stability and stationarity (the flow balance equations hold).

• Note that the mean departure rate to the “outside world,” λ3, will work out from the flowbalance equations to be

λ3r30 = Λ1 +Λ2.

• Finally, the stability assumption requires that the service rates

µT > λT = ΛT(I−R)−1.

« December 1, 2017 George Kesidis

103

Page 104: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Exercise - maximum throughput of a network processor

• Consider a NP with multiple internal engines/stations, e.g., for: 1. header checksumprocessing, 2. TTL decrement, 3. forwarding look-up, and 4. flow-based processing (e.g.,policing, shaping, prioritizing - a flow engine).

• A NP needs to be able to operate at a “worst-case” prescribed packet (job) arrivals at rate;

• e.g., for an OC-48 line, 2.5 Gbps = 7.8 Mpps =: λ0, assuming the worst-case that all IPpackets are 40 bytes long and all packets pass through the first four engines.

• Suppose all packets arriving to the 4th (flow) engine cause a flow lookup operation, andthereafter a number N of different flow sub-engines, indexed 5 to N + 5 − 1, may bevisited.

• Define the probabilities r0; rk,k+1 = 1 ∀k < 4; rk,0 = r0 ∀k ≥ 4; r4,j = (1− r0)/N∀j > 4; rk,j = (1− r0)/(N − 1) ∀k 6= j ≥ 5.

• Exercise: In terms of r0, N :

– Find the average number of flow sub-engine visits by a packet.

– Find the minimum service capacity of each engine and sub-engine so that λ0 is thethroughput of the NP.

« December 1, 2017 George Kesidis

104

Page 105: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Markovian queuing systems in continuous time

• Introduction

• Memoryless property of exponential distribution

• Finite-dimensional distributions and stationarity

• The Poisson counting process

• Poisson Arrivals See Time Averages (PASTA)

• Time-homogeneous Markov processes on countable state space (Markov chains)

• Fitting a Markov model to data

• Birth-death Markov chains

• Markovian queuing models: single queues and queuing networks

« December 1, 2017 George Kesidis

105

Page 106: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Markov modeling - state variables

• More complex performance metrics, such as the distribution of delays experienced by jobs,requires more detailed modeling of the (stationary) queueing system.

• Application of Markovian models begins with identifying state variables in the data (or thesystem that generated the data).

• The current state summarizes the past evolution of the data so that one need not rememberthe past in order to determine/predict the future evolution of the data/system.

• This is consistent with the notion of a finite-state machine in computer science.

• In deterministic linear circuits, the state variables are “outputs of integrators,” i.e., voltageacross capacitors C,

∀t ≥ s, vC(t) = vC(s) +1

C

∫ t

s

iC(τ)dτ

and currents through inductors.

• In a stochastic setting, continuous-time Markov processes have a special structure involvingthe (memoryless) exponential distribution.

« December 1, 2017 George Kesidis

106

Page 107: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Memoryless property of the exponential distribution

• If X is exponentially distributed, then

P (X > x+ y | X > y) = P(X > x).

• The proof is an immediate consequence of the distribution of an exponential,P(X > x) = e−λxu(x), where EX = λ−1 and u is the unit step, u(x) = 1x ≥ 0.

• This is the memoryless property and its simple proof is left as an exercise.

• For example, if X represents the duration of the lifetime of a light bulb, the memorylessproperty implies that, given that X > y, the probability that the residual lifetime (X − y)is greater than x is equal to the probability that the unconditioned lifetime is greater thanx.

• So, in this sense, given X > y, the lifetime has “forgotten” that X > y.

• Only exponentially distributed random variables have this property among all continuouslydistributed random variables and only geometrically distributed random variables have thisproperty among all discretely distributed random variables.

« December 1, 2017 George Kesidis

107

Page 108: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Minimum of independent exponentially distributed random variables

• If X1 ∼ exp(λ1) and X2 ∼ exp(λ2) are independent, then

minX1, X2 ∼ exp(λ1 + λ2).

• Proof: Define Z = minX1, X2 and let FZ(z) = P(Z ≤ z), F1, and F2 be the CDFof Z, X1, and X2, respectively.

• Clearly, FZ(z) = 0 for z < 0 and for z ≥ 0,

1− FZ(z) = P(minX1, X2 > z)

= P(X1 > z,X2 > z)

= P(X1 > z)P(X2 > z) by independence

= exp(−(λ1 + λ2)z)

as desired.

« December 1, 2017 George Kesidis

108

Page 109: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Minimum of independent exponentially distr’d random variables (cont)

• Again, if X1 ∼ exp(λ1) and X2 ∼ exp(λ2) are independent, then

P(minX1, X2 = X1) =λ1

λ1 + λ2

.

• Proof:

P(minX1, X2 = X1) = P(X1 ≤ X2)

=

∫ ∞

−∞

∫ x2

−∞λ1e

−λ1x1dx1 λ2e−λ2x2dx2

=

∫ ∞

−∞λ2e

−(λ1+λ2)x2dx2

=λ1

λ1 + λ2

as desired.

• Two independent geometrically distributed random variables also have these properties.

« December 1, 2017 George Kesidis

109

Page 110: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A counting process on R+

• A counting process X on R+ is characterized by the following properties:

(a) X has state space Z+,

(b) X has nondecreasing (in time) sample paths that are continuous from the right, i.e.,

limt↓s

X(t) = X(s), and

(c) X(t) ≤ X(t−)+1 so that X does make a single transition of size 2 or more, wheret− is a time immediately prior to t, i.e.,

X(t−) := lims↑t

X(s).

• For example, consider a post office where the ith customer arrives at time Ti ∈ R+. Wetake the origin of time to be zero and, clearly, Ti ≤ Ti+1 for all i.

« December 1, 2017 George Kesidis

110

Page 111: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A counting process on R+ (cont)

• The total number of customers that arrived over the interval of time [0, t] is defined to beX(t).

• Note that X(Ti) = i, X(t) < i if t < Ti, and X(t)−X(s) is the number of customersthat have arrived over the interval (s, t],

X(t) =

∞∑

i=1

1Ti ≤ t= maxi | Ti ≤ t.

• Of course, X is an example of a continuous-time counting process whose sample paths arecontinuous from the right,

2

3

4

1

...

X(t)

T1 T2 T3 T4

t

« December 1, 2017 George Kesidis

111

Page 112: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Poisson counting process - definition by interarrival times

• Now let the sequence of job interarrival times be Si = Ti − Ti−1 for job indexes i ∈1,2,3, ..., where

T0 ≡ 0.

• A Poisson process is a continuous-time counting process whose interarrival times Si∞i=1are mutually IID exponential random variables.

• Let the parameter of the exponential distribution of the Si’s be λ, i.e., ESi = λ−1 for alli.

• Since

Tn =

n∑

i=1

Si,

Tn is Erlang (gamma) distributed with parameters λ and n.

« December 1, 2017 George Kesidis

112

Page 113: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Marginal distribution of the Poisson process

• X(t) is Poisson distributed with parameter λt.

• For this reason, λ is sometimes called the intensity (or “mean intensity”, ”mean rate”, orjust “rate”) of the Poisson process X.

• Proof: First note that, for t ≥ 0,

P(X(t) = 0) = P(T1 > t) = P(S1 > t) = e−λt.

• Now, for an integer i > 0 and a real t ≥ 0,

P(X(t) ≤ i) = P(Ti+1 > t) =

∫ ∞

t

λi+1zie−λz

i!dz,

where we have used the gamma PDF.

• By integrating by parts, we get

P(X(t) ≤ i) =λizi

i!(−e−λz)|∞t +

∫ ∞

t

λizi−1e−λz

(i− 1)!dz

=(λt)ie−λt

i!+

∫ ∞

t

λizi−1e−λz

(i− 1)!dz.

« December 1, 2017 George Kesidis

113

Page 114: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Marginal distribution of the Poisson process - Proof (cont)

• After successively integrating by parts in this manner, we get

P(X(t) ≤ i) =(λt)ie−λt

i!+ · · ·+ (λt)1e−λt

1!+

∫ ∞

t

λe−λzdz

=

i∑

j=0

(λt)je−λt

j!.

• Now note that X(t) = i and X(t) ≤ i− 1 are disjoint events andX(t) = i ∪ X(t) ≤ i− 1 = X(t) ≤ i.

• Thus,

P(X(t) = i) = P(X(t) ≤ i)− P(X(t) ≤ i− 1)

=

i∑

j=0

(λt)je−λt

j!−

i−1∑

j=0

(λt)je−λt

j!

=(λt)ie−λt

i!.

« December 1, 2017 George Kesidis

114

Page 115: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Increments of a Poisson Process

• X is a Poisson process if and only if, for all k, all disjoint intervals (s1, t1], (s2, t2], ...,(sk, tk] ⊂ R+, and all n1, n2, ... , nk ∈ Z+,

P(X(t1)−X(s1) = n1, X(t2)−X(s2) = n2, ..., X(tk)−X(sk) = nk)

=

k∏

i=1

[λ(ti − si)]ni

ni!e−λ(ti−si).

• X(ti) − X(si), called an increment of X, is the number of transitions of the Poissonprocess in the interval of time (si, ti].

• Thus, the Poisson process has independent (nonoverlapping) increments.

• Also, the increment over a time interval of length τ is Poisson distributed with parameterλτ .

« December 1, 2017 George Kesidis

115

Page 116: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Equivalent definitions of a Poisson process

• The Poisson process is the only counting process that

– has Poisson distributed independent increments, or

– has IID exponentially distributed interarrival times, or

– possesses the conditional uniformity property.

• That is, all of these properties are equivalent.

• The memoryless property of the exponential distribution is principally responsible for theindependent increments property of a Poisson process.

« December 1, 2017 George Kesidis

116

Page 117: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Poisson process - finite-dimensional distributions

• We will now drive the k(≥ 1)-dimensional distribution of a Poisson process by using theindependent increments property.

• Consider times 0 ≤ t1 < t2 < · · · < tk and

P(X(t1) = m1, X(t2) = m2, ..., X(tk) = mk),

where m1,m2, ...,mk ∈ Z and mi ≤ mi+1 for all i (otherwise the probability abovewould be zero).

• Define ∆mi := mi −mi−1 and ∆Xi := X(ti)−X(ti−1) to get

P(X(t1) = m1, ∆X2 = ∆m2, ..., ∆Xk = ∆mk)

= P(∆X2 = ∆m2, ..., ∆Xk = ∆mk | X(t1) = m1) P(X(t1) = m1)

= P(∆X2 = ∆m2, ..., ∆Xk = ∆mk) P(X(t1) = m1),

where the last equality is by the independent increments property.

• By repeating this argument, we get that the above k-dimensional distribution is

P(X(t1) = m1)

k∏

i=2

P(X(ti)−X(ti−1) = mi −mi−1)

=(λt1)m1

m1!e−λt1

k∏

i=2

(λ(ti − ti−1))mi−mi−1

(mi −mi−1)!e−λ(ti−ti−1).

117

Page 118: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Poisson processes on Rn for n ≥ 1

• A stationary Poisson process on the whole real line R is defined by

– a countable collection of points τi∞i=−∞,– where the interarrival times τi − τi−1 are IID exponential random variables.

• Alternatively, we can characterize a Poisson process on R by stipulating that

– the number of points in any interval of length t is Poisson distributed with mean λt,and

– that the number of points in nonoverlapping intervals is independent.

• This last characterization naturally extends to that of a Poisson point process on Rn for alldimensions n ≥ 1, i.e., a spatial Poisson process:

• If v(A) is the volume of A ⊂ Rn,

– then the number of points in A is Poisson distributed with mean δv(A),

– where δ is the intensity of the Poisson process with [δ] = points/metren.

« December 1, 2017 George Kesidis

118

Page 119: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example: Hand-off rates among wireless cells

• For this example, we need following result that the Poisson property is preserved by IIDrandom shifts of the points.

• Theorem: If τi is a Poisson process in Rn with intensity δ and the random vectors Yiin Rn are IID and a.s. bounded, then τi + Yi is a Poisson process intensity δ as well.

• In the two-dimensional plane R2 covered by roughly circular cells, assume each mobile takesa direct path through each cell.

• At a cell boundary, an independent and uniformly distributed random change of directionoccurs for each mobile.

• A sample path of a single mobile is depicted in the following figure, where the dot at thecenter of a cell is its base station.

« December 1, 2017 George Kesidis

119

Page 120: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example: Hand-off rates among wireless cells (cont)

« December 1, 2017 George Kesidis

120

Page 121: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example: Hand-off rates among wireless cells (cont)

• Further assume that the average velocities of a mobile through the cells are IID with densityf(v) over [vmin, vmax].

• The mobiles are initially distributed in the plane according to a spatial Poisson process withdensity δ mobile nodes per unit area.

• Finally, assume that the cells themselves are also distributed in the plane so that, at anygiven time, the total displacements of the mobiles are IID.

• Note: The base stations could also be randomly placed according to a spatial Poissonprocess with density δ′ ≪ δ and the resulting circular cells approximate Voronoi sets abouteach of them.

• Exercise:

(a) Find the mean rate λm of mobiles crossing into a cell of diameter ∆. Hint: considerthe length of a chord and use Little’s result.

(b) How would the expression differ in (a) if velocity and direction through a cell weredependent?

« December 1, 2017 George Kesidis

121

Page 122: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Cts-time, time-homog. Markov processes with countable state-space

• We will now define a kind of stochastic process called a Markov process.

• The Poisson process is a (transient) pure birth Markov process.

• A Markov process on a countable state space Σ is called a Markov chain

• A Markov chain is a kind of random walk on Σ. (= Z+ w.l.o.g.).

• It visits a state, stays there for an exponentially distributed amount of time, then makes atransition at random to another state, stays at this new state for an exponentially distributedamount of time, then makes a transition at random to another state, etc.

• All of these visit times and transitions are independent in a way that will be more preciselyexplained in the following.

« December 1, 2017 George Kesidis

122

Page 123: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Markov property

• If, for all integers k ≥ 1, all subsets A,B,B1, ..., Bk ⊂ Σ, and all times t, s, s1, ..., sk ∈R+ such that t > s > s1 > · · · > sk,

P(X(t) ∈ A | X(s) ∈ B, X(s1) ∈ B1, · · · , X(sk) ∈ Bk)

= P(X(t) ∈ A | X(s) ∈ B),

then the stochastic process X is said to possess the Markov property.

• If we identify

– X(t) as a future value of the process,

– X(s) as the present value,

– and past values as X(s1), ...,X(sk),

then the Markov property asserts that the future and the past are conditionally independentgiven the present.

• In other words, given the present state X(s) of a Markov process, one does not requireknowledge of the past to determine its future evolution.

« December 1, 2017 George Kesidis

123

Page 124: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Markov property (cont)

• Any stochastic process (on any state space with any time domain) that has the Markovproperty is called a Markov process.

• As such, the Markov property is a “stochastic extension” of notions of state associated withfinite-state machines and linear time-invariant systems.

• The Markov property as stated above is an immediate consequence of a slightly strongerand more succinctly stated Markov property:for all times s < t and any (measurable) function f ,

E(f(Xt) | Xr, 0 ≤ r ≤ s) = E(f(Xt) | Xs).

« December 1, 2017 George Kesidis

124

Page 125: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Sample path construction of a continuous-time Markov chain

• For a time-homogeneous Markov chain, consider each state n ∈ Z+ and let

ES :=1

−qn,n> 0

be the mean visiting time of the Markov process, i.e., qn,n < 0.

• That is, a Markov chain is said to enter state n at time T and subsequently visit state nfor S seconds if X(T−) 6= n, X(t) = n for all T ≤ t < S + T , and X(S + T) 6= n.

• Also, define the assumed finite set of states

Tn ⊂ Z+\n

to which a transition is possible directly from n.

« December 1, 2017 George Kesidis

125

Page 126: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Sample path construction of a Markov chain - transition rates

• For all m ∈ Tn, define qn,m > 0 such that the probability of a transition from n to m is

−qn,m

qn,n> 0.

• Thus, we clearly need to require that∑

m∈Tn−qn,m

qn,n= 1,

i.e., for all n ∈ Z+,∑

m∈Z+

qn,m = 0,

where qn,m := 0 for all m 6∈ Tn ∪ n.

« December 1, 2017 George Kesidis

126

Page 127: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Sample path construction of a Markov chain - initial distribution

• Now let Ti be the time of the ith state transition with T0 ≡ 0, i.e., the process X isconstant on intervals [Ti−1, Ti) and

X(Ti−1) = X(Ti−) 6= X(Ti)

for all i ∈ Z+.

• Let the column vector π(0) represent the distribution of X(0) on Z+, so that entry inthe nth row is

πn(0) = P(X(0) = n),

i.e., π(0) is the initial distribution of the stochastic process X.

« December 1, 2017 George Kesidis

127

Page 128: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Sample path construction of a Markov chain - alternative construction

• Suppose that X(Ti) = n ∈ Z+.

• To the states m ∈ Tn, associate an exponentially distributed random variable Si(n,m)with parameter qn,m > 0 ( recall this means ESi(n,m) = 1/qn,m ).

• Given X(Ti) = n, the smallest of the random variables

Si(n,m) | m ∈ Tndetermines X(Ti+1) and the intertransition time Ti+1 − Ti.

• That is, X(Ti+1) = j if and only if

Ti+1 − Ti = Si(n, j) = minm∈Tn

Si(n,m).

• The entire collection of exponential random variables

Si(n,m) | i ∈ Z+, n ∈ Z

+,m ∈ Tnare assumed mutually independent.

« December 1, 2017 George Kesidis

128

Page 129: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Sample path construction - alternative construction (cont)

• Therefore, the inter-transition time Ti+1 − Ti is exponentially distributed with parameter

−qn,n :=∑

m∈Tnqn,m,

⇒ E(Ti+1 − Ti) =1

−qn,n> 0 in particular.

• Also, the state transition probabilities

P(X(Ti+1) = j | X(Ti) = n) = P(Si(n, j) = minm∈Tn

Si(n,m)) = − qn,j

qn,n,

• Note again that if a transition from state n to state j is impossible (has probability zero),qn,j = 0.

• Note: Parameters (rates) q are not probabilities.

« December 1, 2017 George Kesidis

129

Page 130: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Conservativeness and time-homogeneity assumptions

• In the following, we assume that

−qn,n < ∞ for all states n,

i.e., the Markov chain is conservative.

• Also, we have assumed that the Markov chain is temporally (time) homogeneous, i.e., forall times s, t ≥ 0 and all states n,m:

P(X(s+ t) = n | X(s) = m) = P(X(t) = n | X(0) = m).

• In summary, assuming the initial distribution π(0) and the parameters

qn,m | n,m ∈ Z+

are known, we have described how to construct a sample path of the Markov chain X froma collection of independent random variables

Si(n,m) | i ∈ Z+, n ∈ Σ = Z

+, m ∈ Tn,where Si(n,m) is exponentially distributed with parameter qn,m.

• When a Markov chain visits state n, it stays an exponentially distributed amount of timewith mean −1/qn,n and then makes a transition to another state m ∈ Tn with probability−qn,m/qn,n.

« December 1, 2017 George Kesidis

130

Page 131: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof that thus constructed process is Markovian

• To prove that the processes thus constructed are Markovian, let

– n := X(s) and

– i be the number of transitions of X prior to the present time s.

• Clearly, the random variables i, n, and Ti (the last transition time prior to s) can bediscerned from Xr, 0 ≤ r ≤ s and can therefore be considered “given” as well.

• The memoryless property of the random variable Ti+1− Ti, distributed exponentially withparameter −qn,n, implies that

P(Ti+1 − s > x | Ti+1 − Ti > s− Ti)

= P(Ti+1 − Ti > x+ (s− Ti) | Ti+1 − Ti > s− Ti)

= P(Ti+1 − Ti > x)

= exp(qn,nx)

for all x > 0.

• Note that exp(qn,nx) depends on Xr, 0 ≤ r ≤ s only through n = X(s).

« December 1, 2017 George Kesidis

131

Page 132: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof that thus constructed process is Markovian (cont)

• So, Ti+1− s is exponentially distributed with parameter −qn,n and conditionally indepen-dent of s− Ti given Xr, 0 ≤ r ≤ s.

• Furthermore, Xr, 0 ≤ r < Ti is similarly conditionally independent of Xr, r ≥ Ti+1given X(s) = n ( by the assumed mutual independence of the Si(n,m) randomvariables ).

n

Ti Ti+1s

• Since the exponential distribution is the only continuous one that is memoryless, one canconversely show that the Markov property implies the qualities of the previous constructions.

« December 1, 2017 George Kesidis

132

Page 133: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Poisson process is Markovian

• Clearly, a Poisson process with intensity λ is an example of a Markov chain.

• The transition rates of a Poisson process are

∀n ∈ Z+, qn,m =

λ if m = n+ 1,−λ if m = n,0 else.

« December 1, 2017 George Kesidis

133

Page 134: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition-rate matrix (generator) of a cts-time Markov chain

• The matrixQ having qn,m as its entry in the nth row andmth column is called the transitionrate matrix (or just “rate matrix” or “generator”) of the Markov chain X.

• Note by definition of qi,i < 0, the sum of the entries in any row of the matrix Q equalszero.

• The nth row of Q corresponds to state n from which transitions occur, and

• the mth column of Q corresponds to states m to which transitions occur.

• For n 6= m, the parameter qn,m is called a transition rate (or probability flux) because, forany i ∈ Z+, ESi(n,m) = 1/qn,m.

• Thus, we expect that, if qn,m > qn,j , then transitions from state n to m will tend to bemade more frequently (at a higher rate) by the Markov chain than transitions from state nto j.

« December 1, 2017 George Kesidis

134

Page 135: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Rate matrix of a Poisson process

• The transition matrix of a Poisson process with intensity λ > 0 is

Q =

−λ λ 0 0 0 · · ·0 −λ λ 0 0 · · ·0 0 −λ λ 0 · · ·... ... ... ... ... . . .

« December 1, 2017 George Kesidis

135

Page 136: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Rate matrix - example 2

• Suppose the strict state space of X is 0,1,2 and the rate matrix is

Q =

−5 2 30 −4 41 0 −1

• Q is just a 3×3 since the strict state space is just a (finite-sized) 3-tuple 0,1,2, ratherthan all of the nonnegative integers, Z+.

• A direct transition from state 2 to state 1 is impossible (as is a direct transition from state1 to state 0).

• Also, each visit to state 0 lasts an exponentially distributed amount of time with parameter5 (i.e., with mean 0.2); a transition to state 1 then occurs with probability 2

5or a transition

to state 2 occurs with probability 35.

« December 1, 2017 George Kesidis

136

Page 137: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Graphical depiction of a Markov chain’s transition rates

• We can also represent the transition rates (and states) graphically by what is called atransition rate diagram.

• The states of the Markov chain are circled and arrows are used to indicate the possibletransitions (labeled with assumed positive transition rates) between states.

• The transition rate itself labels the corresponding arrow (transition).

• For the two previous examples:

...

λ λ λ λ

0 1 2 3 4

210

q1,2 = 4

q0,2 = 3

q2,0 = 1

q0,1 = 2

137

Page 138: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov equations

• Consider the Markov chain X on Z+ with rate matrix Q and initial distribution π(0).

• For τ ∈ R+ and n,m ∈ Z+, define

pn,m(τ) = P(X(s+ τ) = m | X(s) = n).

• Again, we are assuming that the chain is temporally homogeneous so that the right-handside of the above equation does not depend on time s.

• The matrix P(τ) whose entry in the nth row and mth column is pn,m(τ) is called thetransition probability matrix.

• Finally, for all times s ∈ R+ and all states n ∈ Z+, define

πn(s) := P(X(s) = n).

• So, the column vector π(s), whose ith entry is πi(s), is the marginal distribution of X attime s, i.e., the distribution (PMF) of X(s).

« December 1, 2017 George Kesidis

138

Page 139: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov equations (cont)

• Conditioning on X(s) and using the law of total probability,

P(X(s+ τ) = m) =

∞∑

n=0

P(X(s+ τ) = m | X(s) = n)P(X(s) = n)

for all m ∈ Z+, i.e.,

πm(s+ τ) =

∞∑

i=0

pn,m(τ)πn(s) for all m ∈ Z+.

• We can write these equations compactly in matrix form:

πT(s+ τ) = πT(s)P(τ),

where πT(s) is the transpose of the column vector π(s), i.e., πT(s) is a row vector.

« December 1, 2017 George Kesidis

139

Page 140: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov equations (cont)

• Moreover, any finite-dimensional distribution (FDD) of the Markov chain can be computedfrom the transition probability functions and the initial distribution.

• For example, for times 0 < r < s < t,

P(X(t) = n, X(s) = m, X(r) = k)

= P(X(t) = n | X(s) = m, X(r) = k)P(X(s) = m, X(r) = k)

= P(X(t) = n | X(s) = m)P(X(s) = m | X(r) = k)P(X(r) = k)

= pm,n(t− s)pk,m(s− r)∑

i

P(X(r) = k | X(0) = i)P(X(0) = i)

= pm,n(t− s)pk,m(s− r)∑

i

pi,k(r)πi(0)

where the second equality is the Markov property.

• In the second-to-last expression, we clearly see the transition from some initial state to kat time r, then to state m at time s (s− r seconds later), and finally to to state n at timet (t− s seconds later).

« December 1, 2017 George Kesidis

140

Page 141: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Computing the transition probability matrix with the rate matrix

• First note that a transition in an interval of time of length zero occurs with probability zero,

pn,m(0) = 1n = m ∀n,m, i.e., P(0) = I,

where I is the (multiplicative) identity matrix, i.e., i.e., the square matrix with 1’s in everydiagonal entry and 0’s in every off-diagonal entry.

• For states n 6= m, a small amount of time 0 < ε ≪ 1, and an arbitrarily chosen times ∈ R+, consider

pn,m(ε) = P(X(s+ ε) = m | X(s) = n).

• Let Vn be the residual holding time in state n after time s, i.e., X(t) = n for allt ∈ [s, s+ Vn) and X(s+ Vn) 6= n.

« December 1, 2017 George Kesidis

141

Page 142: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Computing the TPM with the rate matrix (cont)

• The total holding time in state n is ∼ exp(−qn,n).

• So by the memoryless property, Vn ∼ exp(−qn,n) and for all m 6= n,

pn,m(ε) = P(Vn ≤ ε)× qn,m

−qn,n+ o(ε).

• The first term on the RHS represents the probability that the Markov chain X makes onlya single transition (from n to m) in interval of time (s, s+ ε].

• Recall that the probability thatX makes a transition to statem from state n is−qn,m/qn,n.

• The symbol o(ε) (”little oh of ε”) represents a function satisfying

limε→0

o(ε)

ε= 0,

specifically here the probability that the Markov chain has two or more transitions in theinterval of time (s, s+ ε].

« December 1, 2017 George Kesidis

142

Page 143: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Computing the TPM with the rate matrix (cont)

• Substituting

P(Vn ≤ ε) = 1− exp(εqn,n)

= −εqn,n + o(ε),

gives for all m 6= n,

pn,m(ε) = qn,mε+ o(ε)

⇒ pn,m(ε)− pn,m(0)

ε= qn,m +

o(ε)

ε,

where we recall that pn,m(0) = 0 for all m 6= n.

• Letting ε→ 0, we get

∀m 6= n, pn,m(0) = qn,m,

where the left-hand side is the time derivative of pn,m at time 0.

« December 1, 2017 George Kesidis

143

Page 144: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov backward equations

• Finally, since

pn,n(ε) = 1−∑

m∈Z+, m 6=n

pn,m(ε),

we get, after differentiating with respect to time,

pn,n(0) = −∑

m 6=n

qn,m = qn,n < 0,

where we have used the definition of qn,n.

• In matrix form,

P(0) = Q.

• This statement can be generalized to obtain the Kolmogorov backward equations:

∀τ ≥ 0, P(τ) = P(τ)Q with P(0) = I.

« December 1, 2017 George Kesidis

144

Page 145: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov backward equations - proof

• First, we have already established (for s = 0) that

P(0) = IQ = P(0)Q,

• For s > 0, take a real ε such that 0 < ε≪ mins,1. So,pn,m(s) = P(X(s) = m | X(0) = n)

=P(X(s) = m, X(0) = n)

P(X(0) = n)

=

∞∑

k=0

P(X(s) = m, X(s− ε) = k, X(0) = n)

P(X(0) = n)

× P(X(s− ε) = k, X(0) = n)

P(X(s− ε) = k, X(0) = n)

=

∞∑

k=0

P(X(s− ε) = k | X(0) = n)

× P(X(s) = m | X(s− ε) = k, X(0) = n)

=

∞∑

k=0

P(X(s− ε) = k | X(0) = n) (by Markov property)

× P(X(s) = m | X(s− ε) = k)

=

∞∑

k=0

pn,k(s− ε)pk,m(ε)

145

Page 146: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov backward equations - proof (cont)

• Therefore,

pn,m(s) = pn,m(s− ε)pm,m(ε) + ε∑

k 6=m

pn,k(s− ε)qk,m + o(ε)

= pn,m(s− ε)

1−∑

i 6=m

pm,i(ε)

+ ε∑

k 6=m

pn,k(s− ε)qk,m + o(ε)

= pn,m(s− ε)

1− ε∑

i 6=m

qm,i

+ ε∑

k 6=m

pn,k(s− ε)qk,m + o(ε)

= pn,m(s− ε)(1 + εqm,m) + ε∑

k 6=m

pn,k(s− ε)qk,m + o(ε).

« December 1, 2017 George Kesidis

146

Page 147: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Kolmogorov backward equations - proof (cont)

• After a simple rearrangement we get

pn,m(s)− pn,m(s− ε)

ε= pn,m(s− ε)qm,m +

k 6=m

pn,k(s− ε)qk,m +o(ε)

ε

=

∞∑

k=0

pn,k(s− ε)qk,m +o(ε)

ε.

• So, letting ε→ 0 in the previous equation, we get, for all n,m ∈ Z+ and all real s > 0,

pn,m(s) =

∞∑

k=0

pn,k(s)qk,m

as desired.

« December 1, 2017 George Kesidis

147

Page 148: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Kolmogorov forward equations

• Using a similar argument, one can condition on the distribution of X(ε), i.e., move forwardin time from the origin.

• We will then arrive at the Kolmogorov forward equations:

P(s) = QP(s).

« December 1, 2017 George Kesidis

148

Page 149: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition probability matrix by matrix exponential

• Recall that

P(0) = I.

• Equipped with this initial condition, we can solve the Kolmogorov equations for the case ofa finite state space to get, for all t ≥ 0,

P(t) = eQt,

where the matrix exponential

exp(Qt) ≡ I+Qt+1

2!Q2t2 +

1

3!Q3t3 + · · · .

• Note that the terms tk/k! are scalars and the terms Qk (including Q0 = I) are all squarematrices of the same dimensions.

« December 1, 2017 George Kesidis

149

Page 150: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition probability matrix by matrix exponential (cont)

• Indeed, clearly exp(Q0) = I and, for all t > 0,

d

dtexp(Qt) = Q+Q2t+

1

2!Q3t2 + · · ·

= [I+Qt+1

2!Q2t2 + · · · ]Q

= exp(Qt)Q,

where, in the second equality, we could have instead factored Q out to the left to obtainthe forward equations.

• In summary, for all s, t ∈ R+ such that s ≤ t, the distribution of X(t) is

πT(t) = πT(s) P(t− s)

= πT(s) exp(Q(t− s)).

« December 1, 2017 George Kesidis

150

Page 151: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition probability matrix - example

• Consider an example where the TRM Q has distinct real eigenvalues,

Q =

−2 1 11 −1 01 0 −1

.

The corresponding transition rate diagram (TRD) is

1

1

1

1

210

« December 1, 2017 George Kesidis

151

Page 152: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition probability matrix - example (cont)

• The eigenvalues are the roots of Q’s characteristic polynomial:

det(zI−Q) ≡ z(z + 1)(z + 3);

• Taking the eigenvalues z ∈ 0,−1,−3 and then solving the right-eigenvectors x fromQx = zx gives:

– [1 1 1]T is a right-eigenvector corresponding to eigenvalue 0 (true for all ratematrices Q),

– [0 1 − 1]T is a right-eigenvector corresponding to eigenvalue −1, and– [2 − 1 − 1]T is a right-eigenvector corresponding to eigenvalue −3.

• Combining these three statements in matrix form gives

Q

1 0 21 1 −11 −1 −1

=

1 0 21 1 −11 −1 −1

0 0 00 −1 00 0 −3

=: VΛ.

« December 1, 2017 George Kesidis

152

Page 153: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Computing matrix exponential by Jordan form

• Thus, we arrive at a Jordan decomposition of the matrix Q for the special case of distincteigenvalues:

Q = VΛV−1.

• So, for all integers k ≥ 1,

Qk = VΛkV−1,

where

Λk =

0 0 00 (−1)k 00 0 (−3)k

⇒ exp(Qt) = V exp(Λt)V−1

= V

1 0 00 e−t 00 0 e−3t

V−1.

• Note that we could have developed this example using left eigenvectors instead of right;e.g., the stationary distribution σT is the left eigenvector corresponding to eigenvalue 0.

« December 1, 2017 George Kesidis

153

Page 154: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary distribution of a Markov chain

• Suppose there exists a distribution σ on the state space Σ = Z+ that satisfies the fullbalance equations

σTQ = 0T,

i.e.,∞∑

n=0

σnqn,m = 0 for all m ∈ Z+,

so that σ is a nonnegative left eigenvector corresponding to Q’s zero eigenvalue (recallQ1 = 0).

• Therefore, for all integers k > 0,

σTQk = 0T

⇒ σTP(t) = σTeQt = σTI = σT ∀t ∈ R+.

• Recall that π(t) is defined to be the distribution of Markov chain X(t).

• Therefore, if π(0) = σ, then π(t) = σ for all real t > 0.

• So σ is called a stationary or invariant distribution of the Markov chain X with TRM Q.

• The Markov chain X itself is said to be stationary if π(0) = σ.

« December 1, 2017 George Kesidis

154

Page 155: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary distribution of a Markov chain - balance equations

σTQ = 0 ⇔ ∀ states m, probability flux into m equals that out of m:

∞∑

n6=m

σnqn,m = σm(−qm,m)

= σm

∞∑

n6=m

qm,n

« December 1, 2017 George Kesidis

155

Page 156: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary distribution of a Markov chain - examples

• For the previous example 3-state TRM, the unique invariant distribution is uniform σT =[

13

13

13

]

.

• To model the packet-flow generated by a voice source:

– First let the talkspurt state be denoted by 1 and the silent state be denoted by 0, i.e., ourmodeling assumption is that successive talkspurts and silent periods are independentand exponentially distributed.

– In steady state, the mean duration of a talkspurt is 352 ms and the mean duration ofa silence period is 650 ms.

– The mean number of packets generated per second is 22, i.e., 22 48-byte (ATM)payloads, or about 8 kbits per second on average.

– Solving the balance equations for a two-state Markov chain gives the invariant distri-bution:

σ0 =q1,0

q0,1 + q1,0and σ1 =

q0,1

q0,1 + q1,0.

– So, q1,0 = 10.352

and q0,1 = 10.650

.

– Finally, the mean transmission rate is 0 · σ0 + r · σ1 = 22 packets/s.

« December 1, 2017 George Kesidis

156

Page 157: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Existence and uniqueness of stationary distribution

• We now consider the properties of Markov chains that have bearing on the issues of existenceand uniqueness of stationary distributions.

• By the definition of its diagonal entries, the sum of the columns of a rate matrix Q is thezero vector.

• Thus, the balance equations σTQ = 0T are dependent.

• Obviously another requirement is σ needs to be a PMF on the state space,

σi ≥ 0 for all i.

• That is, we replace one of the columns of Q, say the ith, with a column all of whose entriesare 1, resulting in the matrix Qi so that

σTQi = eTi ,

where ei is a column vector whose entries are all zero except that the ith entry is 1.

• Thus, we are interested in conditions on the rate matrix Q that result in the invertibility(nonsingularity) of Qi (for any i) giving a unique

σT = eTi Q−1i .

« December 1, 2017 George Kesidis

157

Page 158: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Doeblin’s theory for Markov chains - recurrence & transience

• First note that the quantity

VX(i) ≡∫ ∞

0

1X(t) = idt

represents the total amount of time the stochastic process X visits state i.

• A state i of a Markov chain is said to be recurrent if

P(VX(i) =∞ | X(0) = i) = 1,

i.e., the Markov chain will visit state i infinitely often with probability 1.

• On the other hand, if

P(VX(i) =∞ | X(0) = i) = 0,

i.e., P(VX(i) < ∞) = 1 so that the Markov chain will visit state i only finitely often,then i is said to be a transient state.

• All states are recurrent in the previous example of a 3-state TRM, whereas all statesare transient for the Poisson process.

• If all of the states of a Markov chain are recurrent, then the Markov chain itself is said tobe recurrent.

« December 1, 2017 George Kesidis

158

Page 159: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Positive and null recurrence

• Suppose that i is a recurrent state.

• Let τi > 0 be the time of the first transition back into state i by the Markov chain.

• The state i is said to be positive recurrent if

E(τi | X(0) = i) < ∞.

On the other hand, if the state i is recurrent and

E(τi | X(0) = i) = ∞,

then it is said to be null recurrent; see

• If all of the states of the (temporally homogeneous) Markov chain are positive recurrent,then the Markov chain itself is said to be positive recurrent.

• cf. the example of a birth-death Markov chain with infinite state-space and the M/M/1queue special case.

« December 1, 2017 George Kesidis

159

Page 160: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Irreducibility

• A Markov chain X or associated TRM Q is irreducible if there is a path from any state ofthe transition rate diagram to any other state of the diagram.

• The following example is an irreducible transition rate diagram.

1q1,0

q0,2 q2,3

q3,2q2,0

q2,1

0 2 3

« December 1, 2017 George Kesidis

160

Page 161: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Irreducibility (cont)

• The following transition rate diagram does not have a path from state 2 to state 0; therefore,the associated Markov chain is reducible.

q4,3

q5,0

q0,5

q1,2

q2,1

q0,1

q0,3 q3,4

0

3 4

1 25

« December 1, 2017 George Kesidis

161

Page 162: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Irreducibility (cont)

• The state space of a reducible Markov chain can be partitioned into one transient class(subset) and a number of recurrent (or “communicating”) classes.

• If a Markov chain begins somewhere in the transient class, it will ultimately leave it if thereare one or more recurrent classes.

• Once in a recurrent class, the Markov chain never leaves it (when a single state constitutesan entire recurrent class, it is sometimes called an absorbing state of the Markov chain).

• For the previous reducible example, 0,5 is the transient class and 1,2 and 3,4are recurrent classes.

• Irreducibility is a property only of the transition rate diagram (i.e., whether the transitionrates are zero or not); irreducibility is otherwise not dependent on the values of transitionrates.

• If the Markov chain has a finite number of states, then all recurrent states are positiverecurrent and the recurrent and transient states can be determined by the TRD’s structure.

« December 1, 2017 George Kesidis

162

Page 163: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Existence and uniqueness of stationary distribution

• Theorem: If a continuous-time Markov chain is irreducible and positive recurrent, thenthere exists a unique stationary (invariant) distribution.

• In the following theorem, the associated Markov chain X(t) ∼ π(t) is not necessarilystationary.

• Theorem: For any irreducible and positive recurrent TRM Q and any initial distributionπ(0),

limt→∞

πT(t) = limt→∞

πT(0) exp(Qt) = σT,

where σ is the (unique) invariant of Q.

• That is, the Markov chain will converge in distribution to its stationary σ.

• For this reason, σ is also known as the steady-state distribution of the Markov chain Xwith rate matrix Q.

« December 1, 2017 George Kesidis

163

Page 164: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Existence and uniqueness of stationary distribution (cont)

• Consistent with the previous theorem, if Q is the TRM of an irreducible and positiverecurrent Markov chain, then

limt→∞

exp(Qt) =

σT

σT

...σT

where σ is the unique invariant of Q.

• Note that this limit is a matrix of rank 1.

• Also, for any summable function g on Z+,

Eg(X(t)) =

∞∑

i=0

πi(t)g(i) →∞∑

i=0

σig(i) as t→∞ .

« December 1, 2017 George Kesidis

164

Page 165: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Time-reversed Markov chain

• Consider a Markov chain X on (the entire) R with TRM Q and unique stationary distri-bution σ.

• The stochastic process that is X reversed in time is

Y (t) ≡ X(−t) for t ∈ R.

• Theorem: The time-reversed Markov chain of X, Y , is itself a Markov chain and, if Xis stationary, the transition rate matrix of Y is R whose entry in the mth row and nth

column is

rm,n = qn,mσn

σm,

where qn,m are the transition rates of X.

• It is easy to show that the reverse-time chain Y (t) ≡ X(−t) also has stationary distri-bution σ; clearly, this should be true since the fraction of of time that Y visits any givenstate would be the same as (the forward-time chain) X.

« December 1, 2017 George Kesidis

165

Page 166: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Theorem on time-reversed Markov chains - proof

• First note R is indeed a transition rate matrix because the balance equations

∞∑

n=0

rm,n = 0.

• Consider an arbitrary integer k ≥ 1, arbitrary subsets A,B,B1, ..., Bk of Z+, and arbitrarytimes t, s, s1, ..., sk ∈ R+ such that t < s < s1 < · · · < sk, i.e.,

−t > − s > − s1 > · · · > − sk.

« December 1, 2017 George Kesidis

166

Page 167: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Theorem on time-reversed Markov chains - proof (cont)

• The transition probabilities for the reverse-time chain Y are

P(Y (−t) ∈ A | Y (−s) ∈ B, Y (−s1) ∈ B1, ..., Y (−sk) ∈ Bk)

= P(X(t) ∈ A | X(s) ∈ B, X(s1) ∈ B1, ..., X(sk) ∈ Bk)

=P(X(t) ∈ A, X(s) ∈ B, X(s1) ∈ B1, ..., X(sk) ∈ Bk)

P(X(s) ∈ B, X(s1) ∈ B1, ..., X(sk) ∈ Bk)

=P(X(sk) ∈ Bk | X(t) ∈ A, ..., X(sk−1) ∈ Bk−1)

P(X(sk) ∈ Bk | X(s) ∈ B, ..., X(sk−1) ∈ Bk−1)

× P(X(t) ∈ A, ..., X(sk−1) ∈ Bk−1)

P(X(s) ∈ B, ..., X(sk−1) ∈ Bk−1)

=P(X(sk) ∈ Bk | X(sk−1) ∈ Bk−1)

P(X(sk) ∈ Bk | X(sk−1) ∈ Bk−1)

× P(X(t) ∈ A, ..., X(sk−1) ∈ Bk−1)

P(X(s) ∈ B, ..., X(sk−1) ∈ Bk−1)

=P(X(t) ∈ A, X(s) ∈ B, X(s1) ∈ B1, ..., X(sk−1) ∈ Bk−1)

P(X(s) ∈ B, X(s1) ∈ B1, ..., X(sk−1) ∈ Bk−1),

where the second-to-last equality is by the Markov property of X.

« December 1, 2017 George Kesidis

167

Page 168: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Theorem on time-reversed Markov chains - proof (cont)

• We can repeat this argument k − 1 more times to get

P(Y (−t) ∈ A | Y (−s) ∈ B, Y (−s1) ∈ B1, ..., Y (−sk) ∈ Bk)

=P(X(t) ∈ A, X(s) ∈ B)

P(X(s) ∈ B)

= P(X(t) ∈ A | X(s) ∈ B)

= P(Y (−t) ∈ A | Y (−s) ∈ B).

• So, we have just shown that Y is Markovian.

« December 1, 2017 George Kesidis

168

Page 169: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Theorem on time-reversed Markov chains - proof (cont)

• We now want to find R in terms of Q and σ.

• For t < s (i.e., −s < −t), note thatP(Y (−t) = n | Y (−s) = m)

= P(X(t) = n | X(s) = m)

=P(X(t) = n, X(s) = m)

P(X(s) = m)× P(X(t) = n)

P(X(t) = n)

= P(X(s) = m | X(t) = n)× P(X(t) = n)

P(X(s) = m).

Since X is stationary by assumption, this implies that

pYm,n(−t− (−s)) = pXn,m(s− t)σn

σm,

where n 6= m and the left-hand side is the transition probability for Y .

• Differentiating this equation with respect to s − t = − t − (−s) and then evaluatingthe result at s− t = 0 gives

rm,n = qn,mσn

σm.

« December 1, 2017 George Kesidis

169

Page 170: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Time-reversible Markov chains and detailed balance equations

• A Markov chain X is said to be time reversible if

qm,n = rm,n :=σn

σmqn,m for all states n 6= m,

i.e., the transition rates of the stationary (forward-time) Markov chain X, qm,n, are thesame as those of the reverse-time Markov chain Y (t) = X(−t).

• These are the simplified detailed balance equations for a time-reversible Markov chain:

σmqm,n = σnqn,m for all states n 6= m.

• So, X is time reversible if the average rate at which transitions from state m to n occurin reverse time equals the average rate at which transitions from state n back to m occurforward in time.

• Many of the Markov chains subsequently considered will be time reversible.

« December 1, 2017 George Kesidis

170

Page 171: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Time-reversible Markov chains and detailed balance equations

• Exercise: Show that if a distribution σ satisfies the detailed balance equations for a ratematrix Q, then it also satisfies the balance equations for the invariant distribution of Q.

• Given an irreducible and positive recurrent rate matrix Q, if one finds a distribution σ thatsatisfies detailed balance, the associated Markov chain is time reversible.

• That is, time reversibility is a property that holds if and only if the detailed balance equationsare satisfied.

• Note that all two-state Markov chains are time reversible since the single balance equationis also a detailed balance equation.

« December 1, 2017 George Kesidis

171

Page 172: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Time-reversible Markov chains - examples

• The previous example 3-state TRM is trivially time-reversible since the stationary distribu-tion is uniform and the TRM is symmetric.

• Exercise: Does every symmetric TRM have a uniform invariant distribution?

• Consider the following (asymmetric) TRM:

Q =

−3 1 21 −2 11 1 −2

.

• Its invariant distribution is

σT =[

312

412

512

]

,

so that

σ1q1,2 = 312· 1 6= 4

12· 1 = σ2q2,1.

« December 1, 2017 George Kesidis

172

Page 173: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Modeling time-series data using a Markov chain

• Consider a single sample path Xω(t), t ∈ [0, T ], of a stationary process, where T ≫ 1.

• We may be interested in estimating its marginal mean,

µ ≡ EX(t),

by

1

T

∫ T

0

Xω(t)dt.

• If this quantity converges to the mean as T → ∞ (for almost all sample paths Xω) thenX is said to be ergodic in the mean.

• If the stationary distribution of X, σ, can be similarly approximated because

σn = limT→∞

1

T

∫ T

0

1Xω(t) = ndt,

then X is said to be ergodic in distribution.

• Such estimates are sometimes used even when the process X is known not to be stationaryassuming that the transient portion of the sample path will be negligible.

« December 1, 2017 George Kesidis

173

Page 174: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fitting a Markov model to data - states

• Given sample path measurements, we now describe how to obtain the most likely TRM Qfor one or more measured sample paths (time series) of the physical process to be modeled.

• We first assume that the states themselves are readily discernible from the data.

• Quantization (aggregation) of the observed/physical states may be required to obtain adiscrete state space if the physical state space is uncountable.

• Even if the physical state space is already discrete, it may be further simplified by judiciousquantization/clustering.

• However, assuming the data was generated by a Markov process, excessive state aggregationmay compromise its Markovian character.

« December 1, 2017 George Kesidis

174

Page 175: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fitting a Markov model to data - pertinent statistics

• Given a space ofN defined states, one can glean the following information from sample-pathdata, Xω:

– the total time duration of the sample path, T ,

– the total time spent in state i, τi, for each element i of the defined state space, i.e.,

τi =

∫ T

0

1X(t) = idt,

– the total number of jumps taken out of state i (i.e., the number of visits to state i),Ji, and

– the total number of jumps out of state i to state j, Ji,j.

Clearly,

T =∑

i

τi

and, for all states i,

Ji =∑

i

Ji,j.

« December 1, 2017 George Kesidis

175

Page 176: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Most likely Markov model of data

• From this information, we can derive:

– the sample occupation time for each state i,

σi =τi

Tand − 1

qi,i=

τi

Ji

– the sample probability of transiting to state j from i,

ri,j =Ji,j

Ji.

• From this derived information, we can directly estimate the “most likely” transition ratesof the process:

qi,j = ri,j(−qi,i) for all i 6= j.

« December 1, 2017 George Kesidis

176

Page 177: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Most likely Markov model of data (cont)

• This leaves us with the N unknowns qi,i for 1 ≤ i ≤ N .

• Want to use the N quantities σi to determine the residual N unknowns qi,i, but in orderto do, so we need to assume that the physical process is stationary.

• If so, we can identify σ as approximately equal to the stationary distribution of the Markovchain and so the balance equations hold:

σTQ = 0.

• Given that the substitution qi,j = ri,j(−qi,i) is used (for all i 6= j) in the balanceequations, the result is only N − 1 linearly independent equations in N unknowns qi,i.

• Also consider the total “speed” of the Markov chain, i.e., the aggregate mean rate of jumps:

i

σi(−qi,i) =1

T

i

Ji.

« December 1, 2017 George Kesidis

177

Page 178: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fitting a Markov model to data - example

• For N = 3 states, consider sample path data leading to the following information.

• The time-duration and occupation times were observed to be:

T τ0 τ1 τ2100 20 50 30

• The total number of transitions out of each state were observed to be:

J0 J1 J2

10 40 30

The specific transition counts Ji,j were observed to be:

from\to 0 1 20 − 5 51 10 − 302 20 10 −

« December 1, 2017 George Kesidis

178

Page 179: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fitting a Markov model to data - example (cont)

• So, finding qi,j for all i 6= j as above gives

Q =

q1,1 − 510q1,1 − 5

10q1,1

−1040q2,2 q2,2 −30

40q2,2

−2030q3,3 −10

30q3,3 q3,3

.

« December 1, 2017 George Kesidis

179

Page 180: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fitting a Markov model to data - example (cont)

• Now the qi,i can be solved from the first two (independent) balance equations,

20100

q1,1 − 50100· 1040q2,2 − 30

100· 2030q3,3 = 0,

− 20100· 510q1,1 + 50

100q2,2 − 30

100· 1030q3,3 = 0,

and the total speed equation,

20100

(−q1,1) + 50100

(−q2,2) + 30100

(−q3,3) = 1100

(10 + 40+ 30).

• The resulting solution is

q1,1 = −7255, q2,2 = −128

275, and q3,3 = −56

55.

• These are the “maximum likelihood” transition rates given the data.

« December 1, 2017 George Kesidis

180

Page 181: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death Markov chains

• We now define an important class of Markov chains on Σ = Z+ that are called birth-deathprocesses.

• The terminology comes from Markovian population models wherein

– X(t) is the number of living individuals at time t,

– a birth, represented by a state change from i ≥ 0 to i + 1, is at rate qi,i+1 = λi,and

– a death, represented by a state change from i > 0 to i− 1, is at rate qi,i−1 = µi.

« December 1, 2017 George Kesidis

181

Page 182: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with finite state space

• Consider a finite state space

Σ = Z+K ≡ 0,1,2, ...,K

and transition rates

– λi > 0 for all i ∈ 0,1,2, ...,K − 1 and– µi > 0 for all i ∈ 1,2, ...,K but– µ0 = 0 and λK = 0.

• So, the finite birth-death process has an (K +1)× (K +1) transition rate matrix

Q =

−λ0 λ0 0 0 0 · · · 0µ1 −µ1 − λ1 λ1 0 0 · · · 00 µ2 −µ2 − λ2 λ2 0 · · · 0

... ... ... . . . . . . ...

0 0 · · · 0 µK−1 −µK−1 − λK−1 λK−10 0 · · · 0 0 µK −µK

. (1)

« December 1, 2017 George Kesidis

182

Page 183: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with finite state space (cont)

• Note that this rate matrix is irreducible.

• The finiteness of the state space implies that the birth-death process is also positive recur-rent.

• We will now compute the stationary distribution σ which is a vector of size K + 1 bysolving

σTQ = 0,

which is a compact representation for the following system of K +1 balance equations:

−λ0σ0 + µ1σ1 = 0,

λi−1σi−1 − (µi + λi)σi + µi+1σi+1 = 0 for 0 < i < K,

λK−1σK−1 − µKσK = 0.

« December 1, 2017 George Kesidis

183

Page 184: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with finite state space (cont)

• The solution to these equations is given by

σi = σ0

i∏

j=1

λj−1µj

for 0 < i ≤ K,

where and σ0 is chosen as a normalizing term (i.e., so that∑

n≥0 σn = 1),

σ0 =

(

1+

K∑

i=1

i∏

n=1

λn−1µn

)−1

.

• Exercise: Check whether this Markov chain is time reversible and detailed balance holds.

« December 1, 2017 George Kesidis

184

Page 185: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with finite state space - example

... K

λ λλ

µ 2µ Kµ

K−1210

• Consider the example where

λi = λ and µi = i · µfor some positive constants λ and µ.

• Define the constant

ρ ≡ λ

µ.

• In this case the stationary distribution is a truncated Poisson,

σi = σ0ρi

i!for 1 ≤ i ≤ K and σ0 =

(

K∑

n=0

ρn

n!

)−1

.

« December 1, 2017 George Kesidis

185

Page 186: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with infinite state space

• The balance equations σTQ = 0 for an infinite state space Z+ with transition ratesλi > 0 for all i ≥ 0 and µi > 0 for all i ≥ 1 are

−λ0σ0 + µ1σ1 = 0

and, for i > 0,

λi−1σi−1 − (µi + λi)σi + µi+1σi+1 = 0.

• As for the finite case, the infinite birth-death process is irreducible.

• Assuming for the moment that it is positive recurrent as well, we can solve the balanceequations to get

σi = σ0

i∏

j=1

λj−1µj

for i > 0.

• Choosing σ0 to normalize (so∑∞

i=0 σi = 1), we get

σ0 =

(

1+

∞∑

i=1

i∏

n=1

λn−1µn

)−1

.

« December 1, 2017 George Kesidis

186

Page 187: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with infinite state space - recurrence

• The condition for positive recurrence is that

∞∑

i=1

i∏

n=1

λn−1µn

< ∞

because σ0 > 0 under this condition and, therefore, σ is a well-defined distribution (PMF)on Z+.

• Otherwise (i.e., if σ0 = 0), the Markov chain is null recurrent or transient (even thoughthe Markov chain is irreducible).

« December 1, 2017 George Kesidis

187

Page 188: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with infinite state space - example

...

µ µ µµ

λλ λ λ

3210 4

• We now consider the example where λi = λ and µi = µ for all i and constants λ, µ > 0.

• Again define the constant

ρ ≡ λ

µ.

• The invariant is geometric when ρ < 1: σi = (1− ρ)ρi for i ≥ 1.

• Note that

σ0 =

( ∞∑

i=0

ρi

)−1

= 1− ρ > 0

if and only if ρ < 1, which is the condition for positive recurrence in this example.

« December 1, 2017 George Kesidis

188

Page 189: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death processes with infinite state space - example (cont)

• That is, if λ < µ this process is positive recurrent.

• If λ > µ the process is transient, i.e., each state is visited only finitely often a.s.

• If λ = µ the process is null recurrent, i.e., though each state is visited infinitely often a.s.,the expected time between visits is infinite.

« December 1, 2017 George Kesidis

189

Page 190: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A queue described by an underlying Markov chain - notation

• The previous example of a birth-death Markov chain is also called the “M/M/1” queue,where

– The first “M” in this notation means that the job interarrival times are Memoryless;i.e., the job arrival process is a Poisson process which has exponential (memoryless)interarrival times Tn − Tn−1.

– The second “M” means that the job service times, Sn, are independent and identicallydistributed exponential (Memoryless) random variables - also, the service times areindependent of the arrival times.

– The “1” means that there is one work-conserving server.

• The queue is implicitly assumed to have an infinite capacity to hold jobs; indeed, “M/M/1”and “M/M/1/∞” specify the same queue.

• So, the M/M/1 queue is lossless.

• When a general distribution is involved, the terms “G” or “GI” are used instead of “M”;“GI” denotes general and IID.

• So, an M/GI/1 queue has a Poisson job arrival process and IID job service times of somedistribution that is not necessarily exponential.

« December 1, 2017 George Kesidis

190

Page 191: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Forward-equation applications to b-d procesess

• Consider an interval J = i, i+ 1, ..., j − 1, j ⊂ Z of states, where i < j.

• Suppose a birth-death Markov chain X makes a transition into the interval at state i attime t, i.e., X(t) = i and X(t−) = i− 1 6∈ J .

• Let Zk be the first time that X makes a transition to state k after time t, i.e.,

Zk = infs ≥ t | X(s) = k.

• Note that Zi = t by the definition of t above.

• Also, by the assumed temporal homogeneity, the distribution of Zi− t does not depend ont;

• so we take t = 0 to simplify notation in the following.

• Assume that the birth-death process is such that there is a positive probability that it willexit the interval J at either end.

• We will show how the Kolmogorov equations can be used to compute the probability thatthe Markov chain exits the interval J at i.

« December 1, 2017 George Kesidis

191

Page 192: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Prob. a b-d process exits an interval at a given end

• For k = i− 1, i, ..., j, j + 1, define

g(k) = P(Zi−1 < Zj+1 | X(0) = k).

• So, we want g(i) or g(j).

• First note that g(i− 1) = 1 and g(j +1) = 0.

• Now consider a positive real ε≪ 1

• By a forward-conditioning argument, for i ≤ k ≤ j,

g(k) =∑

m

P(Zi−1 < Zj+1 | X(0) = k, X(ε) = m)× P(X(ε) = m | X(0) = k)

=∑

m

P(Zi−1 < Zj+1 | X(ε) = m)P(X(ε) = m | X(0) = k)

= g(k)(1 + εqk,k) +∑

m 6=k

g(m)qk,mε+ o(ε),

where the second equality above is just the Markov property itself.

« December 1, 2017 George Kesidis

192

Page 193: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Prob. a b-d process exits an interval at a given end

• Recall that

qk,k = −∑

m 6=k

qk,m = −qk,k−1 − qk,k+1.

• Therefore, get the following set of j − i + 1 equations in as many unknowns ( g(k) fori ≤ k ≤ j ),

k+1∑

m=k−1g(k)qk,m = 0 for i ≤ k ≤ j,

with boundary conditions g(i− 1) = 1 and g(j + 1) = 0.

« December 1, 2017 George Kesidis

193

Page 194: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Prob. a b-d process exits an interval at a given end

• The unique solution of these equations can be found by, e.g., the systematic method ofZ-transforms - in particular, the desired quantity g(i) can be found.

• For the example where ∃ constant q > 0 s.t., for all k ∈ J ,

qk,k+1 = q = qk,k−1

the solution is

g(k) = Ak +B

for all k ∈ J and for some constants A and B found using the boundary conditions, i.e.,

1 = g(i− 1) = A(i− 1) +B,

0 = g(j +1) = A(j + 1)+ B.

• Therefore, A = −1/(j − i+2), B = (j +1)/(j − i+2), and

g(k) =j − k + 1

j − i+ 2.

« December 1, 2017 George Kesidis

194

Page 195: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Mean time to return to a given state by a b-d process

• Considering that there are only finitely many states less than a given state i, state i ispositive recurrent only if hi(i+1) <∞, where

hi(j) ≡ E(Zi | X(0) = j).

• Again, by using a forward-equation argument,

hi(j) =1

qj,j+1 + qj,j−1+

qj,j+1

qj,j+1 + qj,j−1hi(j + 1)+

qj,j−1qj,j+1 + qj,j−1

hi(j − 1)

=1

λ+ µ+

λ

λ+ µhi(j + 1)+

µ

λ+ µhi(j − 1)

for all j > i, with (by definition)

hi(i) ≡ 0.

• Intuitively, the first term on the right-hand side is the mean visiting time of state j andthat the coefficient of hi(j ± 1) is the probability of transitioning from j to j ± 1 in onestep.

« December 1, 2017 George Kesidis

195

Page 196: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Mean time to return to a given state by a b-d process

• If we define

ηi(j) ≡ hi(j)− hi(j +1),

then above equations for h become

ηi(j) =1

qj,j+1

+qj,j−1qj,j+1

ηi(j − 1) =1

λ+

1

ρηi(j − 1).

• Iterating, we get

ηi(j) =1

λ

(

1+1

ρ

)

+1

ρ2ηi(j − 2) =

1

λ

j−i−1∑

k=0

1

ρk+

1

ρj−iηi(i).

• Multiplying through by ρj−i and then rewriting in terms of hi gives

ρj−i(hi(j)− hi(j + 1)) = −hi(i+1)+1

λ

j−i∑

k=1

ρk,

where we note that ηi(i) = hi(i)− hi(i+1) = − hi(i+ 1).

« December 1, 2017 George Kesidis

196

Page 197: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Mean time to return to a given state by a b-d process

• Now consider this equation as j →∞.

• First note that the difference hi(j)− hi(j + 1)→ 0.

• Now if ρ = 1, then clearly requires that hi(i + 1) = ∞ since the summation on theright-hand side is tending to infinity, i.e., state i and, by the same argument, all other statesare not positive recurrent.

• If ρ < 1, the summation on the right-hand side converges and the left-hand side tends tozero as j →∞ so that

0 = −hi(i+ 1)+1

λ· ρ

1− ρ,

i.e.,

hi(i+1) =1

µ− λ.

« December 1, 2017 George Kesidis

197

Page 198: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Forward-equation applications - further reading

• A more general statement along these lines for birth-death Markov chains is given at theend of Section 4.7 of [Karlin & Taylor, “A First Course...”, 2nd Ed., 1975].

• Explore use of backward equation for similar problems.

• Explore these problems for discrete-time birth-death processes.

« December 1, 2017 George Kesidis

198

Page 199: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The M/M/1 queue

• The previous example birth-death process is the M/M/1 queue with

– Poisson job arrivals of rate λ jobs per second and

– identically distributed exponential service times with mean 1/µ seconds that are mu-tually independent and independent of the arrivals.

• That is, the job interarrival times are independent and exponentially distributed with mean1/λ seconds and, therefore, for all times s < t, A(s, t) is a Poisson distributed randomvariable with mean λ(t− s).

• The mean arrival rate of work is λ/µ and the service rate is one unit of work per second.

• Or, the mean service rate can be described as µ jobs per second.

• So, the queue (job) occupancy, Q, is a birth-death Markov process with infinite state spaceZ+.

« December 1, 2017 George Kesidis

199

Page 200: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The M/M/1 queue (cont)

• When the traffic intensity

ρ ≡ λ

µ< 1,

Q is the positive recurrent birth-death process with ρ-geometric stationary distribution.

• So, the stationary mean number of jobs in (backlog of) the system is

L =ρ

1− ρ=

λ

µ− λ,

• and, by Little’s formula, the stationary mean sojourn time of jobs is

W =L

λ=

1

µ− λ.

• For the M/M/1 queue, we can obtain the stationary distribution of the sojourn time, cf.PASTA.

« December 1, 2017 George Kesidis

200

Page 201: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Embedded Markov process for M/G/1 queue

• The Pollaczek-Khintchine formula for mean sojourn time...

• Markov process of queue viewed at job departure times for distribution ofsojourn time...

« December 1, 2017 George Kesidis

201

Page 202: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Generalized (strong) stochastically bounded burstiness

• Recall the notion of generalized stochastically bounded burstiness in a stationary setting.

• For stationary queues with backlog Q, Poisson arrivals at rate λ, and deterministic servicerate µ:

P(Q > x) ≤ 1

xEQ by Markov’s inequality

=1

λµ−2

2(1− λµ−1)=: f(x)

where the last equality by Little’s theorem and the the Pollaczek-Khintchine formula.

• A tighter gSBB bound f can been computed for the M/D/1 queue and for more complextypes of arrival models based on Markov processes, e.g., Markov-modulated or hidden-Markov; see

– C.-S. Chang, “Stability, Queue Length, ...,” IEEE TAC 39(5), May 1994, and

– Kesidis et al., “Effective Bandwidths...” ACM/IEEE ToN 1(4), Aug. 1993.

« December 1, 2017 George Kesidis

202

Page 203: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The “arrival theorem” - Poisson Arrivals See Time Averages (PASTA)

• For a causal (nonanticipative), stationary and ergodic, and stable queue, suppose thejob arrival times form a Poisson point process.

• PASTA: If Q is the state of such a queuing system and T ∈ R is distributed as a Poissonarrival time, then Q(T−) is distributed as the stationary distribution of Q.

• To see why, let λ be the intensity of the Poisson arrivals and consider an interval A oftime length T = |A| and a small subinterval a ⊂ A of length t = |a|. and let N be thenumber of Poisson arrivals.

• Given a single Poisson arrival occurs in A, the prob. that a Poisson arrival occurs in a is

P(N(a) = 1 | N(A) = 1) = P(N(a) = 1, N(A\a) = 0 | N(A) = 1)

=λte−λte−λ(T−t)

λT e−λT=

t

T,

i.e., equal to the probability that a randomly chosen (typical) time in A is also in a.

• A rigorous proof of PASTA is based on a powerful conservation law for stationary markedpoint processes, Palm’s theorem.

« December 1, 2017 George Kesidis

203

Page 204: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

PASTA - sojourn time of stationary M/M/1 queue

• Recall that stationary distribution (i.e., at a typical time) of the number of jobs in anM/M/1 queue with traffic intensity ρ = λ/µ < 1 is geometric with parameter ρ.

• By PASTA, the distribution of the number of jobs in the queue just before the arrival timeT of a typical job is also geometric with parameter ρ:

P(Q(T−) = i) = (1− ρ)ρi, ∀i ∈ Z+.

• Note that Q(T) = Q(T−) + 1 ≥ 1.

• Thus, we can obtain the distribution of the stationary sojourn time w as:∀i ≥ 0, Elrang(µ, i+1) (i.e., Γ(µ, i+1) = sum of i+1 IID exp(µ) random variables)with probability (1− ρ)ρi.

• Exercise: Verify that

W = Ew =1

µ− λ.

« December 1, 2017 George Kesidis

204

Page 205: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The stationary M/M/K/K queue

• Consider a queue with Poisson arrivals, IID exponential service times, K servers, and nowaiting room.

• That is, a lossy M/M/K/K queue described by a finite-state birth-death Markov chain.

• Since the capacity to hold jobs equals the number of servers, there is no waiting room (eachserver holds one job).

• Again, let λ be the rate of the Poisson job arrivals and let 1/µ be the mean service timeof a job.

• Suppose that there are n jobs in the system at time t, i.e., Q(t) = n.

• As before, we can show Q is a birth-death Markov chain.

... K

λ λλ

µ 2µ Kµ

K−1210

« December 1, 2017 George Kesidis

205

Page 206: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The stationary M/M/K/K queue (cont)

• Indeed, suppose Q(t) = n > 0 and suppose that the past evolution of Q is known (i.e.,Q(s) | s ≤ t is given).– By the memoryless property of the exponential distribution, the residual service times

of the n jobs are exponentially distributed random variables with mean 1/µ.

– Therefore, Q makes a transition to state n− 1 at rate nµ, i.e., for 0 < n ≤ K

qn,n−1 = nµ.

• Now suppose Q(t) = n < K.

– Again by the memoryless property, the residual interarrival time is exponential withmean 1/λ.

– Therefore, Q makes a transition to state n+1 at rate λ, i.e., for 0 ≤ n < K

qn,n+1 = λ.

• Thus, the stationary distribution of Q is the truncated Poisson given before:

σi = σ0ρi

i!for 1 ≤ i ≤ K, and σ0 =

(

K∑

i=0

ρi

i!

)−1

.

« December 1, 2017 George Kesidis

206

Page 207: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Erlang’s blocking formula for the stationary M/M/K/K queue

• Now consider a stationary M/M/K/K queue.

• Suppose we are interested in the probability that an arriving job is blocked (dropped)because, upon its arrival, the system is full, i.e., every server is occupied.

• Note above that when we assumed a “lossless” queue, we meant internally lossless.

• More formally, we want to find P(Q(Tn−) = K), where we recall that Tn is the arrivaltime of the nth job.

• Since the arrivals are Poisson, we can invoke PASTA to get

P(Q(Tn−) = K) = σK = σ0ρK

K!=: E(ρ,K),

which is called Erlang’s blocking or Erlang B formula.

• Note that the traffic intensity for this system is ρ/K = λ/(µK).

• Also, the mean sojourn time of all admitted arrivals is W = 1/µ.

« December 1, 2017 George Kesidis

207

Page 208: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Erlang’s blocking formula for the stationary M/M/K/K queue

• For more general (non-exponential) service time distributions, it can be shown that Erlang’sblocking formula still holds.

• Therefore, given the mean service time 1/µ, Erlang’s result is said to be otherwise “insen-sitive” to the service time distribution.

• Finally note that, by Little’s theorem, the mean number of busy servers in steady state is

L = λ(1− σK)1

µ= ρ(1− σK),

where λ(1−σK) is the mean rate of arrivals that are admitted (by PASTA), i.e., successfullyjoin the queue.

• Exercise: check that L = EQ =∑K

i=0 iσi.

« December 1, 2017 George Kesidis

208

Page 209: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

M/M/K/(K + W ) queue - K servers and W ≥ 1 waiting room

• Modeling a call center as an M/M/K/K queue, customers calling when all servers areoccupied will be blocked with probability given by Erlang’s blocking formula (indicated byslow busy signal).

• If we add a waiting room of W ≥ 1 jobs, then we have a M/M/K/(K+W) queue, withblocking (fast busy signal) probability, by PASTA, equal to the stationary

σK+W = P(Q = K +W) = σ0

K+W∏

j=1

λj−1µj

= σ0ρK+W

K!KW,

where σ0 = P(Q = 0) =(

1+∑K+W

i=1

∏in=1

λn−1µn

)−1=(

∑Ki=0

ρi

i!+ ρK

K!

∑Wj=1

ρj

Kj

)−1,

ρ = λ/µ, the birth rate λn = λ, and death rate

µn =

nµ if 1 ≤ n ≤ KKµ if K ≤ n ≤ K +W

209

Page 210: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

M/M/K/(K +W ) queue with impatient customers (abandonment)

• Now consider customers that depart (abandon) the queue if their queueing delay is largerthan an independent, exponentially distributed amount with mean 1/δ, i.e., the death rate

µn =

nµ if 1 ≤ n ≤ KKµ+ (n−K)δ if K ≤ n ≤ K +W

• In steady-state, the total arrival rate equals the total “departure” rates due to blocking,abandonment or successful service:

λ = λσK+W +

K+W∑

q=K+1

(q −K)δσq +

K+W∑

q=1

(q ∧K)µσq.

• So, probabilities of successful service and abandonment (departure due to impatience) are,respectively,

S(K,W) := λ−1K+W∑

q=1

(q ∧K)µσq and A(K,W) := λ−1K+W∑

q=K+1

(q −K)δσq,

and again σK+W is the probability of blocking upon arrival.

« December 1, 2017 George Kesidis

210

Page 211: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

M/M/K/(K+W ) queue with impatient customers (cont)

• For a call center, one can consider the optimization problem of the form

maxK,W

rsS(K,W) − caA(K,W) − cbσK+W −K,

where ca ≥ 0, resp. cb ≥ 0, is the cost of abandoned, resp. blocked, customers per unitserver, and rs is the reward for served customers per unit server.

• Normally, ca > cb as customer who abandons after being on hold may naturally be moreirate than one who is immediately blocked.

• Exercise: Verify that σK+W decreases in K and W , A decreases in K but increases withW , and S increases in both K and W .

« December 1, 2017 George Kesidis

211

Page 212: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Exercise: Delays in memoried, multiserver systems - Erlang C formula

• Now consider an M/M/K (i.e., M/M/K/∞) system with infinite waiting room.

• Again, the traffic intensity here is λ/(Kµ) = ρ/K, with ρ/K < 1 required for stability.

• The Erlang C formula gives the probability that an arriving job experiences positive queueingdelay:

C(ρ,K) :=

ρK

K!(1−ρ/K)∑K−1

k=0ρk

k!+ ρK

K!(1−ρ/K)

=E(ρ,K)

1− ρK(1− E(ρ,K))

.

• Exercise: Use PASTA to prove the Erlang C formula.

• Exercise: Use Little’s theorem to prove the mean sojourn time is

1

λ

(

ρ+ C(ρ,K)ρ/K

1− ρ/K

)

• Note: The Erlang C formula works only for exponential service times, unlike the Erlangblocking (B) formula which is insensitive to service distribution type.

« December 1, 2017 George Kesidis

212

Page 213: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Markovian queueing networks with static routing

• We now introduce two classical Markovian queueing network models:

– loss networks modeling circuit-switched networks (e.g., the former telephone network,MPLS networks) with static routing, and

– Jackson networks that can be used to model packet-switched networks and packet-levelprocessors, with purely randomized routing with static routing probabilities.

• Both will be shown to have “product-form” invariant distributions.

« December 1, 2017 George Kesidis

213

Page 214: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - example

3

45

6

79

10

11

12

13

8

2

1

m

n

« December 1, 2017 George Kesidis

214

Page 215: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - example (cont)

• The previous Figure depicts a network with 13 enumerated links.

• Note that the cycle-free routes connecting nodes (end systems) m and n are

r1 = 1,3,6,9,r2 = 1,4,13,9,r3 = 1,4,5,6,9,r4 = 1,3,5,13,9,

where we have described each route by its link membership as above. We will return tothis example in the following.

« December 1, 2017 George Kesidis

215

Page 216: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - preliminaries

• Consider a network connecting together a number of end-systems/users.

• Bandwidth in the network is divided into fixed-size amounts called circuits, e.g., a circuitcould be a 64 kbps channel (voice line) or a T1 line of 1.544 Mbps.

• Let L be the number of network links and let cl circuits be the fixed capacity of networklink l.

• Let R be the number of distinct bidirectional routes in the network, where a route r isdefined by a group of links l ∈ r.

• Let R be the set of distinct routes so that R = |R|.

• Finally, define the L×R matrix A with Boolean entries al,r in the lth row and rth column,where

al,r =

1 if l ∈ r,0 if l 6∈ r.

• That is, each column of A corresponds to a route and each row of A corresponds to a link.

« December 1, 2017 George Kesidis

216

Page 217: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - example (cont)

• The four routes r1 to r4 for the previous example network (of 13 links) are described bythe 13× 4 matrix

A =

1 1 1 10 0 0 01 0 0 10 1 1 00 0 1 11 0 1 00 0 0 00 0 0 01 1 1 10 0 0 00 0 0 00 0 0 00 1 0 1

.

« December 1, 2017 George Kesidis

217

Page 218: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - preliminaries (cont)

• Assume each route (path) r has an independent associated Poisson connection arrival(circuit setup) process with with intensity λr.

• This situation arises if, for each pair of end nodes π, there is an independent Poissonconnection arrival process with rate Λπ that is randomly thinned among the routes Rπ

connecting π so that there are independent Poisson arrivals to each route r ∈ Rπ withrate pπ,r ≥ 0.

• These fixed “routing” parameters satisfy∑

r∈Rπ

pπ,r = 1.

• Define Xr(t) as the number of occupied connections on route r at time t and define thecorresponding random vector X(t).

• Let er be the R-vector with zeros in every entry except for the rth row whose entry is 1.

• The following result generalizes that for a M/M/K/K queue.

« December 1, 2017 George Kesidis

218

Page 219: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - preliminaries (cont)

• If an existing connection on route r terminates at time t,

X(t) = X(t−)− er.

• Similarly, if a connection on route r is admitted into the network at time t,

X(t) = X(t−) + er.

• Clearly, a connection cannot be admitted (i.e., is blocked) along route r∗ at time t if anyassociated link capacity constraint is violated, i.e., if, for some l ∈ r∗,

r | l∈rXr(t−) = cl.

• An R-vector x is said to be a feasible state if it satisfies all link capacity constraints, i.e.,for all links l,

(Ax)l =∑

r | l∈rxr ∈ 0,1,2, ..., cl.

• Thus, the state space of the stochastic process X is

S(c) ≡ x ∈ (Z+)R | Ax ≤ c.

« December 1, 2017 George Kesidis

219

Page 220: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - example (cont)

• For the previous network example of L = 13 links, note that link 1 is common to allR = 4 routes.

• We now illustrate how link capacities c are used to determine whether route occupancies xare feasible via corresponding link occupancies Ax.

• For example,

x =

1111

is feasible if the capacities cl ≥ 4 for all links l but is not feasible if c1 < 4 because

(Ax)1 = 4.

« December 1, 2017 George Kesidis

220

Page 221: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss Networks - product-form invariant of the Markovian model

• In addition to assuming that each route r has Poisson connection arrivals with rate λr, alsoassume independent and exponentially distributed connection lifetimes with mean 1/µr.

• Now it is easily seen that the stochastic process X is a Markov chain wherein

– the state transition x→ x+ er ∈ S(c) occurs with rate λr and

– the the state transition x→ x− er ∈ S(c) occurs with rate xrµr.

• Theorem: The loss network X is time reversible with stationary distribution on S(c)given by the product form

σ(x) =1

G(c)

r∈R

ρxrr

xr!, whereρr =

λr

µr,

c is the L-vector of link capacities, and

G(c) =∑

x∈S(c)

r∈R

ρxrr

xr!

is the normalizing term (partition function) chosen so that∑

x∈S(c) σ(x) = 1.

« December 1, 2017 George Kesidis

221

Page 222: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - proof of product-form invariant

λr

(xr +1)µr

x x+ er

• Assuming x, x+ er ∈ S(c) for some r ∈ R, a generic detailed balance equation is

λrσ(x) = (xr +1)µrσ(x+ er).

• The theorem statement therefore follows if the claimed σ satisfies this equation.

• So, substituting the claimed expression for σ and canceling from both sides the normalizingterm G(c) and all terms pertaining to routes other than r gives

λrρxrr

xr!= (xr +1)µr

ρxr+1r

(xr +1)!.

• This equation is clearly seen to be true after canceling xr +1 on the right-hand side, thencanceling ρxr/xr! from both sides, and finally recalling ρr ≡ λr/µr.

• Note how the normalizing term G depends on c through the state space S(c)

« December 1, 2017 George Kesidis

222

Page 223: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - connection blocking

• An arriving connection at time t is admitted on route r only if a circuit is available on allof r’s edges, i.e., only if

– (AX(t−))l ≤ cl − 1 for all l ∈ r, where

– (Ax)l represents the lth component of the L-vector Ax.

• Consider the L-vector Aer, i.e., the rth column of A whose lth entry is

al,r = (Aer)l =

1 if l ∈ r,0 if l 6∈ r.

• Thus, the L-vector c−Aer has lth entry

cl − (Aer)l =

cl − 1 if l ∈ r,cl if l 6∈ r.

« December 1, 2017 George Kesidis

223

Page 224: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Loss networks - connection blocking (cont)

• Theorem: The steady-state probability that a connection is blocked on route r is

Br = 1− G(c−Aer)

G(c).

• Proof: First note that Br is 1 minus the stationary probability that the connection isadmitted (on every link l ∈ r).

• Therefore, by PASTA,

Br = 1−∑

x | Ax≤c−Aer

σ(x)

= 1− 1

G(c)

x∈S(c−Aer)

r∈R

ρxrr

xr!,

from which the expression for exact blocking directly follows by definition of the normalizingterm G.

« December 1, 2017 George Kesidis

224

Page 225: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fixed-point iteration for approximate connection blocking

• The computational complexity of the partition function G grows rapidly as the networkdimensions (L, R, N , etc.) grow.

• We now formulate an iterative method for determining approximate blocking probabilitiesunder the assumption that the individual links block connections independently.

• Consider a single link l∗ and let bl∗ be its unknown blocking probability.

• For the moment, assume that the link blocking probabilities bl of all other links l 6= l∗ areknown.

• Consider a route r containing link l∗.

• By the independent blocking assumption, the incident load (traffic intensity) of l∗ from thisroute, after blocking by all of the route’s other links has been taken into account, is

ρr∏

l∈r | l 6=l∗

(1− bl).

« December 1, 2017 George Kesidis

225

Page 226: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fixed-point iteration for approximate connection blocking (cont)

• Thus, the total load of link l∗ is reduced/thinned by blocking to∑

r | l∗∈rρr

l∈r | l 6=l∗

(1− bl) ≡ ρl∗(b−l∗),

where b−l is the (L− 1)-vector of link blocking probabilities not including that of link l.

• By the independent blocking assumption, the blocking probability of link l∗ must thereforebe the reduced-load approximation,

bl∗ = E(ρl∗(b−l∗), cl∗) ∀l∗ ∈ 1,2, ..., L,where again E is Erlang’s blocking formula

E(ρ, c) ≡ Ec(ρ) ≡ρc/c!

∑cj=0 ρ

j/j!.

« December 1, 2017 George Kesidis

226

Page 227: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fixed-point iteration for approximate connection blocking (cont)

• Clearly, the link blocking probabilities b must simultaneously satisfy the reduced load ap-proximation for all links l∗, i.e., giving a system of L equations in L unknowns.

• Approaches to numerically finding such an L-vector b include Newton’s method and thefollowing fixed-point iteration (method of successive approximations).

• Beginning from an arbitrary initial b0, after j iterations set

bjl = E(ρl(bj−1−l ), cl) for all links l.

• Brouwer’s fixed-point theorem gives that a solution b ∈ [0,1]L exists.

• Uniqueness of the solution follows from the fact that this solution is the minimum of aconvex function.

« December 1, 2017 George Kesidis

227

Page 228: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fixed-point iteration for approximate connection blocking (cont)

• Given the link blocking probabilities b, under the independence assumption, the route block-ing probabilities are

Br = 1−∏

l∈r(1− bl)

=∑

l∈rbl + o

(

l∈rbl

)

,

i.e., if∑

l∈r bl ≪ 1, then

Br ≈∑

l∈rbl.

• That is, the blocking probability is approximately additive.

• Now, instead of “jobs” (connections or calls) occupying circuits on every link of a route andwithout waiting rooms, in the following we will consider jobs as spatially localized packets.

« December 1, 2017 George Kesidis

228

Page 229: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stable open networks of queues

• Again consider an idealized packet-switched network where

– the forwarding decisions, made at each node forwarding the packets (jobs), are inde-pendently random, and

– the service times at the nodes that a given packet visits are independently random withdistribution depending on the forwarding node.

• Consider a group of N ≥ 2 lossless, single-server, work-conserving queueing stations.

• Packets at the nth station have a mean required service time of 1/µn for all n ∈ 1,2, ...,N,and external arrival rate Λn, where Λn > 0 for at least one station n (open network).

• The packet arrival process to the nth station is a superposition of N+1 component arrivalprocesses.

• Packets departing the mth station are forwarded to and immediately arrive at the nth

station with probability rm,n.

• Also, with probability rm,0, a packet departing station m leaves the queueing networkforever; here we use station index 0 to denote the world outside the network.

• Clearly, for all m,∑N

n=0 rm,n = 1.

« December 1, 2017 George Kesidis

229

Page 230: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The flow balance equations

• Defining λn as the total arrival rate to the nth station, recall the flow balance equationsbased on the notion of conservation of flow and require that all queues are stable, i.e.,µn > λn and

λn = Λn +

N∑

m=1

λmrm,n, ∀n ∈ 1,2, ...,N,

or in matrix form,

λT(I−R) = ΛT ⇒ λT = (I−R)−1ΛT < µT

• Also recall the conditions under which I − R is nonsingular, including that rm,0 > 0 forat least one station m (open network), so R is a strictly sub-stochastic matrix.

• Exercise: Show there is “aggregate” flow balance between the outside world and thenetwork:

m 6=0

Λm =∑

m 6=0

λmrm,0.

« December 1, 2017 George Kesidis

230

Page 231: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Open Jackson networks - introduction

• Suppose that the exogenous arrivals to this queueing system are Poisson and that the servicetime distributions are exponential.

• Again, all routing decisions, service times and exogenous (exponential) interarrival timesare mutually independent.

• The resulting network is Markovian and is called an open Jackson network.

• Note that if Xn(t) is the number of packets in station n at time t, then the vector of suchprocesses X(t) taking values in (Z+)N is Markovian.

« December 1, 2017 George Kesidis

231

Page 232: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Open Jackson networks - Markovian transition rates

• Consider a vector x = (x1, ..., xN)T ∈ (Z+)N and define the following operator δmapping (Z+)N → (Z+)N .

• If xm > 0 and 1 ≤ n,m ≤ N , then δm,n represents a packet departing from station mand arriving at station n:

(δm,n x)i =

xi if i 6= m,n,xm − 1 if i = m,xn + 1 if i = n,

i.e., δm,nx ≡ x− em + en.

• If xm > 0 and 1 ≤ m ≤ N , then δm,0 represents a packet departing the network to theoutside world from station m:

(δm,0 x)i =

xi if i 6= m,xm − 1 if i = m.

• If 1 ≤ n ≤ N , then δ0,n represents a packet arriving at the network at station n from theoutside world:

(δ0,n x)i =

xi if i 6= n,xn +1 if i = n.

« December 1, 2017 George Kesidis

232

Page 233: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Open Jackson networks - Markovian transition rates (cont)

• In the following TRD fragment: Λm > 0 for the transition at left; and both xm > 0 andrm,n > 0 for the transition at right:

• For example, forN = 4 stations, suppose the network is currently in state x = [17 5 0 6]T,so that:

– Assuming Λ1 > 0, an exogenous arrival to station 1 causes transition

xΛ1−→ δ0,1x = [18 5 0 6]T

– Assuming r2,4 > 0, a departure from station 2 that arrives to station 4 causes transition

xµ2r2,4−→ δ2,4x = [17 4 0 7]T

– A departure from station 3 is impossible because it’s empty (x3 = 0)

« December 1, 2017 George Kesidis

233

Page 234: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Open Jackson networks - Markovian transition rates and invariant

• The transition rate matrix of the Jackson network is given by the following equations:

q(x, δm,n x) =

µmrm,n if 1 ≤ m ≤ N, 0 ≤ n ≤ N, xm > 0,Λn if m = 0, 1 ≤ n ≤ N .

• Theorem: The stationary distribution of an open Jackson network is product form,

σ(x) =1

G

N∏

n=1

ρxn

n ,

where, for all n, the traffic intensity

ρn ≡ λn

µn< 1

for stability and the normalizing term (partition function) is

G =∑

x∈(Z+)N

N∏

n=1

ρxn

n .

« December 1, 2017 George Kesidis

234

Page 235: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof of Jackson’s theorem

• We need to verify the (full) balance equations for the claimed invariant distribution σ,

∀x,∑

y

σ(y)q(y, x) = 0

• Recall the balance equations for the Jackson network “at” state x, i.e., corresponding tox’s column in the network’s transition rate matrix.

• To do this, we consider states from which the network makes transitions into x, including:

– δn,m x for stations n such that xn > 0, where

q(δn,m x, x) = µmrm,n;

– δ0,n x for all stations n, where

q(δn,0 x, x) = Λn;

– all other transitions that do not occur in one step, i.e., q = 0.

• Note that δm,nδn,m x = x.

« December 1, 2017 George Kesidis

235

Page 236: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof of Jackson’s theorem (cont)

• Therefore, the balance equations at x are

n | xn>0

[

q(δn,0 x, x)σ(δn,0 x) +

N∑

m=1

q(δn,m x, x)σ(δn,m x)

]

+

N∑

m=1

q(δ0,m x, x)σ(δ0,m x)

=

m | xm>0

[

q(x, δm,0 x) +

N∑

n=1

q(x, δm,n x)

]

+

N∑

n=1

q(x, δ0,n x)

σ(x).

« December 1, 2017 George Kesidis

236

Page 237: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof of Jackson’s theorem (cont)

• Substituting the transition rates we get

n | xn>0

[

Λnσ(δn,0 x) +

N∑

m=1

µmrm,nσ(δn,m x)

]

+

N∑

m=1

µmrm,0σ(δ0,m x)

=

m | xm>0

[

µmrm,0 ++

N∑

n=1

µmrm,n

]

+

N∑

n=1

Λn

σ(x)

=

m | xm>0µm +

N∑

n=1

Λn

σ(x)

« December 1, 2017 George Kesidis

237

Page 238: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof of Jackson’s theorem (cont)

• The theorem is proved if we can show that the claimed product-form invariant distributionσ satisfies this balance equation at every state x.

• Substituting it and factoring out σ(x) on the left-hand side, we get

n | xn>0

[

Λn1

ρn+

N∑

m=1

µmrm,nρm

ρn

]

+

N∑

m=1

µmrm,0ρm =∑

m | xm>0µm +

N∑

n=1

Λn.

• Substituting λm = µmρm, we get

n | xn>0

[

1

ρn

(

Λn +

N∑

m=1

λmrm,n

)]

+

N∑

m=1

λmrm,0 =∑

m | xm>0µm +

N∑

n=1

Λn.

• Finally, substitution of the flow balance equations implies this equation does indeed hold.

• Note that the product form implies the queue occupancies are statistically independent insteady state.

« December 1, 2017 George Kesidis

238

Page 239: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Jackson’s theorem - exercise

• If the network has the following properties

rm,n > 0 ⇔ rn,m > 0 and Λn > 0 ⇔ rn,0 > 0,

determine whether Jackson’s theorem for product-form invariant distribution holds by de-tailed balance, i.e., whether the open Jackson network is time-reversible.

« December 1, 2017 George Kesidis

239

Page 240: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Jackson network - example

12

3

Λ2

Λ1r12

r21

r31

r13

r23

r32

r30

• If this Jackson network is stable with the forwarding probabilities and exogenous arrivalrates indicated, the steady-state distribution of the number of jobs in e.g. the third queueis

P(Q3 = k) = ρk3(1− ρ3),

where ρ3 = λ3/µ3 < 1 and λ3 is found by solving the flow-balance equations

λT = (I−R)−1ΛT =

1 −r1,2 −r1,3−r2,1 1 −r2,3−r3,1 −r3,2 1

−1

[Λ1 Λ2 0] < µT,

where r3,1 + r32= 1− r3,0 < 1.

• Thus, the mean number of jobs in the third queue is L3 := EQ3 = ρ3/(1− ρ3).

240

Page 241: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Little’s formula and open Jackson networks

• To find the mean sojourn time W of jobs through the network in steady-state:

– First use Jackson’s theorem to find the mean number of jobs at each station n,Ln = EQn = ρn/(1− ρn).

– Then use Little’s formula W =∑N

n=1Ln/∑N

n=1Λn

• If instead we are just interested in the mean sojourn time W (k) of jobs arriving from theoutside world to station k (i.e., class-k jobs):

– Solve the flow balance equations for each class of jobs

(λ(k))T = (I−R)−1eTk Λk

where ek is the unit vector with a 1 in the kth entry and otherwise zero entries

– So, the average number of class-k jobs in station n is

L(k)n :=

λ(k)n

∑Nj=1 λ

(j)n

Ln =λ(k)n

λnLn with Ln =

ρn

1− ρnas above

– Finally, by Little’s formula W (k) =∑N

n=1L(k)n /Λk

241

Page 242: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov chains - Outline

1. The Bernoulli process, its counting process, and the arrival theorem in discrete time

2. The Markov property

3. Probability transition matrices and diagrams

4. Transience, recurrence and periodicity

5. Invariant distribution

6. Birth-death Markov chains in discrete-time

7. Modeling queues in discrete-time - simultaneous or ordered events

8. Example - ranking web pages (PageRank)

9. Markov Decision Processes (later)

« December 1, 2017 George Kesidis

242

Page 243: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Overview of discrete-time Markov chains

• We now consider Markov processes in discrete time on countable state spaces, i.e., discrete-time Markov chains.

• We covered continuous time Markov chains first because applications are somewhat simpler.

• For example, in a queueing network operating in discrete time, it would be possible, e.g.,that an arrival occurs at one station, while a departure from a second station arrives to athird, all in the same (discrete) time-slot.

• Recall that a stochastic process X is said be “discrete time” if its time domain is countable,e.g., X(n) | n ∈ D forD = Z+ or forD = Z, where, in discrete time, we will typicallyuse n instead of t to denote time.

• In discrete time, the Markov property is defined as in continuous time, relying on thememoryless property of the (discrete) geometric distribution - seehttp://www.cse.psu.edu/∼kesidis/teach/Prob-4.pdf

« December 1, 2017 George Kesidis

243

Page 244: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Markovian counting process in discrete-time

• If the random variables B(n) are IID Bernoulli distributed for, say, n ∈ Z+, then B is saidto be a Bernoulli process on Z+.

• Assume that for all time n, constant P(B(n) = 1) =: q.

• Thus, the duration of time B visits state 1 (respectively, state 0), is geometrically dis-tributed with mean 1/(1− q) (respectively mean 1/q ).

• The analog to the Poisson counting process can be constructed on Z+:

X(n) =

n∑

m=0

B(m).

• The marginal distribution of X follows a binomial distribution: for k ∈ 0,1,2, ..., n,

P(X(n− 1) = k) =(n

k

)

qk(1− q)n−k.

• Recall the law of small numbers relating the binomial to Poisson distributions:http://www.cse.psu.edu/∼kesidis/teach/Prob-4.pdf

• The arrival theorem (PASTA in continuous time) holds for the Bernoulli process in discretetime.

244

Page 245: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

One-step transition probabilities

• The one-step transition probabilities of a discrete-time Markov chain Y are defined to be

P(Y (n+1) = a | Y (n) = b),

where a, b are, of course, taken from the countable state space of Y .

• If these one-step transition probabilities do not depend on time n, then the Markov processY is time homogeneous.

• The one-step transition probabilities of a time-homogeneous Markov chain can be graphi-cally depicted in a transition probability diagram (TPD).

• The transition probability diagrams of B and X are given below.

• Note that the nodes are labeled with elements in the state space and the branches arelabeled with the one-step transition probabilities.

• Graphically unlike TRDs, TPDs may have “self-loops”, e.g.,P (X(n+1) = 1 | X(n) = 1) = q > 0.

1− q

0

q

1 q1− q...

1− q

q q

1− q 1− q

1 20

245

Page 246: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition probability matrices (TPMs)

• From one-step transition probabilities of a discrete-time Markov chain, one can constructits transition probability matrix (TPM),

• i.e., the entry in the ath column and bth row of the TPM P(n+1) for Y isP(Y (n+1) = a | Y (n) = b) = Pb,a(n+ 1).

• For example, the Bernoulli process B has state space 0,1 and TPM

P =

[

1− q q1− q q

]

.

• That of the counting process X defined above is

P =

1− q q 0 0 0 · · ·0 1− q q 0 0 · · ·0 0 1− q q 0 · · ·... ... ... ... ... . . .

.

• Note that the previous two examples are time homogeneous.

« December 1, 2017 George Kesidis

246

Page 247: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example transition probability matrix on 0,1,2

Another example of a discrete-time Markov chain with state space 0,1,2 and TPM

P =

0.3 0.2 0.50.5 0 0.50.1 0.2 0.7

0.2 0.5

0.3 0.7

0.5 0.2

0.5

0.1

0 1 2

« December 1, 2017 George Kesidis

247

Page 248: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

TPMs are stochastic matrices

• All TPMs P are row-stochastic matrices, i.e., they satisfy the following two properties:

– All entries are nonnegative and real (the entries are all probabilities).

– The sum of the entries of any row is 1, i.e., P1 = 1 by the law of total probability.

• Clearly, all such matrices have eigenvalue 1 with

• non-negative associated left eigenvector, which is of interest in the following.

• So, the PMF of the transition from state k is given by

– the kth row of the TPM, or

– the labels of the out-bound arrows of state k in the TPD.

« December 1, 2017 George Kesidis

248

Page 249: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

TPMs and marginal distributions

• Given the TPM P and initial distribution π(0) of the process Y ( i.e., P(Y (0) = k) =:πk(0) ), one can easily compute the other marginal distributions of Y .

• For example, by conditioning on Y (0) we can compute the distribution of Y (1) asπT(1) = πT(0)P, i.e., for all k in the state space S of Y :

πk(1) := P(Y (1) = k) =∑

b∈SP(Y (1) = k, Y (0) = b)

=∑

b∈SP(Y (1) = k | Y (0) = b)P(Y (0) = b)

=∑

b∈SPb,kπb(0) = (πT(0)P)k

• By induction, we can compute the distribution of Y (n):

πT(n) = πT(0)Pn.

• The quantity Pn can be computed using similarity transform to its diagonal matrix ofJordan blocks.

• General finite-dimensional distributions can be found by sequential conditioning.

« December 1, 2017 George Kesidis

249

Page 250: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Time-inhomogeneous Markov chains

• Note that a time-inhomogeneous discrete-time Markov chain will simply have time-dependenttransition probabilities,

• If P(n) the one-step TPM of Y from time n−1 to time n, then the distribution of Y (n)is

πT(n) = πT(0)P(1)P(2) · · ·P(n).

« December 1, 2017 George Kesidis

250

Page 251: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Forward Kolmogorov equations

For a time-inhomogeneous Markov chain Y , the forward Kolmogorov equations in discrete-timecan be obtained by conditioning on Y (1):

(P(0, n))a,b ≡ P(Y (n) = a | Y (0) = b)

=∑

k

P(Y (n) = a, Y (0) = b, Y (1) = k)

P(Y (0) = b)

=∑

k

P(Y (n) = a, Y (0) = b, Y (1) = k)

P(Y (1) = k, Y (0) = b)

P(Y (1) = k, Y (0) = b)

P(Y (0) = b)

=∑

k

P(Y (n) = a | Y (0) = b, Y (1) = k)P(Y (1) = k | Y (0) = b)

=∑

k

P(Y (n) = a | Y (1) = k)P(Y (1) = k | Y (0) = b),

where the second-to-last equality is the Markov property.

« December 1, 2017 George Kesidis

251

Page 252: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Kolmogorov equations in Matrix form

• The Kolmogorov forward equations in matrix form are

P(0, n) = P(1)P(1, n).

• Similarly, the backward Kolmogorov equations are generated by conditioning on Y (n−1):

P(0, n) = P(0, n− 1)P(n).

• Note that both are consistent with P(0, n) ≡ P(1)P(2) · · ·P(n),

• which simply reduces to P(0, n) = Pn in the time-homogeneous case.

« December 1, 2017 George Kesidis

252

Page 253: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Invariant distribution for the time-homogeneous case

• For a time-homogeneous Markov chain, we can define an invariant or stationary distributionof its TPM P as any distribution σ satisfying the balance equations in discrete time:

σT = σTP

with∑

i σi = σT1 = 1 and ∀i, σi ≥ 0.

• Clearly, if the initial distribution π(0) = σ for a stationary distribution σ, then π(1) = σas well and, by induction, the marginal distribution of the Markov chain is σ forever,

• i.e., π(n) = σ for all time n > 1 and the Markov chain is stationary.

« December 1, 2017 George Kesidis

253

Page 254: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Invariant distribution - examples

• The counting process X with binomially distributed marginal does not have an invariantdistribution as it is transient.

• By inspection, the stationary distribution of the Bernoulli Markov chain is

σ =

[

1− qq

]

.

• The stationary distribution of the previous TPM on 0,1,2 is unique because it’s positiverecurrent (only finite number of states), irreducible, and aperiodic.

• The invariant can be computed by solving

σT(I− P) = 0,

σT1 = 1.

• Note that the first block of equations (three in this example) are equivalent to σT = σTPand are linearly dependent, i.e., I− P is singular since P is row stochastic.

« December 1, 2017 George Kesidis

254

Page 255: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - computing an invariant distribution (cont)

• We can replace one of the columns of I − P, say column 3, with all 1’s (correspondingto 1 = σT1 = σ0 + σ1 + σ2) and replace 0 with [0 0 1]T to obtain three linearlyindependent equations:

σT

0.7 −0.2 1−0.5 1 1−0.1 −0.2 1

= [0 0 1] ⇒ σT = [0.20833 0.16667 0.625]

• Suppose that this Markov chain on 0,1,2 has an initial distribution that is uniform, i.e.,πT(0) = [1/3 1/3 1/3].

• The distribution at time 2 is

πT(2) = πT(0)P2 = πT(0)

0.24 0.16 0.60.2 0.2 0.60.2 0.16 0.64

= [0.2133 0.1733 0.6133]

• So, we see that after just two time steps from uniform initial π(0), the distribution isapproximately the invariant, π(2) ≈ σ.

« December 1, 2017 George Kesidis

255

Page 256: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Recurrence, irreducibility and periodicity

• Individual states of a discrete-time Markov chain can be null recurrent, positive recurrent,or transient.

• We can call the Markov chain itself “positive recurrent” if all of its states are.

• Also, a discrete-time Markov chain can possess the irreducible property.

• Unlike continuous-time chains, all discrete-time chains also possess either a periodic or anaperiodic property through their TPDs (as with the irreducibility property).

« December 1, 2017 George Kesidis

256

Page 257: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Periodicity

• A state b of a time-homogeneous Markov chain Y is periodic if there is a time n > 1 suchthat:

P(Y (m) = b | Y (0) = b) > 0 ⇔ m is a multiple of n,

where n is the period of b.

• That is, given Y (0) = b, Y (m) = b is only possible when m = kn for some integer k.

• A Markov chain is said to be aperiodic if it has no periodic states; otherwise it is said tobe periodic.

• The examples of discrete-time Markov chains considered previously are all aperiodic.

« December 1, 2017 George Kesidis

257

Page 258: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Periodicity - example

• This Markov chain is periodic with n = 2 being the period of state 2.

0.6

1

1

0.4

210

• One can solve for the invariant distribution of this Markov chain to get the uniqueσ = [0.2 0.3 0.5]T,

• but the Markov chain is not stationary because, e.g., if X(0) = 2, then X(n) = 2almost surely ( i.e., P(X(n) = 2 | X(0) = 2) = 1 ) for all even n and X(n) 6= 2 a.s.for all odd n.

« December 1, 2017 George Kesidis

258

Page 259: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Existence and uniqueness of invariant distribution

• Theorem: A time-homogeneous discrete-time Markov chain has a unique stationary (in-variant) and steady-state distribution if and only if it is irreducible, positive recurrent andaperiodic.

• The proof of this basic statement of Doeblin is given in the 1968 book by Feller.

• The unique invariant σ is also the unique steady-state distribution because: if P is theTPM (of an irreducible, positive recurrent and aperiodic Markov chain), then

limn→∞

Pn =

σT

σT

...σT

.

• Thus, for any initial distribution π(0), limn→∞ πT(0)Pn = σT.

« December 1, 2017 George Kesidis

259

Page 260: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death Markov chains with finite state-space

• The counting process X defined above is a “pure birth” process on Z+.

...

q0

p1 p2

q1 q2 qK−1

pKK

1− q0 1− q1 − p11− q2 − p2 1− pK

0 1 2

• This TRD of a birth-death process on a finite state space 0,1, ...,K (naturally assumingqk + pk ≤ 1 for all k, where p0 = 0 and qK = 0).

« December 1, 2017 George Kesidis

260

Page 261: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death Markov chains with finite state-space (cont)

• The balance equations are

(1− q0)σ0 + p1σ1 = σ0,

qn−1σn−1 + (1− qn − pn)σn + pn+1σn+1 = σn for 0 < n < K,

qK−1σK−1 + (1− pK)σK = σK,

whose solutions are

σi = σ0

i∏

j=1

qj−1pj

for 0 < i ≤ K and σ0 is chosen as a normalizing term

σ0 =

(

1+

K∑

i=1

i∏

n=1

qn−1pn

)−1

.

• The example with qn ≡ q and pn = np again yields a truncated Poisson distribution for σwith parameter ρ = q/p.

« December 1, 2017 George Kesidis

261

Page 262: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Birth-death process on an infinite state-space

• The process will be positive recurrent if and only if

R ≡∞∑

i=1

i∏

n=1

qn−1pn

< ∞,

in which case σ0 = (1+ R)−1 and

σn = σ0

i∏

j=1

qj−1pj

.

• The example where pn = p and qn = q also yields a geometric, invariant stationarydistribution with parameter ρ = q/p < 1.

« December 1, 2017 George Kesidis

262

Page 263: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time M/M/1 queue

• Consider a FIFO queue with a single nonidling server and infinite waiting room in discretetime.

• Suppose that the job interarrival times are IID geometrically distributed with mean 1/q.

• The service times of the jobs are also IID geometric with mean 1/p, where ρ ≡ q/p < 1.

• So, the number of jobs in the queue Q is a birth-death Markov chain, i.e., a discrete-timeM/M/1 queue.

• From the invariant geom(ρ) distribution σ, the mean number of jobs in the queue is

L =

∞∑

k=0

iσi =ρ

1− ρ.

• Thus, by Little’s formula in discrete time, the mean sojourn time is L/q = 1/(p− q).

« December 1, 2017 George Kesidis

263

Page 264: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time M/M/1 queue - simultaneous events

• However, our model of the discrete-time M/M/1 queue is not quite right as stated,

• because it’s possible that an arrival and departure occur simultaneously.

• For example, a one-step transition from state k > 0 to state k + 1 is the event that anarrival occurs but a departure does not, i.e., with one-step transition probability q(1− p).

• Considering such simultaneous events, the one-step TPM of the M/M/1 queue is

P =

1− q q 0 0 0 · · ·p(1− q) qp+ (1− q)(1− p) q(1− p) 0 0 · · ·

0 p(1− q) qp+ (1− q)(1− p) q(1− p) 0 · · ·... ... ... ... ... . . .

.

• Exercise: Find the invariant distribution and mean sojourn time and compare to that ofgeom(ρ).

• Exercise: Explore the discrete-time M/M/K/K queue. Is it a birth-death Markov chain?

« December 1, 2017 George Kesidis

264

Page 265: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time queues with constant service-rate - event ordering

• To show how the order in which events are accounted may impact a discrete-time queueingmodel,

• we now repeat a deterministic analysis for a single-server queue but in discrete time n ∈ Z+

or n ∈ Z.

• Suppose that the server works at a normalized rate of c jobs per unit time and that a(n)is the amount of work that arrives at time n.

• If we assume that, in a given unit of time, service on the queue is performed prior toaccounting for arrivals (in that same unit of time), then the work to be done at time n is

W(n) = (W(n− 1)− c)+ + a(n),

where, again,

(ξ)+ ≡ max0, ξ.

• Thus, work cannot begin on a job in the time-slot in which it arrives.

« December 1, 2017 George Kesidis

265

Page 266: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Cut-through discrete-time queues with constant service-rate

• Alternatively, if the arrivals are counted before service in a time slot,

W(n) = (W(n− 1)− c+ a(n))+;

these dynamics are sometimes called “cut-through” because it’s possible that arrivals toempty queues can depart immediately, incurring no delay.

• By induction, under cut-through

W(n) = max−∞<m≤n

[A(m,n]− c(n−m)] ,

where

A(m,n] ≡ a(m+1)+ a(m+2)+ · · ·+ a(n).

• For the dynamics without cut-through,

W(n) = a(n) + max−∞<m≤n

[A(m,n)− c(n−m)] ,

where

A(m,n) ≡ a(m+1)+ a(m+2)+ · · ·+ a(n− 1).

• One can show that the timem that achieves the maximum is the start time of the workload’sbusy period of the queue that contains time n.

« December 1, 2017 George Kesidis

266

Page 267: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Markov models of discrete-time queues with constant service-rate

• Suppose c,W(0) ∈ Z+ and that a is a stationary, Z+-valued process such that

c > Ea(n),

i.e., so that the W queue is stable.

• Given the (stationary) distribution α of a(n), we can compute W ’s TPM on Z+.

• For the case of cut-through: for all j, i ∈ Z+,

P(W(n) = j|W(n− 1) = i) = P(j = (i− c+ a(n))+)

=∑

k≥0αk1j = (i− c+ k)+

« December 1, 2017 George Kesidis

267

Page 268: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discussion - modeling queueing networks in discrete-time

• Again, in a queueing network operating in discrete time, it would be possible, e.g., that anarrival occurs at one station, while a departure from a second station arrives to a third, allin the same (discrete) time-slot.

• So, a discrete-time analog of a continuous-time model would not simply be the “jumpchain” of transitions of the latter (i.e., for all states a 6= b, the TPM Pa,b = −Qa,b/Qa,a

so that ∀a, Pa,a = 0, where Q is the TRM of the continuous-time Markov model of thenetwork).

• Rather, a much larger number of state transitions would need to be considered to accountfor the possibility of such simultaneous events in discrete time.

• Moreover, the order of occurence of such simultaneous events in a time slot (unit of discretetime) would need to be specified to clarify the the dynamics of the system state.

« December 1, 2017 George Kesidis

268

Page 269: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example of fitting a discrete-time Markov chain to data

• Consider a known/given corpus of typical passwords which a hacker could use to guess ata password, i.e., a “dictionary attack.”

• Each password, an ordered list of alpha-numeric characters, is modeled as the trajectory ofa common Markov chain modeling (generating) the given corpus.

• In a second-order model, the state of the Markov chain is an ordered pair (bigram) ofcharacters, e.g., “1a”, “b$”, “dA”, “%2”.

• We can augment the character set to include a symbol, say ε indicating the termination ofthe password, i.e., all bigrams of the form “xε” are absorbing: Pxε,xε ≡ 1.

• Using the corpus, directly count the number of times

– Nxy that each bigram xy appears (anywhere in the password),

– Nxyz that each trigram xyz appears.

• Define the Markov transition probabilities on bigrams, Pxy,yz = Nx,y,z/Nxy.

• Also, let πxy be the fraction of the corpus’ passwords beginning with the bigram xy.

269

Page 270: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Rejecting passwords using a generative model

• Let w(k) be the kth character of password w and l(w) be the length of w, wherew(l(w) + 1) ≡ ε.

• Given the transition probabilities Pxy,yz learned from a document corpus, the likelihoodL(w) of any given password w can be assessed,

L(w) = πw(1)w(2)

l(w)−1∏

k=1

Pw(k)w(k+1), w(k+1)w(k+2)

• From the given corpus of passwords, we can compute the mean and variance of L(w) forpasswords of the same length l = l(w): µ(l), σ2(l), respectively.

• A newly suggested password w could be rejected if, e.g., L(w) ≥ µ(l(w))− 2σ(l(w))(> 0 depending on the password corpus), i.e., if its likelihood is within two standarddeviations of the mean of known passwords of the same length.

• Additionally, a minimum length for new passwords is typically required.

• For a related problem, see: J. Raghuram, D.J. Miller and G. Kesidis. Unsupervised, lowlatency anomaly detection of algorithmically generated domain names by generative prob-abilistic modeling. NSF USA-Egypt Workshop on Cyber Security, Cairo, May 28 2013(Springer JAR 5(4), July 2014).

270

Page 271: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Web-page ranking via discrete-time Markov chain

• Web search results are prioritized, e.g., pages can be listed in order of the number of otherpages which link to them as in Google’s PageRank, i.e., a measure of the “popularity” ofthe page.

• Such measures of popularity are important for setting the price of advertising on commercialweb sites.

• A simple iterative procedure for determining the relative popularity of web pages is asfollows.

« December 1, 2017 George Kesidis

271

Page 272: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Inferring relative popularity through page links

• For a population of N pages numerically indexed 1,2, ...,N , let di be the number ofdifferent pages which are linked-to by page i, i.e., i’s out-degree.

• Define the N ×N stochastic matrix P with entries Pi,j = 1/di if i links to j, otherwisePi,j = 0 (with Pi,i = 0 for all i, i.e., a “pure jump” chain).

• Define the popularity/rank of πi ≥ 0 of page i so that:

∀i, πi =∑

j

πjPj,i and 1 =∑

j

πj.

• Note how the j contributes to i’s popularity, but that contribution is reduced throughdivision by the total out-degree dj of j.

• Exercise: Relate π to the “eigenvector centrality” of the web-page graph.

« December 1, 2017 George Kesidis

272

Page 273: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Inferring relative popularity through page links (cont)

• In matrix form, the first set of equations is simply πT = πTP.

• So, π is the invariant distribution of a discrete-time Markov chain on the web pages withtransition probabilities P,

• i.e., a random walk on the graph formed by the N web pages as vertices and the linksbetween them as directed edges, with time corresponding to the number of transitions toother web pages (clicked-on web links).

« December 1, 2017 George Kesidis

273

Page 274: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The stationary distribution as page ranks

• The marginal distribution of the Markov chain at time k, π(k) satisfies the Kolmogorovequations

(π(k))T = (π(k − 1))TP,

• i.e., πi(k) is the probability that the random walk is at page i at time k.

• If P is aperiodic and irreducible then there is a unique stationary/invariant distribution πsuch that that limk→∞ π(k) = π.

« December 1, 2017 George Kesidis

274

Page 275: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Google’s PageRank

• Google’s PageRank considers a parameter that models how web surfers do not always selectlinks from web pages but may select links from among their bookmarks.

• Suppose that a bookmark selection occurs with probability b and that the probability ofspecific bookmarked page selected is b/N .

• To this end, instead of P, an alternative is to use the stochastic matrix

P := (1− b)P+ (b/N)1,

where 1 is the N ×N matrix all of whose entries are 1.

• With 0 < b ≤ 1, P will be irreducible and aperiodic irrespective of P.

« December 1, 2017 George Kesidis

275

Page 276: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Google’s PageRank (cont)

• But since scalable computation of π may rely on sparseness of non-zero entries in P, wecan retain P and simply adjust the rank of page i to be given by (1− b)πi + b/N .

• More precisely, we adjust the iteration to the affine

(π(k))T = (1− b)(π(k − 1))TP+ (b/N)1T,

where 1 is a column vector of 1s.

• This leads to a unique stationary distribution.

πT = (b/N)1T[I− (1− b)P]−1,

where I is the N × N identity matrix and I − (1 − b)P is non-singular for 0 < b ≤ 1because P is a stochastic matrix.

• Typically, most of the entries of I−(1−b)P are zero, so computationally efficient methodsfor inverting sparse matrices can be applied.

« December 1, 2017 George Kesidis

276

Page 277: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Review of Statistical Confidence

• The central limit theorem

• Statistical confidence

• See slidedeck at http://www.cse.psu.edu/∼kesidis/teach/Prob-4.pdf

« December 1, 2017 George Kesidis

277

Page 278: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Simulation - Discussion

• Motivation: to explore beyond what currently can be proved or numerically computedfrom (tractable) models, and involve data/parameters and mechanisms of scenarios morerepresentative of the “real world”

• Event-driven or time-driven simulation

• Random number generation

• Assessing performance metrics with confidence

• Markov-chain Monte Carlo (MCMC)

• Parallel and distributed simulation

– load balancing (proactive and reactive methods)

– synchronization and rollback

– dynamic time-warping

• Quick simulation by

– modeling-based techniques, e.g., state aggregation, fluid modeling

– statistical techniques, particularly importance sampling

278

Page 279: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Simulating a sample path of a discrete-time (n) Markov chain x

n = 0

u = rand()

x(0) = F−1(init, u)while n < max simulation time do

n+ = 1

u = rand()

x(n) = F−1(x(n− 1), u)

end while

where

• the rand function returns IID (continuously) uniform[0,1] samples,

• F−1(init, ·) is the inverse CDF of the initial distribution, and

• F−1(x, ·) is the inverse CDF of PMF that’s the xth row of TPM P,

• e.g., for a uniform initial on state-space 0,1,2: if u < 1/3 then F−1(init, u) = 0,else if u < 2/3 then F−1(init, u) = 1, else F−1(init, u) = 2.

279

Page 280: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Simulating a sample path of a continuous-time (t) Markov chain x

n = 0

u = rand()

x(0) = F−1(init, u)t(0) = 0

while t(n) < max simulation time do

u = rand()

t(n) = t(n− 1) + log(1− u)/Q(x(n), x(n))

u = rand()

x(n) = F−1(x(n− 1), u)

end while

• where t(n) is the nth jump/transition time, and

• F−1(x, n) is the CDF of the xth row of the jump chain with TPM: ∀i, Pi,i = 0; and∀j 6= i, Pi,j = −Qi,j/Qi,i.

« December 1, 2017 George Kesidis

280

Page 281: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Continuous-timeMarkov chain simulation by uniformization

• For any q > maxj −Qj,j, instead of the jump chain above, use the (non-jump) TPMP = I+Q/γ.

• ∀n > 0, t(n)− t(n− 1) are IID exp(γ) random variables, i.e.,

t(n) = t(n− 1) + log(1− u)/γ.

• So, the number of iterations of the while loop over an interval of (continuous) time [0, t]will be ∼ Poisson(γt).

• It follows that the TPM in continuous time,

exp(Qt) =

∞∑

n=0

Pn(γt)n

n!e−γt.

• Exercise: Verify this by using the definition of P.

• There is an alternative approach called perfect simulation.

« December 1, 2017 George Kesidis

281

Page 282: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Fork-join model of parallel computation - outline

• Motivation - MapReduce

• A single-stage, fork-join system

• A deterministic analysis

• A stationary analysis

• A two-server Markovian system - two M/M/1 queues with coupled arrivals

• Multi-server system

• Martingale approach

« December 1, 2017 George Kesidis

282

Page 283: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Parallel processing systems

• Decades of study on concurrent programming and parallel processing (including clustercomputing), often in highly application-specific settings.

• Challenges include

– resource allocation and load balancing so as to reduce delays at synchronization/barrierpoints,

– dynamically deeming and dealing with straggler tasks,

– redundancy for robustness/protection, and

– maintaining consistent shared memory/state across processors while minimizing com-munication overhead,

– especially when dealing with feedback in the application itself.

• Today, popular platforms involve a group of Virtual Machines (VMs) mounted on multi-core/processor servers of a data center, or a group of data-centers forming a cloud.

« December 1, 2017 George Kesidis

283

Page 284: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Feed-forward parallel processing systems

• A certain family of jobs are best served by a particular arrangement of VMs/processors forparallel execution,

• In the following, we consider jobs that lend themselves to feed-forward parallel processingsystems, e.g., many search/data-mining applications.

• Google’s MapReduce template for parallel processing with VMs (especially its open-sourceimplementation Apache Hadoop) is a very popular such framework for search.

• In a single parallel processing stage, a job is partitioned into tasks (i.e., the job is “forked”or the tasks are demultiplexed); the tasks are then worked upon in parallel by differentprocessors.

• Within parallel processing systems, there are often processing barriers (points of synchro-nization or “joins”) wherein all component tasks of a job need to be completed before thenext stage of processing of the job can commence.

• The terminus of the entire parallel processing system is typically a barrier.

• Thus, the latency of a stage (between barriers or between the exogenous job arrivals to thefirst barrier) is the greatest latency among the processing paths through it.

« December 1, 2017 George Kesidis

284

Page 285: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

MapReduce

• MapReduce is a multi-stage parallel-processing framework where each processor is a VirtualMachine (VM) mounted on a server (multiprocessor computer).

• In MapReduce, jobs arrive and are partitioned into tasks.

• Each task is then assigned to a mapper VM for initial processing (first stage).

• The results of mappers are transmitted (shuffled), in pipelined fashion with the mapper’soperation, to reducer stage.

• Reducer VMs combine the mapper results they have received and perform additional pro-cessing.

• A barrier exists before each reducer (after its mapper-shuffler stage) and after all the reducers(after the reducer stage).

« December 1, 2017 George Kesidis

285

Page 286: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Simple MapReduce example of a word-search application

• Two mappers that search and one reducer that combines their results.

• Document corpus to be searched is divided between the mappers.

« December 1, 2017 George Kesidis

286

Page 287: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single-stage, fork-join systems - a deterministic analysis

• Consider a bank of K parallel queues, with queue/processor k is provisioned with servicecapacity sk.

• Here let A be the (fluid, positive time) cumulative input process of work that is dividedamong queues so that the kth queue has arrivals ak and departures dk in such a way that∀t ≥ 0,

A(t) =∑

k

ak(t).

• Define the virtual delay processes for hypothetical departures at time t ≥ 0 for queue k as

δk(t) = t− a−1k (dk(t)),

where we define inverses a−1k of non-decreasing functions ak as continuous from the left so

that ak(a−1k (v)) ≡ a−1k (ak(v)) ≡ v.

• The following definition of the cumulative departures D is such that the output readyfor processing in the subsequent (reducer) stage is determined by the most “lagging”queue/processor: ∀t ≥ 0,

D(t) = A(t−maxk

δk(t))

= A(

mink

a−1k (dk(t)))

287

Page 288: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Delay bound under service and input-burstiness curves

• Assume the kth queue has service at least smin,k and arrivals ak ≪ bin,k, i.e., conform toburstiness curve (traffic envelope) bin,k.

• Recall the convolution(⊗)/deconvolution(⊖) identity is

u∞(t) =

0 if t ≤ 0+∞ if t > 0

• The largest horizontal difference between bin,k and smin,k is

dmax,k = minz ≥ 0 : ∀x ≥ 0, smin,k(x) ≥ (bin,k ⊗∆zu∞)(x) = bin,k(t− z)where the delay operator (∆dg)(t) ≡ g(t− d).

« December 1, 2017 George Kesidis

288

Page 289: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Simple deterministic delay-bound claim

• Claim: If smin,k is a lower service curve of queue k and bin,k is a traffic envelop of arrivalsak, then for all t ≥ 0,

D(t) ≥ A(t−maxk

dmax,k).

• Note that this claim simply states that the maximum delay of the system is the maximumdelay among the queues.

• Equivalently, the service from A to D is at least ∆du∞, where d := maxk dmax,k.

« December 1, 2017 George Kesidis

289

Page 290: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Proof of deterministic delay-bound claim

• By def’n of dmax,k, ∀t ≥ x ≥ 0 and ∀k,smin,k(t− x) ≥ bin,k(t− x− dmax,k)

≥ ak(t− dmax,k)− ak(x)

⇒ ak(x) + smin,k(t− x) ≥ ak(t− dmax,k)

⇒ (ak ⊗ smin,k)(t) ≥ ak(t− dmax,k)

⇒ a−1k ((ak ⊗ smin,k)(t)) ≥ t− dmax,k

where we have used the fact that, ∀k, ak are nondecreasing.

• Thus,

D(t) = A(

mink

a−1k (dk(t)))

≥ A(

mink

a−1k ((ak ⊗ smin,k)(t)))

≥ A(

mink

t− dmax,k

)

= (A⊗∆du∞)(t),

where we have used the fact that A is nondecreasing.

« December 1, 2017 George Kesidis

290

Page 291: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single-stage, fork-join systems - a stationary analysis

• Claim: In the stationary regime at t ≥ 0, if

A1 service to queue k, sk ≫ smin,k where

∀v ≥ 0, smin,k(v) := vµk;

A2 the demux/mapper divides arriving work roughly proportional to minimum allocatedservice resources µk to queue k (strong load matching), i.e., ∀k, ∃ small εk > 0 suchthat ∀v ≤ t,

∣ak(t)− ak(v)−

µk

M(A(t)−A(v))

∣≤ εk a.s.,

where M :=∑

k µk;

A3 the total arrivals have generalized (strong) stochastically bounded burstiness,

P(maxv≤t

A(t)−A(v)−M(t− v) ≥ x) ≤ Φ(x),

where Φ decreases in x > 0;

then ∀x > 2M maxk εk/µk,

P(A(t)−D(t) ≥ x) ≤ Φ(x− 2M maxk

εk/µk).

« December 1, 2017 George Kesidis

291

Page 292: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single-stage, fork-join systems - a stationary analysis (cont)

« December 1, 2017 George Kesidis

292

Page 293: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A stationary analysis - proof of claim

P(A(t)−D(t) ≥ x) = P(A(t)−A(mink

a−1k (dk(t))) ≥ x)

= P(mink

a−1k (dk(t)) ≤ A−1(A(t)− x) =: t− z)

= P(∃k s.t. dk(t) ≤ ak(t− z))

= P(∃k s.t. ak(t)− dk(t) ≥ ak(t)− ak(t− z) =: xk)

≤ P(∃k s.t. maxv≤t

ak(t)− ak(v)− (t− v)µk ≥ xk)

• where we have used the fact that A and the ak are nondecreasing (cumulative arrivals) andthe inequality is by assumption A1.

• Also, we have defined non-negative random variables z and xk such that∑

k

xk = x = A(t)−A(t− z).

« December 1, 2017 George Kesidis

293

Page 294: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A stationary analysis - proof of claim (cont)

So by using A2 (twice) then A3, we get

P(A(t)−D(t) ≥ x)

≤ P(∃k s.t. maxv≤t

µk

M(A(t)− A(v)) + εk − (t− v)µk ≥

µk

Mx− εk)

= P(∃k s.t. maxv≤t

(A(t)−A(v))− (t− v)M ≥ x− 2M

µk

εk)

= P(maxv≤t

(A(t)−A(v))− (t− v)M ≥ x− 2M maxk

εk/µk)

≤ Φ(x− 2M maxk

εk/µk).

« December 1, 2017 George Kesidis

294

Page 295: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Exercise: numerically computing gSBB Φ

• Compute Φ for the mapper (first) stage using Figure 3 (job arrival process) and Table 1(individual job workloads) of

Y. Chen, A. Ganapathi, R. Griffith, and R. Katz. The Case for Evaluating MapRe-duce Performance Using Workload Suites. Proc. IEEE MASCOTS, 2011.

• Compute Φ for the reducer (second) stage as described in the previous discussion.

« December 1, 2017 George Kesidis

295

Page 296: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discussion - load matching in a single processing stage

• Typically, the amount of allocated parallelism of a job at a stage is based on the size ofthe job’s input data-set to that stage, as that information is readily available operationallyonline.

• The execution time for the component tasks will, of course, greatly depend on other factorssuch as algorithmic/computational complexity.

• This is evident in a Facebook dataset where two jobs have about the same mean input datasize but significantly different mean Map times (one is roughly double the other).

• This said, it’s likely that the same algorithm will be applied for all tasks of a given job atthe same stage, so that effective load matching from job to task typically may be achieved,

• i.e., when ∀k, l, µk = µl.

• Note that the previous Claim allows for processors of different capacities µ.

• The following corollary involves a weaker form of the load matching assumption (A2).

« December 1, 2017 George Kesidis

296

Page 297: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Load matching in probability

• Corollary: If (A1), (A3) and

(A2’) For each queue k, there exists 0 < εk, δk ≪ 1 such that ∀v ≤ t

P(∣

∣ak(t)− ak(v)−

µk

M(A(t)−A(v))

∣> εk) < δk,

then ∀x > 2M maxkεk/µk,P(A(t)−D(t) ≥ x) ≤ Φ(x− 2M max

kεk/µk) + 2δargmaxkεk/µk

.

• Proof:

– The corollary is proved by applying the following simple result at where (A2) is used inthe proof of the previous Claim.

– If P(|X − Y | ≥ ε) < δ then

P(X > X) = P(X > X | |X − Y | ≤ ε)P(|X − Y | ≤ ε)

+ P(X > X | |X − Y | > ε)P(|X − Y | > ε)

≤ P(Y + ε > X) + δ.

– Similarly, if also P(|X − Y | ≥ ε) < δ then

P(X > X) ≤ P(Y + ε > Y − ε) + 2δ

= P(Y > Y − 2ε) + 2δ.

297

Page 298: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Redundant tasking: Releasing job after only κ < K tasks complete

• The following extension is useful when tasking involves redundant work or simply when“good enough” solutions are adequate,

• so that a job can be forwarded when only a certain number κ ≤ K (κ > 0) tasks completeand the remaining K − κ (straggling) tasks are cancelled.

• Its proof follows that of the previous Claim or Corollary with mink interpreted as the

(K − κ+ 1)th smallest, and maxk interpreted as the (K − κ+1)th largest.

• Corollary: If a job is completed upon completion of any κ ≤ K of its K tasks, then thestatements of the previous Claims and Corollary continue to hold with

– maxkεk/µk interpreted as the (K − κ+1)th largest εk/µk and

– δargmaxkεk/µkreplaced by maxk: εk/µk≥(K−κ+1)

thlargest ε/µ δk.

« December 1, 2017 George Kesidis

298

Page 299: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discussion - Tandem parallel-processing stages

• Let x be the mean job arrival rate to a parallel processing stage w, and

• let Zw,m be the workload of the mth job, so xEZw = limt→∞Aw(t)/t = EAw(t)/t.

• At stage w, let dk,w be the amount of IT resource of type k per unit (job) demand requiredto achieve the necessary service quality.

• Let Mw := xdk∗(w),w, where k∗(w) is the “bottlenceck” or “dominant” IT resourcerequired to achieve the necessary service quality at stage w.

• For stability, it’s required that xEZw < Mw, i.e., EZw < dk∗(w),w, i.e., workloads Zw

expressed in terms of bottleneck resource k∗(w).

• Arrivals to the next stage v are departures from the previous w considering propagationdelays if significant, Av = Dw where x = EAv(t)/(tZv) too.

• Consider a network of parallel-processing stages (incl. re-entrant lines with feedback) han-dling a plurality of different workloads (job flows) i as the one considered above, where statmux gains may be exploited when setting aggregate service rate Mw.

« December 1, 2017 George Kesidis

299

Page 300: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Single-stage, fork-join systems - a Markovian analysis

• Jobs sequentially arrive to a parallel processing system of K identical servers.

• The ith job arrives at time ti and spawns (forks) K tasks.

• Let xj,i be the service-duration of the task assigned to server j by job i.

• The tasks assigned to a server are queued in FIFO fashion.

• The sojourn (or response) time Dj,i− ti of the ith task of server j is the sum of its servicetime (xj,i) and its queueing delay:

Dj,i = xj,i +maxDj,i−1, ti ∀ i ≥ 1, 1 ≤ j ≤ K

Dj,0 = 0

• The response time of the ith job is

max1≤j≤K

Dj,i − ti

« December 1, 2017 George Kesidis

300

Page 301: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Two-server (K = 2) system

• Suppose that jobs arrive according to a Poisson process with intensity λ, i.e.,

ti − ti−1 ∼ exp(λ) so that E(ti − ti−1) = λ−1.

• Also, assume that the task service-times xj,i are mutually independent and exponentiallydistributed:

x1,i ∼ exp(α) and x2,i ∼ exp(β) ∀i ≥ 1.

• Let Qi(t) be the number of tasks in server i at time t.

• (Q1, Q2) is a continuous-time Markov chain.

« December 1, 2017 George Kesidis

301

Page 302: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Transition rates of (Q1, Q2) with m,n ≥ 0

« December 1, 2017 George Kesidis

302

Page 303: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary distribution of (Q1, Q2)

• Assume that the system is stable, i.e., λ < minα, β.

• For the Markov process (Q1, Q2) in steady state, let the stationary

pm,n = P((Q1, Q2) = (m,n)).

• The balance equations are

(1 + α1m > 0+ β1n > 0) pm,n

= λ1m > 0, n > 0pm−1,n−1 + αpm+1,n + βpm,n+1, ∀m,n ∈ Z≥0,

where∞∑

m=0

∞∑

n=0

pm,n = 1.

« December 1, 2017 George Kesidis

303

Page 304: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Stationary distribution of (Q1, Q2) (cont)

• The balance equations can be solved by two-dimensional moment generating function (Ztransform) [Flatto & Hahn 1984]

P (z, w) =

∞∑

m=0

∞∑

n=0

pm,nzmwn, z, w ∈ C

• Multiplying the previous balance equations by zmwn and summing overm,n gives P (z, w)in terms of boundary values P (z,0) and P (0, w).

• In the load-balanced case where α = β with ρ := λ/α < 1 [equ (6.5) of FH’84],

P (z,0) = (1− ρ)3/2/√

1− ρz.

• From this, we can find the first two moments of pm,0,

∞∑

m=0

mpm,0 =d

dzP (z,0)

z=1

=1

∞∑

m=0

m2pm,0 =d

dzzd

dzP (z,0)

z=1

=1

2ρ+

3

4· ρ2

1− ρ

« December 1, 2017 George Kesidis

304

Page 305: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Job sojourn times

• Recall that a job is completed (departs the system) only when all of its tasks are completed(have been served).

• Some jobs have arrived but none of their tasks completed, while others have had only onetask completed.

• So, in the two-server (K = 2) case, |Q1 −Q2| represents the number of jobs queued inthe system with just one task completed.

• Let qk = P(Q1 −Q2 = k) in steady-state for k ∈ Z.

• Note that ∀k ≥ 0,

qk =

∞∑

m=k

pm,m−k.

« December 1, 2017 George Kesidis

305

Page 306: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Job sojourn times in the load-balanced case

• Summing the balance equations for (Q1, Q2) from m = k ≥ 0 with n = m− k gives

(1 + α+ β)qk − βpk,0 = qk + αqk+1 + βqk−1 − βpk−1,0⇒ α(qk+1 − qk)− β(qk − qk−1) = −βpk,0 + βpk−1,0

• In the symmetric case (i.e., the servers are load balanced) where α = β > λ, this implies

qk+1 − qk = −pk,0, ∀k ≥ 0

where ∀k ∈ Z, qk = q−k.

• Thus,

qk =

∞∑

m=k

pm,0, ∀k ≥ 0.

« December 1, 2017 George Kesidis

306

Page 307: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Job sojourn times in the load-balanced case (cont)

• Consider jobs with no tasks completed and those completed tasks whose siblings are notcompleted for the load-balanced (α = β) case.

• By Little’s theorem the mean sojourn time of a job is:

EQ1

λ+

E|Q1 −Q2|2λ

=1

α− λ+

1

λ

∞∑

k=1

kqk =1

α− λ+

1

λ

∞∑

k=1

k

∞∑

m=k

pm,0

=1

α− λ+

1

λ

∞∑

m=1

pm,0

m∑

k=1

k =1

α− λ+

1

λ

∞∑

m=1

pm,0m2 +m

2

=1

α− λ+

1

4λρ+

3

8λ· ρ2

1− ρ+

1

4λρ

where

α− λ

λ=

1− ρ

ρ,

and we have used the first two moments of pm,0 computed above.

« December 1, 2017 George Kesidis

307

Page 308: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Job sojourn times in the load-balanced case - main result

• So, the mean sojourn time of a job in the load-balanced (α = β) case is:

EQ1

λ+

E|Q1 −Q2|2λ

=1

α− λ

(

3

2− 1

)

,

where

1

α− λ

is just the mean number of jobs in a stationary M/M/1 queue.

• Note that the delay factor above M/M/1 satisfies:

11

8≤ 3

2− 1

8ρ ≤ 3

2.

« December 1, 2017 George Kesidis

308

Page 309: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Bounds for K > 2 servers - Associated RVs

• Again, consider the load balanced (i.i.d. exp(α) task service times) and stable (λ < α)case.

• To obtain an upper bound, it was argued in [Nelson and Tantawi 1988] that for all jobs i,all of its task sojourn times Sj,i := Dj,i− tiKj=1 form an “associated” group of randomvariables.

• Taking any monotonic function g of each member group of an “associated” random variablesXj leads to a group of random variables g(Xj) that have (pairwise) non-negativecovariance, cov(g(Xj), g(Xl)) ≥ 0.

• The following useful maximal inequality follows: ∀x > 0,

P( max1≤j≤K

Sj,i > x) ≤ 1−K∏

j=1

P(Sj,i ≤ x)

i.e., the Bernoulli random variables 1Sj,i ≤ x (a monotonically decreasing function of Sj,i)have non-negative covariance since

P( max1≤j≤K

Sj,i > x) = 1− P( max1≤j≤K

Sj,i ≤ x).

« December 1, 2017 George Kesidis

309

Page 310: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Bounds for K > 2 servers (cont)

• The stationary sojourn time S(K) of a job has distribution satisfying, ∀x > 0:

P(S(K) > x) = limi→∞

P( max1≤j≤K

Sj,i > x)

≤ 1−K∏

j=1

limi→∞

P(Sj,i ≤ x),

where the last equality is for the M/M/1 queue.

• Using PASTA and conditioning on the number of jobs in a stationary M/M/1 queue (∼geom(ρ)), one can show that the sojourn time of a job in steady-state ∼ exp(α− λ), sothat

P(S(K) > x) ≤ 1− (1− exp((α− λ)x))K

• Thus, one can show using

ES(K) =

∫ ∞

0

P(S(K) > x)dx

≤∫ ∞

0

(1− (1− exp((α− λ)x))K)dx =: HK

« December 1, 2017 George Kesidis

310

Page 311: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Bounds for K > 2 servers - main result

• From the previous display, the mean sojourn time for the load-balanced case (α = β)ES(K) ≤ HK .

• One can also show HK = O(logK), so that

ES(K) = O(logK).

• Ignoring queuing delays, we get a simple lower bound

ES(K) ≥ HK/α,

giving some measure of tightness to the previous upper bound.

« December 1, 2017 George Kesidis

311

Page 312: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

A martingale approach - background

• Following [Buffet and Duffield, JAP’94] consider a single queue with normalized service rate1 and with ith job having service time xi and arrival time ti > ti−1.

• Define W as workload so that the queueing delay of the kth job is

W(tk−) = W(tk)− xk = maxl≤k

k−1∑

i=l

xi − (tk − tl) = maxl≤k

k−1∑

i=l

(xi − τi)

where the interarrival times τi := ti+1 − ti and 0 =:∑k−1

k ....

• Stability requires E(xi − τi) < 0.

• If xi−τi are i.i.d. then for each k ∈ Z, we can choose the largest y > 1 so that Eyx−τ = 1and

Y (k)k−l := y

∑k−1

i=l(xi−τi)

is an (exponential) martingale for integers l ≤ k with Y (k)0 ≡ 1 and ∀i ≥ 0, EY (k)

i = 1.

• We can then use Doob’s maximal equality to obtain the bound,

P(W(tk) ≥ θ) = P(maxi≥0

Y (k)i ≥ yθ) ≤ y−θ.

« December 1, 2017 George Kesidis

312

Page 313: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Martingale approach to a fork-join stage

• Let xj,i be the duration of the jth task of ith job.

• The queueing delay of the kth job (time until the last of its tasks begins service) is therefore

maxj

Wj(tk−) = maxj

maxl≤k

k−1∑

i=l

(xj,i − τi)

• By the union bound,

P(maxj

Wj(tk−) ≥ θ) ≤∑

j

P(Wj(tk−) ≥ θ) ≤∑

j

y−θj

• See [Rizk et al., SIGM.’15] for extensions to Markovian arrivals.

• Note that for a not work-conserving (blocking) case where the tasks of all future jobs l > kcannot start until all those of job k complete, there is a single-queue equivalent:

maxl≤k

k−1∑

i=l

(maxj

xj,i − τi) ≥ maxj

Wj(tk−).

« December 1, 2017 George Kesidis

313

Page 314: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Markov decision processes (MDPs) - References

• D.P. Bertsekas. Dynamic Programming. Prentice Hall, 1987, Vols I and II

• M. Puterman. Markov decision processes. John Wiley & Sons, 1994

• C. Cassandras and S. Lafortune. Introduction to Discrete Event Systems. Springer, 2007

• Recall our previous discussion of

– link-state and distance-vector routing and

– discrete-time Markov chains.

« December 1, 2017 George Kesidis

314

Page 315: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - shortest path on a graph

• Suppose we are planning the construction of a highway from city A to city K.

• Different construction alternatives and their “edge” costs g ≥ 0 between directly connectedcities (nodes) are given in the following graph.

• The problem is to determine the highway (edge sequence) with the minimum total (additive)cost.

« December 1, 2017 George Kesidis

315

Page 316: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Recall Bellman’s principle of optimality

• If C belongs to an optimal (by edge-additive cost J∗) path from A to B, then the sub-pathA to C and C to B are also optimal,

• i.e., any sub-path of an optimal path is optimal (easy proof by contradiction).

• Dijkstra’s algorithm uses the predecessor node of the destination (path penultimate node),and is based on complete link-state (edge-state) info consistently shared among all nodes:

J∗(A,B) = minCJ∗(A,C) + g(C,B) | C is a predecessor of B,

i.e., C and B are adjacent nodes in the graph (endpoints of the same edge).

• The Iterated distributed Bellman-Ford algorithm instead uses the successor node of the pathorigin and only nearest-neighbor distance-vector information sharing:

J∗(A,B) = minCg(A,C) + J∗(C,B) | C is a successor of A

« December 1, 2017 George Kesidis

316

Page 317: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time, deterministic scenario

• At “time” n,

– gn(xn, un) ≥ 0 is the cost,

– xn is the state, and

– un is the control.

• State evolves according to

xn+1 = fn(xn, un), ∀n ∈ 0,1,2, ...,N − 1.

• Given initial state x0, the additive cost is

J0(x0, u0) =

N−1∑

n=0

gn(xn, un) + gN(xN),

where gN is the terminal cost.

• Objective is to find the control u0 = unN−1n=0 (N decision variables u0) that minimizesJ0(x0, u0) - i.e., given the initial state x0, dynamics f and costs g,

minu0

J0(x0, u0).

« December 1, 2017 George Kesidis

317

Page 318: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time, deterministic scenario - problem variations

• We can, alternatively, maximize an additive total reward J0 of rewards gn at n.

• Or, J0 = maxn≥0 gn as maximum of signed rewards gn ∈ R.

• Or, J0 = minn≥0 gn as minimum of signed costs.

« December 1, 2017 George Kesidis

318

Page 319: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time, deterministic scenario - backward induction

• The cost-to-go from time k < N depends on the state xk and residual controluk = unN−1n=k (N − k decisions),

Jk(xk, uk) =

N−1∑

n=k

gn(xn, un) + gN(xN)

= gk(xk, uk) + Jk+1(xk+1, uk+1)

= gk(xk, uk) + Jk+1(fk(xk, uk), uk+1),

which we have written a function of just xk, uk and uk+1.

• Applying the optimality principle and state dynamics to minimize J0,

– we can work backward from time N to find the optimal control u∗k+1 before u∗k,

– thus finding u∗k = u∗k, u∗k+1,

∀x, u∗N−1(x) = argminu JN−1(x, u) = argminu gN−1(x, u) + gN(fN−1(x, u))∀x, ∀k < N − 1, u∗k(x) = argminu gk(x, u) + Jk+1(fk(x, u), u

∗k+1(fk(x, u)))

• Note how optimal control at time k < N , u∗k depends on the current state x = xk and,for k < N − 1, on future optimal controls u∗k+1 which are previously determined.

319

Page 320: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov decision processes with state’s TPM

• We will also model x as a Markov chain on its state space with transition probability matrix(TPM) P(k, u) which depends on the (not state anticipative) control uk = u at all timesk, i.e.,

Pij(k, u) = P(xk+1 = j | xk = i, uk = u),

and we’ve dispensed with the recursive update fk.

• So, at each time k we choose from a (controlled) family of TPMs P(k, ·).

• The marginal distribution π of x satisfies

xk+1 ∼ πT(k + 1) = πT(k)P(k, uk).

• Given the initial distribution π(0) ∼ x0, we wish to find the optimal control u0 =unN−1n=0 minimizing the expected additive cost

V0(π(0), u0) := Eπ(0)J0(x0, u0) = Eπ(0)

(

N−1∑

n=0

gn(xn, un) + gN(xN)

)

• Recall that the expectation operator E is linear.

« December 1, 2017 George Kesidis

320

Page 321: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov decision processes with state’s TPM (cont)

• Given a state x governed by TPMs P, we can write the principle of optimality for expectedcost-to-go at time k < N as:

Vk(π(k), uk;u∗k+1) := min

uk

Eπ(k)Jk(xk, uk;u∗k+1)

= minuk

Eπ(k)g(xk, uk) + Eπ(k)

N−1∑

n=k+1

gn(xn, u∗n) + gN(xN)

= minuk

Eπ(k)g(xk, uk) + Eπ(k)Jk+1(xk+1, u∗k+1(π(k + 1)))

= minuk

Eπ(k)g(xk, uk) + Vk+1(π(k +1), u∗k+1(π(k + 1))),

where in the last two equalities,

π(k + 1)T = π(k)TP(k, uk).

• Note how the minimizing u∗k will depend on π(k) ∼ xk and future optimal controls u∗k+1.

« December 1, 2017 George Kesidis

321

Page 322: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov decision processes with state’s TPM (cont)

To clarify:

Eπ(k+1)Jk+1(xk+1, u∗k+1) =

x

Jk+1(x, u∗k+1)πk+1(x)

=∑

x

Jk+1(x, u∗k+1)

x′

πk(x′)P (xk+1 = x|xk = x′, uk)

=∑

x

Jk+1(x, u∗k+1)(π

Tk P(k, uk))x

= Eπ(k)Jk+1(xk+1, u∗k+1),

which depends on πk and uk.

« December 1, 2017 George Kesidis

322

Page 323: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov decision processes - perturbations model

• As a special case, suppose the cost at time n is gn(xn, un, wn) ≥ 0 is the cost at time n,where

– u is the control,

– w is a (discrete-time) “driving” Markov process (of “perturbations” in the state), soP(w)(n) is the (uncontrolled) TPM of at w time n, and

– x is the state which evolves according to modified recursive update

xn+1 = fn(xn, un, wn), ∀n ∈ 0,1,2, ...,N − 1, i.e.,

P (x)ij (n, un) = Eα(n)P(fn(i, un, wn) = j|xn = i), where wn ∼ α(n)

=∑

w′

P(fn(i, un, wn) = j|xn = i)αw′(n), where αw′(n) := P(wn = w′).

• That is, x is also a Markov process.

• Again, the additive cost is the sum of non-negative components g at each time n,

J0(x0, u0) =

N−1∑

n=0

gn(xn, un, wn) + gN(xN)

323

Page 324: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov decision processes - perturbations model (cont)

• Given the initial state x0, the initial distribution α(0) ∼ w0, and its TPM P(w), we wishto find the optimal control achieving the expected cost to minimize

V0(x0, α(0), u∗0) := min

u0

Eα(0)J0(x0, u0).

• So, we can write the principle of optimality for expected cost-to-go at time k < N as:

Vk(xk, α(k), uk;u∗k+1) := min

uk

Eα(k)Jk(xk, uk;u∗k+1)

= minuk

Eα(k)g(xk, uk, wk) + Eα(k)

N−1∑

n=k+1

gn(xn, u∗n, wn) + gN(xN)

= minuk

Eα(k)g(xk, uk, wk) + Vk+1(α(k + 1), u∗k+1(α(k +1), xk+1)),

where in the last equality,

wk+1 ∼ α(k +1)T = α(k)TP(w)(k) andxk+1 = fk(xk, uk, wk) with wk ∼ α(k).

• Note how the minimizing uk will depend on α(k) and xk (and u∗k+1).

« December 1, 2017 George Kesidis

324

Page 325: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Discrete-time Markov decision processes - perturbations model (cont)

For the special case of i.i.d. disturbances w:

• ∀n, P(w)(n) = I,

• w is stationary so that there is a distribution α such that, ∀k, wk ∼ α(k) = α (does notdepend on time k), and

• so indicating dependence of V and J on α may be suppressed.

« December 1, 2017 George Kesidis

325

Page 326: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - playing chess

• A strategic player plays against an opponent, where the (non-strategic) opponent does notchange his actions in accordance with the current state.

• A draw fetches 0 points for both, a win fetches 1 point for the winner and 0 for the loser.

• They play N independent games.

• If the scores are tied after N games, then the players go to sudden death, where they playuntil one wins a game.

« December 1, 2017 George Kesidis

326

Page 327: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - playing chess - Timid and Bold strategies

• The (strategic) player can play “Timid”, in that case draws a game with probability pd andloses with probability 1− pd, i.e., cannot win playing Timid.

• The player can play “Bold”, in that case wins a game with probability pw and loses withprobability 1− pw.

• Consideration of strategy is nontrivial when pd > pw > 0.

• Optimal strategy in sudden death? Play Bold (to win!)

« December 1, 2017 George Kesidis

327

Page 328: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - playing chess - set-up

• uk : control is either Timid (0) or Bold (1) ∀k

• wk : outcome of the kth game

– Given Timid play, P(wk = 0|uk = 0) = pd, P(wk = −1|uk = 0) = 1− pd

– Given Bold play, P(wk = 1|uk = 1) = pw, P(wk = −1|uk = 1) = 1− pw

• After k games, strategic player leads by xk = wk−1 + xk−1 wins, with x0 := 0.

• Sk = −k,−(k − 1), ...,−1,0,1, ..., k − 1, k : state space of xk

• N : time horizon of optimization

« December 1, 2017 George Kesidis

328

Page 329: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - playing chess - reward function to optimize

• Now consider maximization of reward instead of minimization of cost.

• At time N , the probability of winning the whole match is

EJN(xN) = EgN(xN) =

0 if xN < 0pw if xN = 0 (need sudden death)1 if xN > 0

• The probability of winning the whole match in k < N games is zero (need to play at leastN games by rule) so

Egk(xk, uk, wk) = 0.

« December 1, 2017 George Kesidis

329

Page 330: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - playing chess - optimal strategy

VN(xN) = EgN(xN) = ...(see previous slide)∀k < N, Vk(xk) = max

uk

EwJk+1(xk+1)

= maxpdVk+1(xk) + (1− pd)Vk+1(xk − 1),

pwVk+1(xk + 1)+ (1− pw)Vk+1(xk − 1),where the first case is uk =Timid(0) and the second is uk=Bold(1). So,

VN−1(x) =

0 if x < −1 (x+ 1 < 0)max0, p2w= p2w if x = −1 (u∗N−1 = 1)maxpdpw, pw = pw if x = 0 (u∗N−1 = 1)maxpd + (1− pd)pw, pw + (1− pw)pw

= pd + pw − pdpw if x = 1 (u∗N−1 = 0)1 if x > 1 (x− 1 > 0)

• So for the N th game: if trailing by 1 then play to win; else if leading by 1 then play todraw; else if tied (as in sudden death) then play to win; else the play action doesn’t matteras the winner has already been determined.

• Similarly, compute VN−2 using VN−1, etc., to V0.

• Exercise: Show by backwards induction that optimal strategy is

u∗N−k(x) =

Bold(1) if − k ≤ x ≤ 0,Timid(0) if 1 ≤ x ≤ k,arbitrary else

330

Page 331: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The Linear dynamics and Quadratic cost (LQ) framework

• Assume a perturbed model with linear-dynamics f for state and perturbations xk, wk ∈ Rn

and control uk ∈ Rm, i.e., there are deterministic matrix sequences Ak ∈ Rn×n, Bk ∈Rm×n such that

∀k < N, xk+1 = Akxk +Bkuk + wk

• Quadratic costs for non-negative definite matrices 0 ≤ Qk ∈ Rn×n, 0 ≤ Rk ∈ Rm×m,

gN(xN) = xTNQNxN and gk(xk) = xT

k Qkxk + uTk Rkuk

Jj(xj) =

N∑

k=j

gk(xk),

where the cost-to-go at time j, Jj, depends on control uj = ukNk=j.

• When w is a zero-mean sequence of unit variance, can directly show that optimal linearcontrol is uk(xk) = Lkxk where

Lk = −(BTk Kk+1Bk +Rk)

−1BTk Kk+1Ak for k < N , where

KN = QN and, with Kk determined in backward order,Kk = −AT

k (Kk+1 −Kk+1Bk(BTk Kk+1Bk + Rk)

−1BTk Kk+1)Ak +Qk

• The minimum resulting cost is

V ∗(x0) = xT0 K0x0 +

N−1∑

k=0

E(wTk Kk+1wk)

331

Page 332: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Linear dynamics, Quadratic cost (LQ) - time-invariant case

• If Ak = A, Bk = B, Rk = R, Qk = Q (time-invariant/homogeneous case), thenas time k becomes large, Kk converges to the steady-state solution of algebraic Riccatiequation,

K = −AT(K −KB(BTKB +R)−1BTK)A+Q

• So, the LQ-optimal control is u(x) = Lx, where

L = −(BTKB + R)−1BTKA

« December 1, 2017 George Kesidis

332

Page 333: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Optimal stopping problems

• Suppose in any time-slot, one of the control actions stops the system.

• The decision maker can terminate the system at a certain loss or choose to continue at acertain cost.

• The challenge will be when to stop so as to minimize the total/final expected cost.

• For example, decision maker possesses an asset that is the subject of sequential offers wn

and the question is which offer to take?

« December 1, 2017 George Kesidis

333

Page 334: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Optional stopping example - asset selling problem

• A decision-maker has an asset for which he receives quotes/offers in every time-slot,w0, ..., wN−1 > 0.

• Quotes are independent from slot to slot and identically distributed.

• If the offer is accepted, it is then invested to earn a fixed rate of interest r > 0.

• Control action uk for k > 0 is to sell or not to sell at slot k based on offer wk

• State is the offer in the previous slot if the asset is not sold yet, or a flag S < 0 if it waspreviously sold (terminating state),

xk+1 =

S if sold in previous slots (< k +1)wk otherwise

« December 1, 2017 George Kesidis

334

Page 335: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Asset selling problem - rewards

• So, xk 6= S means xk = wk−1 > 0.

• Reward at N is

JN(xN) =

gN(xN) = xN = wN−1 if xN 6= S (not prev. sold, take final offer)0 if xN = S (prev. sold)

• Terminal reward at step k < N is sale price plus interest till N if sale is made,

gk(xk, uk, wk) =

(1 + r)N−kxk if xk 6= S and uk =sell (at k, so, xk = wk−1)0 if xk = S or uk =don’t sell (at k)

• So only one of the gk will be nonzero.

• Reward-to-go at k < N is (maxsell at k, don’t sell at k if not previously sold or 0 ifpreviously sold):

Vk(xk) =

max(1 + r)N−kwk−1, EJk+1(wk) if xk 6= S (xk = wk−1)0 if xk = S

« December 1, 2017 George Kesidis

335

Page 336: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Asset selling problem - optimal control is threshold

• Let the expected discounted future reward beαk = EJk+1(wk)/(1 + r)N−k = EJk+1(xk+1)/(1 + r)N−k when xk 6= S.

• So, Jk(xk) = (1 + r)N−k maxxk, αk.

• So by backward induction, the optimal (maximizing reward) control strategy uk is:

– Accept the offer (wk) if xk > αk

– Reject the offer if xk < αk

– Act either way otherwise

« December 1, 2017 George Kesidis

336

Page 337: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Asset selling problem - threshold non-increasing in time

Theorem: αk is non-increasing function of k, i.e., ∀k < N , αk ≥ αk+1.

Proof: We will show by backward induction that ∀x ≥ 0 (xk 6= S):

• αN−1 := EJN(w)/(1 + r) = Ew/(1 + r), noting wk are assumed i.i.d.

• αN−2 := EJN−1(w)/(1 + r)2 = maxEw/(1 + r), EJN(w)/(1 + r)2.

• Thus, αN−1 := EJN(w)/(1+r) ≤ EJN(w)/(1+r)2 =: αN−2, i.e., we’ve establishedthe base case.

• Assume αk−1 := EJk(w)/(1 + r)N−k+1 ≥ EJk−1(w)/(1 + r)N−k+2 =: αk−2 forsome arbitrary k ≤ N .

• Thus,

αk−3 := EJk−2(x)/(1 + r)N−k+3 = max(1 + r)−1Ew, EJk−1(w)/(1 + r)N−k+2≤ max(1 + r)−1Ew, EJk(w)/(1 + r)N−k+1 (by inductive assumption)

= EJk−1(w)/(1 + r)N−k+2 =: αk−2.

• Q.E.D.

« December 1, 2017 George Kesidis

337

Page 338: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Asset selling problem - iterative computation of threshold

• Let Vk(xk) = Jk(xk)/(1+ r)N−k when xk 6= S, i.e., xk = wk−1 > 0, decision to sellhas not been made, and threshold is still relevant.

VN(xN) = xN (again, xN 6= S)∀k < N, Vk(xk) = maxxk, (1 + r)−1EVk+1(w) (again, wk assumed i.i.d.)

= maxwk−1, (1 + r)−1EVk+1(w)

• Since αk := EVk+1(w)/(1 + r),

Vk(xk) = maxxk, αk = maxwk−1, αk

« December 1, 2017 George Kesidis

338

Page 339: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Asset selling problem - iterative computation of threshold (cont)

• Thus,

αk = EVk+1(w)/(1 + r)

= Emaxw,αk +1/(1 + r)

=

(∫ αk+1

0

αk+1dFw(z) +

∫ ∞

αk+1

zdFw(z)

)

/(1 + r),

where Fw is the cumulative distribution function of w.

• Note that the first term is αk+1P(w ≤ αk+1) ≤ αk+1 < ∞ and the second term is≤ Ew <∞ by assumption.

• So, αk > 0 is a bounded, monotonically non-increasing sequence, so it must converge.

• For large k, the sequence converges to solution α of

α =

(∫ α

0

αdFw(z) +

∫ ∞

α

zdFw(z)

)

/(1 + r)

=

(

αP(w ≤ α) +

∫ ∞

α

zdFw(z)

)

/(1 + r)

« December 1, 2017 George Kesidis

339

Page 340: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Background on constrained optimization and duality

• Consider a primal optimization problem with a set of m inequality constraints: Find

argminx∈D

f0(x),

where the constrained domain of optimization is

D ≡ x ∈ Rn | fi(x) ≤ 0, ∀ i ∈ 1,2, ...,m.

• For the example of a loss network, the constraints are

fl(x) = (Ax)l − cl =∑

r | l∈rxr − cl,

where the index l corresponds to a link and m is the number of links in the network (andhere xr ∈ Z+).

• To study the primal problem, we define the corresponding Lagrangian function on Rn+m:

L(x, v) ≡ f0(x) +

m∑

i=1

vifi(x),

where, by implication, the vector of Lagrange multipliers is v ∈ [0,∞)m, i.e., non-negativev ≥ 0.

« December 1, 2017 George Kesidis

340

Page 341: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Primal constrained optimization with Lagrange multipliers

• Theorem:

minx∈Rn

maxv≥0

L(x, v) = minx∈D

f0(x) ≡ p∗.

• Proof: Simply,

maxv≥0

L(x, v) =

∞ if x 6∈ D,f0(x) if x ∈ D,

• Note that if x 6∈ D then ∃ i > 0 s.t. fi(x) > 0 ⇒ optimal v∗i =∞.

• So, we can maximize the Lagrangian in an unconstrained fashion to find the solution to theconstrained primal problem.

« December 1, 2017 George Kesidis

341

Page 342: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Complementary slackness of primal solution

• Define the maximizing values of the Lagrange multipliers,

v∗(x) ≡ argmaxv≥0

L(x, v)

and note that the complementary slackness conditions

v∗i (x)fi(x) = 0

hold for all x ∈ D and i ∈ 1,2, ...,m.

• That is, if there is slackness in the ith constraint, i.e., fi(x) < 0, then there is no slacknessin the constraint of the corresponding Lagrange multiplier, i.e., v∗i (x) = 0.

• Conversely, if fi(x) = 0, then the optimal value of the Lagrange multiplier v∗i (x) is notrelevant to the Lagrangian.

• Complementary slackness conditions lead to the Karush-Kuhn-Tucker necessary conditionsfor optimality of the primal solution.

« December 1, 2017 George Kesidis

342

Page 343: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The dual problem

• Now define the dual function of the primal problem:

g(v) = minx∈Rn

L(x, v).

• Note that g(v) may be infinite for some values of v and that g is always concave.

• Theorem: For all x ∈ D and v ≥ 0,

g(v) ≤ f0(x).

• Proof: For v ≥ 0,

g(v) ≤ L(x, v) ≤ maxv≥0

L(x, v) = f0(x),

where the last equality is the bound on L assuming x ∈ D.

« December 1, 2017 George Kesidis

343

Page 344: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The dual problem (cont)

• So, by the previous theorem, if we solve the dual problem, i.e., find

d∗ ≡ maxv≥0

g(v),

then we will have obtained a (hopefully good) lower bound to the primal problem, i.e.,

d∗ ≤ p∗.

• Under certain conditions in this finite dimensional setting, in particular when the primalproblem is convex and a strictly feasible solution exists, the duality gap

p∗ − d∗ = 0.

« December 1, 2017 George Kesidis

344

Page 345: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

The dual problem for a linear program

• If f0(x) =∑n

j=1 φixi and all fi(x) = ξi +∑n

j=1 γi,jxj are linear functions, then the

above primal problem, minx f0(x) s.t. fi(x) ≤ 0 ∀i, is called a Linear Program (LP).

• Exercise: Find an equivalent dual LP. Hint: first show the Lagrangian of the primal problemcan be written as

L(x, v) =

m∑

i=1

ξivi +

n∑

j=1

xj

(

φj +

m∑

i=1

viγi,j

)

.

• LPs can be solved by the simplex algorithm (along feasible region boundaries) or by interiorpoint methods.

• Some references:

– R.J. Vanderbei and J.C. Lagarias. I.I. Dikin’s Convergence Result for the Affine-ScalingAlgorithm. Contemporary Mathematics 114, 1990.

– E. Polak. Optimization. Springer.

– S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge Univ. Press.

« December 1, 2017 George Kesidis

345

Page 346: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Iterated subgradient method

• To use duality to find p∗ and x∗ = argmaxx∈Df0(x) in this case, suppose that a slowascent method is used to maximize g,

vn = vn−1 + α1∇g(vn−1),and between steps of the ascent method, a fast descent method is used to evaluate g(vn)by minimizing L(x, vn),

xk = xk−1 − α2∇xL(xk−1, vn).

• The process described by such an ascent/descent method is called an iterative subgradientmethod.

• The step sizes α can be chosen dynamically, e.g., steepest ascent/descent (i.e., itself theresult of optimization).

• Instead of slow ascent, the descent step can be projected on the feasible domain D.

« December 1, 2017 George Kesidis

346

Page 347: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

KKT conditions

• Consider again a primal optimization problem with a set of m inequality constraints: Find

argminx∈D

f0(x),

where the constrained domain of optimization is

D ≡ x ∈ Rn | fi(x) ≤ 0, ∀ i ∈ 1,2, ...,m.

• So the Lagrangian on (x, v) ∈ Rn × (R+)m is

L(x, v) ≡ f0(x) +

m∑

i=1

vifi(x).

and our objective is to find minxmaxv≥0L.

• If f0 is convex and, ∀i ≥ 1, fi is linear, then the following Krush-Kuhn-Tucker (KKT)

conditions are sufficient for optimality:

∀j, ∂L/∂xj = 0 and

∀i, vifi = 0 (complementary slackness).

« December 1, 2017 George Kesidis

347

Page 348: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - Max-Min Fair (MMF) allocation: problem set-up and def’n

• Suppose a set of N processes require service from a set of M cores (processors).

• Let δn,m ∈ 0,1 indicate whether process n ∈ N prefers core m ∈M .

• Let φn be the weight or priority of process n ∈ N .

• Let sm be the capacity of core m.

• Finally, let xn,m be the fraction of core m allocated to process n, whereδn,m = 0⇒ xn,m = 0.

• The normalized total allocation to process n is

Fn :=∑

m∈Mxn,mδn,msm

/

φn .

• x is a MMF allocation if the following condition holds:If xn,m > 0, δk,m = 1 and Fk > Fn, then xk,m = 0.

• In other words, at a MMF allocation, all processes receiving positive allocation (x > 0) byany given core must have the same normalize total allocations (F ).

« December 1, 2017 George Kesidis

348

Page 349: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - Max-Min Fair (MMF) allocation by constrained convex opt

• Consider the Lagrangian with Lagrange multipliers v ≥ 0:

L =∑

n∈Nφng(Fn) +

m∈Mvm

(

n∈Nxn,m − 1

)

+∑

n,m

vn,m(−xn,m)

where g is strictly convex and g′ strictly increasing (e.g., g(F ) = − log(F )).

• The KKT conditions for optimality require that if δn,m > 0 then

smg′(Fn) + vm − vn,m = 0 ⇒ Fn = (g′)−1

(

vn,m − vm

sm

)

where we note that g′ strictly increasing ⇒ (g′)−1 strictly increasing.

• If xn,m > 0, then vn,m = 0 by complementary slackness.

• Additionally, if δk,m = 1 then

Fk = (g′)−1(

vk,m − vm

sm

)

≥ (g′)−1(

−vmsm

)

= Fn,

which is the definition of MMF allocation [Khamse-Ashari et al., GLOBECOM, 2016].

• So, the solution of the above convex optimization is the MMF allocations.

349

Page 350: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - load balancing in a network of parallel routes

• Consider a total demand of Λ between two network end-systems having R disjoint routesconnecting them.

• On route r, the service capacity is cr and the fraction of the demand applied to it is πr,where

r πr = 1 and ∀r, cr > πrΛ (the latter for stability).

• Consider the problem of the routing decisions that minimize the mean number of jobs inthe system,

N(π) =∑

r

πrΛ

cr − πrΛ,

where this expression is clearly derived from that of an M/M/1 queue.

• To find optimal π, we can first try to use a Lagrangian with just one of the inequalityconstraints,

r πr ≥ 1:

L(π, q) = N(π) + v(1−∑

r

πr) =∑

r

(

−1+cr

cr − πrΛ

)

+ v(1−∑

r

πr).

• Note that for stable π, L in increasing in every πr.

• Since L is concave in π, there will be zero duality gap allowing us to minimize over π first.

« December 1, 2017 George Kesidis

350

Page 351: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Example - load balancing (cont)

• By the first-order necessary conditions, ∀i, ∂L/∂πr = 0, the minimizing

π∗r =cr

Λ−√

cr

Λv.

• To meet the equality constraint∑

r π∗r = 1 (maximize the dual function), the Lagrange

multiplier v is

√Λv =

r

√cr

−1+∑

r cr/Λ⇒ v =

( ∑

r

√cr

r cr − Λ

)2

& π∗r =cr

Λ−√cr

j√cj

−1+∑

j

cj

Λ

,

where

– the first equality requires the system stability condition∑

r cr > Λ, and

– stability in each route is achieved, cr > π∗rΛr.

• Note that if route capacities c are highly imbalanced, it’s possible that this π∗r < 0 forroutes r with smallest cr, in which case the constraints πr ≥ 0 need to be considered inthe Lagrangian (exercise) - else if cr ≈ cs ∀r, s, then π∗ ≈ uniform (> 0).

• By Little’s theorem, π∗ also minimizes mean delay∑

r πr

(

1cr−πrΛ

)

= N(π)/Λ.

• This model was extended to an end-user game in [Korilis et al. INFOCOM’97].

351

Page 352: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

An “efficient” game among routed flows in a network

• Reference: F. Kelly. Charging and rate control for elastic traffic. European Trans.Telecommun. 8:33-37, 1997.

• Consider R users sharing a network consisting of m links (hopefully without cycles) eachconnecting a pair of nodes.

• We identify a single fixed route r with each user, where, again, a route is simply a groupof connected links.

• Thus, the user associated with each route could, in reality, be an aggregation of manyindividual flows of smaller users.

• Each link l has a capacity of cl bits per second and each user r transmits at xr bits persecond.

• Link l charges κlX dollars per second to a user transmitting X bits per second over it.

« December 1, 2017 George Kesidis

352

Page 353: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Noncooperative network-game formulation

• Suppose that user r derives a certain benefit from transmission of xr bits per second onroute r.

• The value of this benefit can be quantified as Ur(xr) dollars per second.

• A user utility function Ur is often assumed to have the following properties: Ur(0) = 0,Ur is nondecreasing, and, for elastic traffic, Ur is concave.

• The concavity property is sometimes called a principle of diminishing returns or diminishingmarginal utility.

« December 1, 2017 George Kesidis

353

Page 354: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Noncooperative network-game formulation (cont)

• Note that user r has net benefit (net utility)

Ur(xr)− xr

l∈rκl.

• Suppose that, as with the loss networks, the network wishes to select its prices κ so as tooptimize the total benefit derived by the users, i.e., the network wishes to maximize “socialwelfare,” for example,

−f0(x) ≡R∑

r=1

Ur(xr),

subject to the link capacity constraints

fl(x) = (Ax)l − cl ≤ 0 for 1 ≤ l ≤ m.

• We can therefore cast this problem in the primal form using the Lagrangian,

L(x, v) ≡ f0(x) +

m∑

i=1

vifi(x).

« December 1, 2017 George Kesidis

354

Page 355: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Dual problem formulation

• Since all of the individual utilities Ur are assumed concave functions on R, f0 is convex onRn.

• Since the inequality constraints fi are all linear, the conditions for zero duality gap aresatisfied.

• So, we will now formulate a distributed solution to the dual problem in order solve theprimal problem.

• First note that, because of convexity, a necessary and sufficient condition to minimize theLagrangian L(x, v) over x (to evaluate the dual function g) is

∇xL(x∗(v), v) = 0.

« December 1, 2017 George Kesidis

355

Page 356: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Solving the dual problem

• For the problem under consideration,

∂L(x, v)

∂xr= −U ′r(xr) +

l∈rvl

= −U ′r(xr) + (ATv)r.

• Therefore, for all r,

x∗r(v) = (U ′r)−1(

l∈rvl

)

= (U ′r)−1((ATv)r),

where the right-hand side is made unambiguous by the above assumptions on Ur.

« December 1, 2017 George Kesidis

356

Page 357: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Solving the dual problem - ascent-descent framework

• Assume that, at any given time, user r will act (select xr) so as to maximize their netbenefit, i.e., select

argmaxx≥0

Ur(x)− x∑

l∈rκl = (U ′r)

−1

(

l∈rκl

)

=: yr,

where this quantity is simply x∗r(κ).

• That is, the prices κ correspond to the Lagrange multipliers v.

• So, the dual function

g(κ) = L(x∗(κ), κ),

i.e., for fixed link costs κ, the decentralized actions of greedy users minimize the Lagrangianand, thereby, evaluate the dual function.

• So, at fixed prices, the noncooperative game played by the users is efficient in that socialwelfare −f0 is maximized at their Nash equilibrium.

• A Nash equilibrium is a set of play-actions x∗ where no single user can benefit fromunilateral defection.

« December 1, 2017 George Kesidis

357

Page 358: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Solving the dual problem - ascent-descent framework (cont)

• Following the ascent-descent framework of the dual algorithm, suppose that the networkslowly modifies its link prices to maximize g(κ), where by “slowly” we mean that the greedyusers are able to react to a new set of link prices well before they change again.

• To apply the ascent method to modify the link prices, we need to evaluate the gradient ofg to obtain the ascent direction.

• Since

∂g(κ)

∂κl

= [(Ax∗(κ))l − cl]−∑

r

U ′r(x∗r(κ))

∂x∗r(κ)

∂κl

+∑

l′

κl′

r|l′∈r

∂x∗r(κ)

∂κl

= (Ax∗(κ))l − cl,

• for each link l the ascent rule for link prices becomes

(κl)n = (κl)n−1 + α1 ((Ax∗(κn−1))l − cl)

or, in vector form,

κn = κn−1 + α1(Ax∗(κn−1)− c).

• Note that the these link price updates depend only on “local” information such as linkcapacity and price and link demand, (Ax∗(κn−1))l, where the latter can be empiricallyevaluated.

« December 1, 2017 George Kesidis

358

Page 359: Performance Evaluation of Queueing Networks - …gik2/teach/performance.pdfPerformance Evaluation of Queueing Networks - Outline (cont) •Queueing system models have been used in

Solving the dual problem - ascent-descent framework (cont)

• Suppose that we initially begin with very high prices κ0 so that demands x∗(κ) are verysmall.

• The action of the previous link-price updates will be to lower prices and, correspondingly,increase demand.

• The prices will try to converge to a point κ∗, where supply c equals demand Ax∗(κ∗).

« December 1, 2017 George Kesidis

359