# Queueing theory

(Redirected from First-come-first-served)
Queue networks are systems in which single queues are connected by a routing network. In this image, servers are represented by circles, queues by a series of rectangles and the routing network by arrows. In the study of queue networks one typically tries to obtain the equilibrium distribution of the network, although in many applications the study of the transient state is fundamental.

Queueing theory is the mathematical study of waiting lines, or queues.[1] A queueing model is constructed so that queue lengths and waiting time can be predicted.[1] Queueing theory is generally considered a branch of operations research because the results are often used when making business decisions about the resources needed to provide a service.

Queueing theory has its origins in research by Agner Krarup Erlang when he created models to describe the Copenhagen telephone exchange.[1] The ideas have since seen applications including telecommunication, traffic engineering, computing[2] and, particularly in industrial engineering, in the design of factories, shops, offices and hospitals, as well as in project management.[3][4]

## Spelling

The spelling "queueing" over "queuing" is typically encountered in the academic research field. In fact, one of the flagship journals of the profession is named Queueing Systems.

## Single queueing nodes

Simple description and analogy

A queue, or "queueing node" can be thought of as nearly a black box. Jobs or "customers" arrive to the queue, possibly wait some time, take some time being processed, and then depart from the queue (see Fig. 1).

Fig. 1. A black box. Jobs arrive to, and depart from, the queue.

The queueing node is not quite a pure black box, however, since there is some information we need to specify about the inside of the queuing node. The queue has one or more "servers" which can each be paired with an arriving job until it departs, after which that server will be free to be paired with another arriving job (see Fig. 2).

Fig. 2. A queueing node with 3 servers. Server a is idle, and thus an arrival is given to it to process. Server b is currently busy and will take some time before it can complete service of its job. Server c has just completed service of a job and thus will be next to receive an arriving job.

An analogy often used is that of the cashier at a supermarket. There are other models, but this is one commonly encountered in the literature and which is familiar to all. Customers arrive, are processed by the cashier, and depart. Each cashier processes one customer at a time, and hence this is a queueing node with only one server. If, when a customer arrives to the cashier to find it busy, the customer will leave immediately, this is a queue with no buffer (or "waiting area", or any number of other terms). If, however, up to 5 people may wait at the cashier while it is busy, this is a queue with a buffer of size 5.

Birth-death process

The behaviour / state of a single queue (also called a "queueing node") can be described by a Birth-death process, which describe the arrivals and departures from the queue, along with the number of jobs (also called "customers" or "requests", or any number of other things, depending on the field) currently in the system. An arrival increases the number of jobs by 1, and a departure (a job completing its service) decreases k by 1 (See Fig 3.).

Fig. 3. Birth / death process. The values in the circles represent the state of the birth-death process, k. The system transitions between values of k by "births" and "deaths" which occur at rates given by various values of ${\textstyle \lambda _{i}}$ and ${\displaystyle \mu _{i}}$, respectively. For a queueing system, k is the number of jobs in the system (either being serviced or waiting if the queue has a buffer of waiting jobs). Further, for a queue, the arrival rates and service rates are generally considered not to vary with the number of jobs in the queue so that we consider a single average rate of arrivals/departures per unit time to the queue. Hence, for a queue, this diagram has ${\textstyle \mu =\mu _{1},\mu _{2},...\mu _{k}}$, and similarly for ${\textstyle \lambda }$) (see Fig. 4)

Fig. 4. A queue with 1 server, arrival rate ${\textstyle \lambda }$ and service completion rate ${\textstyle \mu }$.
Kendall's notation

Single queueing nodes are usually described using Kendall's notation in the form A/S/c where A describes the distribution of durations between each arrival to the queue, S the distribution of service times for jobs and c the number of servers at the node.[5][6] For an example of the notation, the M/M/1 queue is a simple model where a single server serves jobs that arrive according to a Poisson process (inter-arrival durations are exponentially distributed) and have exponentially distributed service times. In an M/G/1 queue, the G stands for general and indicates an arbitrary probability distribution for inter-arrival times.

## Overview of the development of the theory

