Contents

Queueing systems

The continuous-time Markov chains (CTMCs) linked section is a prerequisite to queueing systems.

Queueing systems are modelled using Kendall’s notation as graphically shown below,

/figures/queue_model.jpeg

A queueing system can be specified with,

  1. Number of servers s

  2. Number of buffer spaces or queues

  3. Queueing fashion: LIFO (last in first out) or FIFO (first in first out).

  4. Arrival process: λ\lambda being the mean arrival rate.

  5. Service time: 1μ\frac{1}{\mu} is the average processing time of an arrival.


Written as M/M/s/kM/M/s/k. The first MM is inter-arrival time of processes, and denotes memoryless or exponential. The second MM is the service time and means a memoryless or exponential rate. ss is the number of servers as noted above, with kk being the total number of jobs in the server and buffer (k1k-1 is number of jobs in the buffer alone).

In general, rates are specified with symbols:

  1. MM: memoryless arrival or service times.

  2. GG: general arrival or service times.

  3. GIGI: general and independent arrival or service time.

  4. DD: deterministic/constant arrival or service time.

Important properities of Poisson processes (exponentially distributed R.V.) for queueing systems:

  1. N1(t)N_1(t) and N2(t)N_2(t) are independent Poisson processes with λ1\lambda_1 and λ2\lambda_2 parameters. Then N1(t)+N2(t)N_1(t) + N_2(t) is a Poisson process with parameter λ1+λ2\lambda_1 + \lambda_2.

  2. For Poisson process N(t)N(t), when there’s an arrival, we can assign it to sub-process Nk(t)N_k(t) with probability pkp_k, then we can generate kk random process N1(t),,Nk(t)N_1(t), \cdots, N_k(t) with parameters λp1,,λpk\lambda p_1, \cdots, \lambda p_k with k=1Kpk=1\sum\limits_{k=1}^K p_k = 1.


Let WW be the mean processing delay of a job, with λ\lambda being the arrival rate. Then Little’s law gives the mean number of jobs in the system LL as, L=λW L = \lambda W


This model is also called M/M/1/M/M/1/\infty. Since the system has exponential arrival rate, the queue is a continuous-time Markov chain (CTMC), with the following birth-death process,

/figures/m_m_1_chain.jpeg

The rate transition matrix QijQ_{ij} from state ii to jj is,

Qij={λ, if j=i+1μ, if j=i1λμ, if j=i0, otherwise Q_{ij} = \begin{cases} &\lambda \hspace{1em} \text{, if } j = i + 1\\ & \mu \hspace{1em} \text{, if } j = i - 1\\ &-\lambda - \mu \hspace{1em} \text{, if } j = i \\ & 0 \hspace{1em} \text{, otherwise} \end{cases}

πn\pi_n is the steady-state probability that there are n jobs in the system. Define ρ=λμ\rho = \frac{\lambda}{\mu}, then solving the local-balance equations yields,

λπn=μπn+1π1=ρπ0π2=ρπ1=ρ2π0πn=ρπn1=ρnπ0 \begin{aligned}& \lambda \pi_n = \mu \pi_{n+1} \\ & \pi_1 = \rho \pi_0 \\& \pi_2 = \rho \pi_1 = \rho^2 \pi_0 \\ & \hspace{1cm} \vdots \\ &\pi_n = \rho \pi_{n-1} = \rho^n \pi_0\end{aligned}

Since n=0πn=1\sum\limits_{n=0}^{\infty} \pi_n = 1, then π0n=0ρn=1\pi_0 \sum\limits_{n=0}^{\infty} \rho^n = 1. With ρ<1\rho < 1 to ensure that the service rate μ\mu is higher than the arrival rate λ\lambda (ensures system stability), the geometric sum is n=0ρn=11ρ\sum\limits_{n=0}^{\infty}\rho^n = \frac{1}{1-\rho}. Then we have the stationary probability, πn=ρn(1ρ) \pi_n = \rho^n (1 - \rho)

Note: The sum n=0πn=1\sum\limits_{n=0}^\infty \pi_n = 1, since ρn(1ρ)\rho^n (1 - \rho), we have (1ρ)n=0ρn=1ρ1ρ=1=n=0πn(1 - \rho)\sum\limits_{n=0}^{\infty}\rho^n = \frac{1 - \rho}{1 - \rho} = 1 = \sum\limits_{n=0}^\infty \pi_n. Meaning that the sum of stationary probabilities satisfies the normalization axiom of a probability distribution.


Mean number of jobs is L:=n=0nπn=ρ1ρL := \sum\limits_{n=0}^{\infty} n \pi_n = \frac{\rho}{1-\rho}. Mean delay or waiting time in the queue and service is W=Lλ=1μλW = \frac{L}{\lambda} = \frac{1}{\mu - \lambda}.

These expressions define the terms for being in the queue and the server.

For the queue-only values, define the mean waiting time in the queue as Wq=W1μ=ρμλW_q = W - \frac{1}{\mu} = \frac{\rho}{\mu - \lambda}.

Mean number of customers in the queue is Lq=λWq=ρ21ρL_q = \lambda W_q = \frac{\rho^2}{1 - \rho}.

The mean server utilization is U1π0=ρU \triangleq 1 - \pi_0 = \rho.