Queuing Analysis
Queuing analysis is a special case of Markov chains.
Queuing analysis deals with queues where customers compete to be processed by shared servers.
The queue size is the waiting room provided for the customers that have not been served yet plus the customers that are being served. We will talk about packets instead of customers since most of
networking analysis deals with transmitting and processing packets.
Some examples of queues are as follows:
• The number of packets stored in a router’s buffer
• The number of workstations requesting access to the LAN.
Queuing Analysis
Queuing systems are characterized by the following attributes: 1. The total number of customers in the system.
2. The number of customers that could possibly request service at a given time step.
3. The arrival process statistics for the customers.
4. The number of servers which dictate how many customers can leave the queue at a given time step.
5. The service discipline for deciding which customer or customers are to be served. Examples of service disciplines are first-come-first-serve (FIFO), random selection, polling, and priority.
6. The size of the queue to accommodate customers waiting for service. The objective of queuing analysis is to predict the system performance
how many customers get processed per time step,
Kendall’s Notation
Kendall’s notation is frequently used to succinctly describe a queuing system. This notation is represented as A/B/c/n/p, where
A – arrival statistics
B – service or departure statistics
c – number of servers
n – queue size
p – customer population size
The final two fields are optional and are assumed infinite if they are omitted.
The letters A and B denoting arrival and server statistics are given the following notations
D – Deterministic, process has fixed arrival or service rates M – Markovian, process is Poisson or binomial
Kendall’s Notation
A common practice is to attach a superscript to the letters A and B to denote multiple arrivals or “batch service”.
The queue M/M/J/B has binomial, or Poisson, arrivals and departures. At a given time step, at most one customer arrives and at most one customer could depart through one of the J available servers. The queue has a finite buffer of size B and the population size is infinite. The queue Mm/M/1/B has binomial, or Poisson, arrivals and departures.
There is one server in the queue, and at a given time step, at most m customers arrive and at most one customer departs because there is one server. The queue has a finite buffer of size B and the population size is infinite.
The queue M/Mm/1/B has binomial, or Poisson, arrivals and departures.
Queue Throughput (Th)
Most often we are interested in estimating the rate of customers leaving the queue, which is expressed as customers per time step or
customers per second. We call this rate the average output traffic Na(out), or throughput (Th) of a queue.
The units of Th in the above expression are packets/time unit or packets/time unit.
Throughput could never be negative.
When we talk about throughput of packets, we usually mean goodput
Efficiency (η) or
Access Probability ( p
a
)
The efficiency (η) of the queue or its access probability (pa)
essentially gives the percentage of customers or packets transmitted in one time step through the system relative to the total number of
arriving customers or packets in time unit or one time step.
We define the access probability (pa) or efficiency η as the ratio of the average output traffic relative to the average input traffic:
Traffic Conservation
We can write the traffic conservation as
Na(in) = Na(out) + Na(lost)
where Na(lost) is the average number of lost traffic or customers per unit time.
The above equation is valid at steady state since the number of packets in the queue will be constant.
Dividing the above equation by Na(in) to normalize, we get
η + L = 1
where L is the customer, or traffic loss probability
L = 1 − η
M/M/1 Queue
The queue is in state si when there are i customers or packets in the queue.
At a certain time step, the probability of packet arrival is a, which is equivalent to a birth event or increase in the queue population. The probability that a packet did not arrive is b = 1 − a.
The probability that a packet leaves the queue is c, which is equivalent to death or reduction in the queue population.
The probability that a packet does not leave the queue is d = 1 − c. The probability c is representative of the server’s ability to process the
M/M/1 Queue
The state transition matrix is given by
where f0 = 1 − ad f = ac + bd.
M/M/1 Queue
The difference equations for the steady-state distribution vector are obtained from the equation
P s = s
which produces the following difference equations
ad s0 − bc s1 = 0
ad s0 − g s1 + bc s2 = 0
ad si−1 − g si + bc si+1 = 0, i > 0 where g = 1 − f
M/M/1 Queue
The difference equations for the steady-state distribution vector are obtained from the equation
P s = s
which produces the following difference equations
ad s0 − bc s1 = 0
ad s0 − g s1 + bc s2 = 0
ad si−1 − g si + bc si+1 = 0, i > 0 where g = 1 − f
si – is the probability that the system is in state i . The solution to the above equations is given as
si = ρi s
0 , i ≥ 0
M/M/1 Queue
The complete solution is obtained from the above equations plus the condition
Thus, we obtain
s0 = 1 − ρ
The components of the equilibrium distribution vector are given by si = (1 − ρ)ρi , i ≥ 0
M/M/1 Queue Performance
The output traffic or average number of packets leaving the queue per time step is given by
Simplifying, we get
Na(out) = a c s0 + c (1 − s0) = c − bc s0 = a
The units of Na(out) are packets/time step.
The throughput for the M/M/1 queue is given by Th = Na(out) = a
M/M/1 Queue Performance
The M/M/1 queue is characterized by maximum efficiency since input and output data rates are equal. There is no chance for packets to be lost since the
infinite queue does not ever fill up.
The average queue size is given by the equation
The queue size is measured in units of packets or customers.
We can invoke Little’s result to estimate the wait time, which is the average number of time steps a packet spends in the queue before it is routed, as
Qa = W × Th
where W is the average number of time steps that a packet spends in the queue.