In 1909, Agner Krarup Erlang, a Danish engineer who worked for the Copenhagen Telephone Exchange, published the first paper on what would now be called queueing theory.[7][8][9] He modeled the number of telephone calls arriving at an exchange by a Poisson process and solved the M/D/1 queue in 1917 and M/D/k queueing model in 1920.[10] In Kendall's notation:

• M stands for Markov or memoryless and means arrivals occur according to a Poisson process
• D stands for deterministic and means jobs arriving at the queue which require a fixed amount of service
• k describes the number of servers at the queueing node (k = 1, 2,...).

If there are more jobs at the node than there are servers, then jobs will queue and wait for service

The M/G/1 queue was solved by Felix Pollaczek in 1930,[11] a solution later recast in probabilistic terms by Aleksandr Khinchin and now known as the Pollaczek–Khinchine formula.[10][12]

After the 1940s queueing theory became an area of research interest to mathematicians.[12] In 1953 David George Kendall solved the GI/M/k queue[13] and introduced the modern notation for queues, now known as Kendall's notation. In 1957 Pollaczek studied the GI/G/1 using an integral equation.[14] John Kingman gave a formula for the mean waiting time in a G/G/1 queue: Kingman's formula.[15]

The matrix geometric method and matrix analytic methods have allowed queues with phase-type distributed inter-arrival and service time distributions to be considered.[16]

Problems such as performance metrics for the M/G/k queue remain an open problem.[10][12]

## Service disciplines

First in first out (FIFO) queue example.

Various scheduling policies can be used at queuing nodes:

First in first out
Also called first-come, first-served (FCFS),[17] this principle states that customers are served one at a time and that the customer that has been waiting the longest is served first.[18]
Last in first out
This principle also serves customers one at a time, but the customer with the shortest waiting time will be served first.[18] Also known as a stack.
Processor sharing
Service capacity is shared equally between customers.[18]
Priority
Customers with high priority are served first.[18] Priority queues can be of two types, non-preemptive (where a job in service cannot be interrupted) and preemptive (where a job in service can be interrupted by a higher-priority job). No work is lost in either model.[19]
Shortest job first
The next job to be served is the one with the smallest size
Preemptive shortest job first
The next job to be served is the one with the original smallest size[20]
Shortest remaining processing time
The next job to serve is the one with the smallest remaining processing requirement.[21]
Service facility
• Single server: customers line up and there is only one server
• Several parallel servers - Single queue: customers line up and there are several servers
• Several servers - Several queues: there are many counters and customers can decide going where to queue
Customer's behavior of waiting
• Balking: customers deciding not to join the queue if it is too long
• Jockeying: customers switch between queues if they think they will get served faster by doing so
• Reneging: customers leave the queue if they have waited too long for service

Arriving customers not served (either due to the queue having no buffer, or due to balking or reneging by the customer) are also known as "drop-outs" and the average rate of drop-outs is a significant parameter describing a queue.

## Simple two-equation queue

A common basic queuing system is attributed to Erlang, and is a modification of Little's Law. Given an arrival rate, (${\textstyle \lambda }$), a dropout rate (${\textstyle \sigma }$), and a rate of service (${\textstyle \mu }$), length of the queue L is defined as:

${\displaystyle L={\frac {\lambda -\sigma }{\mu }}}$

Assuming an exponential distribution for the rates, the waiting time W can be defined as the proportion of arrivals that are served. This is equal to the exponential survival rate of those who do not drop out over the waiting period, giving:

${\displaystyle {\frac {\sigma }{\lambda }}=e^{-W{\mu }}}$

The second equation is commonly rewritten as:

${\displaystyle W={\frac {1}{\mu }}ln{\frac {\lambda }{\mu }}}$

The two-stage one-box model is common in epidemiology.[22]

## Queueing networks

Networks of queues are systems in which a number of queues are connected by what's known as customer routing. When a customer is serviced at one node it can join another node and queue for service, or leave the network.

For networks of m nodes, the state of the system can be described by an m–dimensional vector (x1,x2,...,xm) where xi represents the number of customers at each node.

