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.
举个常见的例子:超市收银台就是一个典型的排队系统(虽然还有其他例子,但这个是文献中最常用的)。顾客来到超市,在收银台办理结账,然后离开。由于每个收银员同一时间只能服务一位顾客,所以这是一个单服务窗口的排队系统。如果规定顾客看到收银员正忙就直接离开,这种情况就是无等待空间的排队系统;如果设置了可容纳 n 位顾客的等候区,则称为具有 n 个等待空间的排队系统。
单个队列(也称为排队节点)的行为可以用出生-死亡过程来描述。该过程刻画了队列中任务的到达和离开动态,以及系统中实时的任务数量。如果用 k 表示系统中的任务数量(包括正在处理的和在缓冲区等待的),那么每当有新任务到达时 k 值加1,任务完成离开时 k 值减1。
系统通过“出生”和“死亡”两种事件在不同的 k 值之间转换。对于每个任务,这些转换分别以到达率和离开率发生。在队列系统中,这些速率通常被认为是稳定的,不会随队列中任务数量的变化而改变,因此我们可以采用单位时间内的平均到达率和离开率。基于这一假设,该过程的平均到达率,平均离开率。
A birth–death process. The values in the circles represent the state of the system, which evolves based on arrival rates λi and departure rates μi.A queue with 1 server, arrival rate λ and departure rate μ
The steady state equations for the birth-and-death process, known as the balance equations, are as follows. Here denotes the steady state probability to be in state n.
The first two equations imply
and
.
By mathematical induction,
.
The condition leads to
which, together with the equation for , fully describes the required steady state probabilities.
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.[6][7] 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 (where inter-arrival durations are exponentially distributed) and have exponentially distributed service times (the M denotes a Markov process). In an M/G/1 queue, the G stands for "general" and indicates an arbitrary probability distribution for service times.
Consider a queue with one server and the following characteristics:
: the arrival rate (the reciprocal of the expected time between each customer arriving, e.g. 10 customers per second)
: the reciprocal of the mean service time (the expected number of consecutive service completions per the same unit time, e.g. per 30 seconds)
n: the parameter characterizing the number of customers in the system
: the probability of there being n customers in the system in steady state
Further, let represent the number of times the system enters state n, and represent the number of times the system leaves state n. Then for all n. 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 () or not ().
When the system arrives at a steady state, the arrival rate should be equal to the departure rate.
A common basic queueing system is attributed to Erlang and is a modification of Little's Law. Given an arrival rate λ, a dropout rate σ, and a departure rate μ, length of the queue L is defined as:
.
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:
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.[9][10][11] 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.[12] 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, 3, ...)
If the node has more jobs than servers, then jobs will queue and wait for service.
Leonard Kleinrock worked on the application of queueing theory to message switching in the early 1960s and packet switching in the early 1970s. His initial contribution to this field was his doctoral thesis at the Massachusetts Institute of Technology in 1962, published in book form in 1964. His theoretical work published in the early 1970s underpinned the use of packet switching in the ARPANET, a forerunner to the Internet.
Systems with coupled orbits are an important part in queueing theory in the application to wireless networks and signal processing.[19]
Modern day application of queueing theory concerns among other things product development where (material) products have a spatiotemporal existence, in the sense that products have a certain volume and a certain duration.[20]
Problems such as performance metrics for the M/G/k queue remain an open problem.[12][14]
First in first out (FIFO) queue example Also called first-come, first-served (FCFS),[21] this principle states that customers are served one at a time and that the customer that has been waiting the longest is served first.[22]
Service capacity is shared equally between customers.[22]
Priority
Customers with high priority are served first.[22] 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.[23]
The next job to serve is the one with the smallest remaining processing requirement.[26]
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 parallel servers (several queues): there are many counters and customers can decide for which to queue
Unreliable server
Server failures occur according to a stochastic (random) process (usually Poisson) and are followed by setup periods during which the server is unavailable. The interrupted customer remains in the service area until server is fixed.[27]
Customer waiting behavior
Balking: customers decide 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 dropouts. The average rate of dropouts is a significant parameter describing a queue.
Queue networks are systems in which multiple 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 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 networks of queues are called tandem queues.[28] The first significant results in this area were Jackson networks,[29][30] for which an efficient product-form stationary distribution exists and the mean value analysis[31] (which allows average metrics such as throughput and sojourn times) can be computed.[32] If the total number of customers in the network remains constant, the network is called a closed network and has been shown to also have a product–form stationary distribution by the Gordon–Newell theorem.[33] This result was extended to the BCMP network,[34] 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.[35]
Networks of customers have also been investigated, such as Kelly networks, where customers of different classes experience different priority levels at different service nodes.[36] Another type of network are G-networks, first proposed by Erol Gelenbe in 1993:[37] these networks do not assume exponential time distributions like the classic Jackson network.
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 service node.[21] In the more general case where jobs can visit more than one node, backpressure routing gives optimal throughput. A network scheduler must choose a queueing algorithm, which affects the characteristics of the larger network.[38]
Mean-field models consider the limiting behaviour of the empirical measure (proportion of queues in different states) as the number of queues m approaches 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.[39]
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,[40]Ornstein–Uhlenbeck process, or more general diffusion process.[41] The number of dimensions of the Brownian process is equal to the number of queueing nodes, with the diffusion restricted to the non-negative orthant.
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.[42]
Queueing theory finds widespread application in computer science and information technology. In networking, for instance, queues are integral to routers and switches, where packets queue up for transmission. By applying queueing theory principles, designers can optimize these systems, ensuring responsive performance and efficient resource utilization.
Beyond the technological realm, queueing theory is relevant to everyday experiences. Whether waiting in line at a supermarket or for public transportation, understanding the principles of queueing theory provides valuable insights into optimizing these systems for enhanced user satisfaction. At some point, everyone will be involved in an aspect of queuing. What some may view to be an inconvenience could possibly be the most effective method.
Queueing theory, a discipline rooted in applied mathematics and computer science, is a field dedicated to the study and analysis of queues, or waiting lines, and their implications across a diverse range of applications. This theoretical framework has proven instrumental in understanding and optimizing the efficiency of systems characterized by the presence of queues. The study of queues is essential in contexts such as traffic systems, computer networks, telecommunications, and service operations.
Queueing theory delves into various foundational concepts, with the arrival process and service process being central. The arrival process describes the manner in which entities join the queue over time, often modeled using stochastic processes like Poisson processes. The efficiency of queueing systems is gauged through key performance metrics. These include the average queue length, average wait time, and system throughput. These metrics provide insights into the system's functionality, guiding decisions aimed at enhancing performance and reducing wait times.
References:
Gross, D., & Harris, C. M. (1998). Fundamentals of Queueing Theory. John Wiley & Sons.
Kleinrock, L. (1976). Queueing Systems: Volume I - Theory. Wiley.
Cooper, B. F., & Mitrani, I. (1985). Queueing Networks: A Fundamental Approach. John Wiley & Sons
^Tijms, H.C, Algorithmic Analysis of Queues, Chapter 9 in A First Course in Stochastic Models, Wiley, Chichester, 2003
^Kendall, D. G. Stochastic Processes Occurring in the Theory of Queues and their Analysis by the Method of the Imbedded Markov Chain. The Annals of Mathematical Statistics. 1953, 24 (3): 338–354. JSTOR 2236285. doi:10.1214/aoms/1177728975.
^Hernández-Suarez, Carlos. An application of queuing theory to SIS and SEIS epidemic models. Math. Biosci. 2010, 7 (4): 809–823. PMID 21077709. doi:10.3934/mbe.2010.7.809.
^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
^Pollaczek, F., Problèmes Stochastiques posés par le phénomène de formation d'une queue
^Ramaswami, V. A stable recursion for the steady state vector in markov chains of m/g/1 type. Communications in Statistics. Stochastic Models. 1988, 4: 183–188. doi:10.1080/15326348808807077.
^Morozov, E. Stability analysis of a multiclass retrial system withcoupled orbit queues. Proceedings of 14th European Workshop. Lecture Notes in Computer Science 17. 2017: 85–98. ISBN 978-3-319-66582-5. doi:10.1007/978-3-319-66583-2_6.
^Dimitriou, I. A Multiclass Retrial System With Coupled Orbits And Service Interruptions: Verification of Stability Conditions. Proceedings of FRUCT 24. 2019, 7: 75–82.
^Baskett, F.; Chandy, K. Mani; Muntz, R.R.; Palacios, F.G. Open, closed and mixed networks of queues with different classes of customers. Journal of the ACM. 1975, 22 (2): 248–260. S2CID 15204199. doi:10.1145/321879.321887.
^Bobbio, A.; Gribaudo, M.; Telek, M. S. Analysis of Large Scale Interacting Systems by Mean Field Method. 2008 Fifth International Conference on Quantitative Evaluation of Systems. 2008: 215. ISBN 978-0-7695-3360-5. S2CID 2714909. doi:10.1109/QEST.2008.47.
^Yamada, K. Diffusion Approximation for Open State-Dependent Queueing Networks in the Heavy Traffic Situation. The Annals of Applied Probability. 1995, 5 (4): 958–982. JSTOR 2245101. doi:10.1214/aoap/1177004602.
^Bramson, M. A stable queueing network with unstable fluid model. The Annals of Applied Probability. 1999, 9 (3): 818–853. JSTOR 2667284. doi:10.1214/aoap/1029962815.