||This article may be unbalanced towards certain viewpoints. (July 2014)|
Queueing theory is the mathematical study of waiting lines, or queues. In queueing theory a model is constructed so that queue lengths and waiting times can be predicted. 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. The ideas have since seen applications including telecommunication, traffic engineering, computing and the design of factories, shops, offices and hospitals.
The word queue comes, via French, from the Latin cauda, meaning tail. The spelling "queueing" over "queuing" is typically encountered in the academic research field. One of the flagship journals of the research area is named Queueing Systems.
Single queueing nodes
Single queueing nodes are usually described using Kendall's notation in the form A/S/C where A describes the time between arrivals to the queue, S the size of jobs and C the number of servers at the node. Many theorems in queue theory can be proved by reducing queues to mathematical systems known as Markov chains, first described by Andrey Markov in his 1906 paper.
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 in 1909. 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. 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 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/M/1 queue is a simple model where a single server serves jobs that arrive according to a Poisson process and have exponentially distributed service requirements. In an M/G/1 queue the G stands for general and indicates an arbitrary probability distribution. The M/G/1 model was solved by Felix Pollaczek in 1930, a solution later recast in probabilistic terms by Aleksandr Khinchin and now known as the Pollaczek–Khinchine formula.
After World War II queueing theory became an area of research interest to mathematicians. Work on queueing theory used in modern packet switching networks was performed in the early 1960s by Leonard Kleinrock. It was in this period that John Little gave a proof of the formula which now bears his name: Little's law. In 1961 John Kingman gave a formula for the mean waiting time in a G/G/1 queue: Kingman's formula.
Various scheduling policies can be used at queuing nodes:
- First in first out
- This principle states that customers are served one at a time and that the customer that has been waiting the longest is served first.
- Last in first out
- This principle also serves customers one at a time, however the customer with the shortest waiting time will be served first. Also known as a stack.
- Processor sharing
- Service capacity is shared equally between customers.
- Customers with high priority are served first. 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.
- 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
- Shortest remaining processing time
- The next job to serve is the one with the smallest remaining processing requirement.
Networks of queues are systems in which a number of queues are connected by customer routing. When a customer is serviced at one node it can join another node and queue for service, or leave the network. For a network of m 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 first significant results in this area were Jackson networks, for which an efficient product-form stationary distribution exists and the mean value analysis which allows average metrics such as throughput and sojourn times to be computed.
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. This result was extended to the BCMP network where a network with very general service time, regimes and customer routing is shown to also exhibit a product-form stationary distribution.
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 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.
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.
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 us stability of the system to be proven. It is known that a queueing network can be stable, but have an unstable fluid limit.
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, Ornstein–Uhlenbeck process or more general diffusion process. 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.
Software for simulation/analysis
- Java Modelling Tools, a GPL suite of queueing theory tools written in Java
- Queueing Package for GNU Octave
- Ehrenfest model
- Erlang unit
- Industrial engineering
- Network simulation
- Queue area
- Queueing delay
- Random early detection
- Renewal theory
- Traffic jam
- Traffic generation model
- Sundarapandian, V. (2009). "7. Queueing Theory". Probability, Statistics and Queueing Theory. PHI Learning. ISBN 8120338448.
- Lawrence W. Dowdy, Virgilio A.F. Almeida, Daniel A. Menasce (Thursday Janery 15, 2004). "Performance by Design: Computer Capacity Planning By Example". p. 480.
- Schlechter, Kira (March 2, 2009). "Hershey Medical Center to open redesigned emergency room". The Patriot-News.
- 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.
- Tijms, H.C, Algorithmic Analysis of Queues", Chapter 9 in A First Course in Stochastic Models, Wiley, Chichester, 2003
- 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.
- A.A. Markov, Extension of the law of large numbers to dependent quantities, Izvestiia Fiz.-Matem. Obsch. Kazan Univ., (2nd Ser.), 15(1906), pp. 135–156 [Also , pp. 339–361].
- "Agner Krarup Erlang (1878 - 1929) | plus.maths.org". Pass.maths.org.uk. Retrieved 2013-04-22.
- Asmussen, S. R.; Boxma, O. J. (2009). "Editorial introduction". Queueing Systems 63: 1. doi:10.1007/s11134-009-9151-8.
- "The theory of probabilities and telephone conversations". Nyt Tidsskrift for Matematik B 20: 33–39. 1909.
- Kingman, J. F. C. (2009). "The first Erlang century—and the next". Queueing Systems 63: 3–4. doi:10.1007/s11134-009-9147-4.
- Whittle, P. (2002). "Applied Probability in Great Britain". Operations Research 50: 227–177. doi:10.1287/opre.220.127.116.1192. JSTOR 3088474.
- Little, J. D. C. (1961). "A Proof for the Queuing Formula: L = λW". Operations Research 9 (3): 383–387. doi:10.1287/opre.9.3.383. JSTOR 167570.
- 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.
- 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.
- Penttinen A., Chapter 8 – Queueing Systems, Lecture Notes: S-38.145 - Introduction to Teletraffic Theory.
- 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.
- 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.
- Harchol-Balter, M. (2012). "Scheduling: SRPT and Fairness". Performance Modeling and Design of Computer Systems. p. 518. doi:10.1017/CBO9781139226424.041. ISBN 9781139226424.
- Jackson, J. R. (1957). "Networks of Waiting Lines". Operations Research 5 (4): 518–521. doi:10.1287/opre.5.4.518. JSTOR 167249.
- Jackson, James R. (Oct 1963). "Jobshop-like Queueing Systems". Management Science 10 (1): 131–142. doi:10.1287/mnsc.1040.0268. JSTOR 2627213.
- 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.
- 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.
- 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.
- 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–260. doi:10.1145/321879.321887.
- 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.
- Gelenbe, Erol (Sep 1993). "G-Networks with Triggered Customer Movement". Journal of Applied Probability 30 (3): 742–748. doi:10.2307/3214781. JSTOR 3214781.
- 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.
- 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.
- Chen, H.; Whitt, W. (1993). "Diffusion approximations for open queueing networks with service interruptions". Queueing Systems 13 (4): 335. doi:10.1007/BF01149260.
- 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.
- Bertoli, Marco; Casale, Giuliano; Serazzi, Giuseppe (2009). "JMT: performance engineering tools for system modeling". SIGMETRICS Perform. Eval. Rev. 36: 10–15. doi:10.1145/1530873.1530877.
- Marzolla, Moreno. "The queueing Package". Retrieved 31 July 2014.
- Gross, Donald; Carl M. Harris (1998). Fundamentals of Queueing Theory. Wiley. ISBN 0-471-32812-X.
- Deitel, Harvey M. (1984) . An introduction to operating systems (revisited first ed.). Addison-Wesley. p. 673. ISBN 0-201-14502-2. chap.15, pp. 380–412
- Lazowska, Edward D.; John Zahorjan; G. Scott Graham; Kenneth C. Sevcik (1984). Quantitative System Performance: Computer System Analysis Using Queueing Network Models. Prentice-Hall, Inc. ISBN 0-13-746975-6.
- Zukerman, Moshe. Introduction to Queueing Theory and Stochastic Teletraffic Models.
- Queueing theory calculator
- Teknomo's Queueing theory tutorial and calculators
- Virtamo's Queueing Theory Course
- Myron Hlynka's Queueing Theory Page
- Queueing Theory Basics
- A free online tool to solve some classical queueing systems