The simplest non-trivial network of queues is called tandem queues.[23] The first significant results in this area were Jackson networks,[24][25] for which an efficient product-form stationary distribution exists and the mean value analysis[26] which allows average metrics such as throughput and sojourn times to be computed.[27] If the total number of customers in the network remains constant the network is called a closed network and has also been shown to have a product–form stationary distribution in the Gordon–Newell theorem.[28] This result was extended to the BCMP network[29] where a network with very general service time, regimes and customer routing is shown to also exhibit a product-form stationary distribution. The normalizing constant can be calculated with the Buzen's algorithm, proposed in 1973.[30]

Networks of customers have also been investigated, Kelly networks where customers of different classes experience different priority levels at different service nodes.[31] Another type of network are G-networks first proposed by Erol Gelenbe in 1993:[32] these networks do not assume exponential time distributions like the classic Jackson Network.

### Example analysis of an M/M/1 queue

Consider a queue with 1 server and the following variables:

λ：the average arrival rate (customers arriving to the system per unit time, eg. per 30 seconds)
µ：the average service rate (customers leaving the system (completing service) per the same unit time, eg. per 30 seconds)
n :the number of customers in the system at the given time
P_n : the probability of there being n customers in the system

Further, let Let ${\textstyle E_{n}}$ represent the number of times the system enters state n, and ${\textstyle L_{n}}$ represent the number of times the system leaves state n. For all n, we have ${\displaystyle |E_{n}-L_{n}|\in \{0,1\}}$, that is, the number of times the system leaves a state differs by at most 1 from the number of times it enters that state, since it will either return into that state at some time in the future (${\displaystyle E_{n}=L_{n}}$) or not (${\displaystyle |E_{n}-L_{n}|=1}$).

When the system arrives at a steady state, the arrival rate should be equal to the service rate.

situation 0:${\displaystyle \mu _{1}P_{1}=\lambda _{0}P_{0}}$
situation 1:${\displaystyle \lambda _{0}P_{0}+\mu _{2}P_{2}=(\lambda _{1}+\mu _{1})P_{1}}$
situation n:${\displaystyle \lambda _{n-1}P_{n-1}+\mu _{n+1}P_{n+1}=(\lambda _{n}+\mu _{n})P_{n}}$
By balance equation, ${\displaystyle P_{1}={\frac {\lambda _{0}}{\mu _{1}}}P_{0}\;\;\;P_{2}={\frac {\lambda _{1}}{\mu _{2}}}P_{1}+{\frac {1}{\mu _{2}}}(\mu _{1}P_{1}-\lambda _{0}P_{0})={\frac {\lambda _{1}}{\mu _{2}}}P_{1}={\frac {\lambda _{1}\lambda _{0}}{\mu _{2}\mu _{1}}}P_{0}}$
By mathematical induction, ${\displaystyle P_{n}={\frac {\lambda _{n-1}\lambda _{n-2}\cdots \lambda _{0}}{\mu _{n}\mu _{n-1}\cdots \mu _{1}}}P_{0}=P_{0}\prod _{i=0}^{n-1}{\frac {\lambda _{i}}{\mu _{i+1}}}}$
Because ${\displaystyle \sum _{n=0}^{\infty }P_{n}=P_{0}+P_{0}\sum _{n=1}^{\infty }\prod _{i=0}^{n-1}{\frac {\lambda _{i}}{\mu _{i+1}}}=1}$
we get ${\displaystyle P_{0}={\frac {1}{1+\sum _{n=1}^{\infty }\prod _{i=0}^{n-1}{\frac {\lambda _{i}}{\mu _{i+1}}}}}}$

### Routing algorithms

In discrete time networks where there is a constraint on which service nodes can be active at any time, the max-weight scheduling algorithm chooses a service policy to give optimal throughput in the case that each job visits only a single person [17] service node. In the more general case where jobs can visit more than one node, backpressure routing gives optimal throughput. A network scheduler must choose a queuing algorithm, which affects the characteristics of the larger network[citation needed]. See also Stochastic scheduling for more about scheduling of queueing systems.

## Mean field limits

Mean field models consider the limiting behaviour of the empirical measure (proportion of queues in different states) as the number of queues (m above) goes to infinity. The impact of other queues on any given queue in the network is approximated by a differential equation. The deterministic model converges to the same stationary distribution as the original model.[33]

## Fluid limits

Fluid models are continuous deterministic analogs of queueing networks obtained by taking the limit when the process is scaled in time and space, allowing heterogeneous objects. This scaled trajectory converges to a deterministic equation which allows the stability of the system to be proven. It is known that a queueing network can be stable, but have an unstable fluid limit.[34]

## Heavy traffic/diffusion approximations

In a system with high occupancy rates (utilisation near 1) a heavy traffic approximation can be used to approximate the queueing length process by a reflected Brownian motion,[35] Ornstein–Uhlenbeck process or more general diffusion process.[36] The number of dimensions of the RBM is equal to the number of queueing nodes and the diffusion is restricted to the non-negative orthant.

## References

1. ^ a b c Sundarapandian, V. (2009). "7. Queueing Theory". Probability, Statistics and Queueing Theory. PHI Learning. ISBN 8120338448.
2. ^ Lawrence W. Dowdy, Virgilio A.F. Almeida, Daniel A. Menasce. "Performance by Design: Computer Capacity Planning by Example".
3. ^ Schlechter, Kira (March 2, 2009). "Hershey Medical Center to open redesigned emergency room". The Patriot-News.
4. ^ Mayhew, Les; Smith, David (December 2006). Using queuing theory to analyse completion times in accident and emergency departments in the light of the Government 4-hour target. Cass Business School. ISBN 978-1-905752-06-5. Retrieved 2008-05-20.
5. ^ Tijms, H.C, Algorithmic Analysis of Queues", Chapter 9 in A First Course in Stochastic Models, Wiley, Chichester, 2003
6. ^ Kendall, D. G. (1953). "Stochastic Processes Occurring in the Theory of Queues and their Analysis by the Method of the Imbedded Markov Chain". The Annals of Mathematical Statistics. 24 (3): 338. doi:10.1214/aoms/1177728975. JSTOR 2236285.
7. ^ "Agner Krarup Erlang (1878 - 1929) | plus.maths.org". Pass.maths.org.uk. Retrieved 2013-04-22.
8. ^ Asmussen, S. R.; Boxma, O. J. (2009). "Editorial introduction". Queueing Systems. 63: 1. doi:10.1007/s11134-009-9151-8.
9. ^ Erlang, Agner Krarup (1909). "The theory of probabilities and telephone conversations" (PDF). Nyt Tidsskrift for Matematik B. 20: 33–39. Archived from the original (PDF) on 2011-10-01.
10. ^ a b c Kingman, J. F. C. (2009). "The first Erlang century—and the next". Queueing Systems. 63: 3–4. doi:10.1007/s11134-009-9147-4.
11. ^ Pollaczek, F., Ueber eine Aufgabe der Wahrscheinlichkeitstheorie, Math. Z. 1930
12. ^ a b c Whittle, P. (2002). "Applied Probability in Great Britain". Operations Research. 50: 227–239. doi:10.1287/opre.50.1.227.17792. JSTOR 3088474.
13. ^ Kendall, D.G.:Stochastic processes occurring in the theory of queues and their analysis by the method of the imbedded Markov chain, Ann. Math. Stat. 1953
14. ^ Pollaczek, F., Problèmes Stochastiques posés par le phénomène de formation d'une queue
15. ^ Kingman, J. F. C.; Atiyah (October 1961). "The single server queue in heavy traffic". Mathematical Proceedings of the Cambridge Philosophical Society. 57 (4): 902. doi:10.1017/S0305004100036094. JSTOR 2984229.
16. ^ Ramaswami, V. (1988). "A stable recursion for the steady state vector in markov chains of m/g/1 type". Communications in Statistics. Stochastic Models. 4: 183–188. doi:10.1080/15326348808807077.
17. ^ a b Manuel, Laguna (2011). Business Process Modeling, Simulation and Design. Pearson Education India. p. 178. ISBN 9788131761359. Retrieved 6 October 2017.
18. ^ a b c d Penttinen A., Chapter 8 – Queueing Systems, Lecture Notes: S-38.145 - Introduction to Teletraffic Theory.
19. ^ Harchol-Balter, M. (2012). "Scheduling: Non-Preemptive, Size-Based Policies". Performance Modeling and Design of Computer Systems. p. 499. doi:10.1017/CBO9781139226424.039. ISBN 9781139226424.
20. ^ Harchol-Balter, M. (2012). "Scheduling: Preemptive, Size-Based Policies". Performance Modeling and Design of Computer Systems. p. 508. doi:10.1017/CBO9781139226424.040. ISBN 9781139226424.
21. ^ Harchol-Balter, M. (2012). "Scheduling: SRPT and Fairness". Performance Modeling and Design of Computer Systems. p. 518. doi:10.1017/CBO9781139226424.041. ISBN 9781139226424.
22. ^ Hernández-Suarez, Carlos (2010). "An application of queuing theory to SIS and SEIS epidemic models". Math. Biosci. 7: 809–823.
23. ^ http://www.stats.ox.ac.uk/~winkel/bs3a07l13-14.pdf#page=4
24. ^ Jackson, J. R. (1957). "Networks of Waiting Lines". Operations Research. 5 (4): 518–521. doi:10.1287/opre.5.4.518. JSTOR 167249.
25. ^ Jackson, James R. (Oct 1963). "Jobshop-like Queueing Systems". Management Science. 10 (1): 131–142. doi:10.1287/mnsc.1040.0268. JSTOR 2627213.
26. ^ Reiser, M.; Lavenberg, S. S. (1980). "Mean-Value Analysis of Closed Multichain Queuing Networks". Journal of the ACM. 27 (2): 313. doi:10.1145/322186.322195.
27. ^ Van Dijk, N. M. (1993). "On the arrival theorem for communication networks". Computer Networks and ISDN Systems. 25 (10): 1135–2013. doi:10.1016/0169-7552(93)90073-D.
28. ^ Gordon, W. J.; Newell, G. F. (1967). "Closed Queuing Systems with Exponential Servers". Operations Research. 15 (2): 254. doi:10.1287/opre.15.2.254. JSTOR 168557.
29. ^ Baskett, F.; Chandy, K. Mani; Muntz, R.R.; Palacios, F.G. (1975). "Open, closed and mixed networks of queues with different classes of customers". Journal of the ACM. 22 (2): 248&ndash, 260. doi:10.1145/321879.321887.
30. ^ Buzen, J. P. (1973). "Computational algorithms for closed queueing networks with exponential servers" (PDF). Communications of the ACM. 16 (9): 527. doi:10.1145/362342.362345.
31. ^ Kelly, F. P. (1975). "Networks of Queues with Customers of Different Types". Journal of Applied Probability. 12 (3): 542–554. doi:10.2307/3212869. JSTOR 3212869.
32. ^ Gelenbe, Erol (Sep 1993). "G-Networks with Triggered Customer Movement". Journal of Applied Probability. 30 (3): 742–748. doi:10.2307/3214781. JSTOR 3214781.
33. ^ Bobbio, A.; Gribaudo, M.; Telek, M. S. (2008). "Analysis of Large Scale Interacting Systems by Mean Field Method". 2008 Fifth International Conference on Quantitative Evaluation of Systems. p. 215. doi:10.1109/QEST.2008.47. ISBN 978-0-7695-3360-5.
34. ^ Bramson, M. (1999). "A stable queueing network with unstable fluid model". The Annals of Applied Probability. 9 (3): 818. doi:10.1214/aoap/1029962815. JSTOR 2667284.
35. ^ Chen, H.; Whitt, W. (1993). "Diffusion approximations for open queueing networks with service interruptions". Queueing Systems. 13 (4): 335. doi:10.1007/BF01149260.
36. ^ Yamada, K. (1995). "Diffusion Approximation for Open State-Dependent Queueing Networks in the Heavy Traffic Situation". The Annals of Applied Probability. 5 (4): 958. doi:10.1214/aoap/1177004602. JSTOR 2245101.