Из Википедии, бесплатной энциклопедии
  (Перенаправлено из теории массового обслуживания )
Перейти к навигации Перейти к поиску
Сети очередей - это системы, в которых отдельные очереди соединены сетью маршрутизации. На этом изображении серверы представлены кружками, очереди - серией прямоугольников, а сеть маршрутизации - стрелками. При изучении сетей с очередями обычно пытаются получить равновесное распределение сети, хотя во многих приложениях изучение переходного состояния является фундаментальным.

Теория массового обслуживания - это математическое исследование очередей или очередей . [1] Модель организации очередей построена так, чтобы можно было спрогнозировать длину очереди и время ожидания. [1] Теория массового обслуживания обычно считается разделом исследования операций, потому что результаты часто используются при принятии бизнес-решений о ресурсах, необходимых для предоставления услуги.

Теория массового обслуживания берет свое начало в исследованиях, проведенных Агнером Крарупом Эрлангом, когда он создал модели для описания системы датской компании Copenhagen Telephone Exchange. [1] С тех пор идеи нашли применение, включая телекоммуникации , транспортную инженерию , вычисления [2] и, особенно, в промышленном строительстве , при проектировании заводов, магазинов, офисов и больниц, а также в управлении проектами. [3] [4]

Правописание [ править ]

Написание «в очереди» над «очередью» обычно встречается в области академических исследований. Фактически, одним из флагманских журналов в этой области является Queuing Systems .

Одиночные узлы очередей [ править ]

Очередь или узел очередей можно рассматривать как почти черный ящик . Задания или «клиенты» прибывают в очередь, возможно, ждут какое-то время, им требуется некоторое время для обработки, а затем удаляются из очереди.

Черный ящик. Задания приходят в очередь и уходят из нее.

Однако узел очереди - это не совсем чистый черный ящик, поскольку требуется некоторая информация о внутренней части узла очереди. В очереди есть один или несколько «серверов», каждый из которых может быть связан с поступающим заданием до тех пор, пока он не уйдет, после чего этот сервер будет свободен для соединения с другим поступающим заданием.

Узел очередей с 3 серверами. Сервер a простаивает, поэтому ему передается поступление на обработку. Сервер b в настоящее время занят, и ему потребуется некоторое время, прежде чем он сможет завершить выполнение своей работы. Сервер c только что завершил обслуживание задания и, следовательно, будет следующим, чтобы получить поступившее задание.

Часто используется аналогия с кассиром в супермаркете. Существуют и другие модели, но эта часто встречается в литературе. Клиенты прибывают, обрабатываются кассиром и уходят. Каждый кассир обрабатывает одного клиента за раз, и, следовательно, это узел очереди только с одним сервером. Настройка, при которой покупатель немедленно уходит, если кассир занят, когда приходит покупатель, называется очередью без буфера (или без «зоны ожидания», или аналогичных терминов). Настройка с зоной ожидания для n заявок называется очередью с буфером размера n .

Процесс рождения-смерти [ править ]

Поведение отдельной очереди (также называемой «узлом очереди») можно описать процессом рождения-смерти , который описывает поступления и выбывания из очереди, а также количество заданий (также называемых «клиентами» или «запросами». "или любое количество других вещей, в зависимости от поля), которое в настоящее время находится в системе. Прибытие увеличивает количество работ на 1, а отъезд (работа, завершающая свое обслуживание) уменьшает k на 1.

Процесс рождения – смерти. Значения в кружках представляют состояние процесса рождения-смерти. Для системы очередей k - это количество заданий в системе (обслуживаемых или ожидающих, если в очереди есть буфер ожидающих заданий). Система переходит между значениями k посредством «рождений» и «смертей», которые происходят со скоростью, задаваемой различными значениями λ i и μ i , соответственно. Кроме того, для очереди обычно считается, что частота поступления и частота отправления не зависит от количества заданий в очереди, поэтому предполагается единая средняя скорость поступления / отправления в единицу времени в очереди. В этом предположении этот процесс имеет скорость поступления λ = λ 1, λ 2 , ..., λ k и скорость ухода μ = μ 1 , μ 2 , ..., μ k (см. следующий рисунок).
Очередь с 1 сервером, интенсивностью поступления λ и частотой отправления μ .

Уравнения баланса [ править ]

Уравнения установившегося состояния для процесса рождения и смерти, известные как уравнения баланса , следующие. Здесь обозначает вероятность устойчивого состояния нахождения в состоянии n .

Первые два уравнения подразумевают

а также

По математической индукции

Состояние приводит к:

которое вместе с уравнением для полностью описывает требуемые вероятности установившегося состояния.

Обозначения Кендалла [ править ]

Одиночные узлы очередей обычно описываются с использованием нотации Кендалла в форме A / S / c, где A описывает распределение продолжительности между каждым поступлением в очередь, S распределение времени обслуживания для заданий и c количество серверов в узле. [5] [6] В качестве примера обозначения очередь M / M / 1 представляет собой простую модель, в которой один сервер обслуживает задания, которые поступают в соответствии с процессом Пуассона (где длительность между поступлениями распределяется экспоненциально ) и экспоненциально время распределенного обслуживания (M обозначает марковский процесс ). ВОчередь M / G / 1 , G означает «общий» и указывает произвольное распределение вероятностей для времени обслуживания.

Пример анализа очереди M / M / 1 [ править ]

Рассмотрим очередь с одним сервером и следующими характеристиками:

  • λ : частота прибытия (ожидаемое время между прибытием каждого клиента, например, 30 секунд);
  • μ : величина, обратная среднему времени обслуживания (ожидаемое количество последовательных завершений обслуживания за одно и то же время, например, за 30 секунд);
  • n : параметр, характеризующий количество клиентов в системе;
  • P n : вероятность наличия n клиентов в системе в устойчивом состоянии.

Далее, пусть E n представляет количество раз, когда система входит в состояние n , а L n представляет количество раз, когда система выходит из состояния n . Тогда для всех n , | E n - L n | ∈ {0, 1}. То есть количество раз, когда система покидает состояние, отличается не более чем на 1 от количества раз, когда она входит в это состояние, поскольку она либо вернется в это состояние в какой-то момент в будущем ( E n = L n ), либо нет. (| E n - L n | = 1).

Когда система переходит в установившееся состояние, скорость прибытия должна быть равна скорости отправления.

Таким образом, уравнения баланса

подразумевать

Тот факт, что приводит к формуле геометрического распределения

где

Простая очередь с двумя уравнениями [ править ]

Обычная базовая система очередей приписывается Erlang и является модификацией закона Литтла . Учитывая частоту поступления λ , частоту отсева σ и частоту выбытия μ , длина очереди L определяется как:

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:

The second equation is commonly rewritten as:

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

Overview of the development of the theory[edit]

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.[8][9][10] 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.[11] 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,[12] a solution later recast in probabilistic terms by Aleksandr Khinchin and now known as the Pollaczek–Khinchine formula.[11][13]

After the 1940s queueing theory became an area of research interest to mathematicians.[13] In 1953 David George Kendall solved the GI/M/k queue[14] 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.[15] John Kingman gave a formula for the mean waiting time in a G/G/1 queue: Kingman's formula.[16]

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.

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

Systems with coupled orbits are an important part in queueing theory in the application to wireless networks and signal processing. [18]

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

Service disciplines[edit]

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),[19] this principle states that customers are served one at a time and that the customer that has been waiting the longest is served first.[20]
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.[20] Also known as a stack.
Processor sharing
Service capacity is shared equally between customers.[20]
Priority
Customers with high priority are served first.[20] 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.[21]
Shortest job first
The next job to be served is the one with the smallest size[22]
Preemptive shortest job first
The next job to be served is the one with the original smallest size[23]
Shortest remaining processing time
The next job to serve is the one with the smallest remaining processing requirement.[24]
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
Unreliable server

Server failures occur according to a stochastic process (usually Poisson) and are followed by the setup periods during which the server is unavailable. The interrupted customer remains in the service area until server is fixed.[25]

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 dropouts and the average rate of dropouts is a significant parameter describing a queue.

Queueing networks[edit]

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.[26] The first significant results in this area were Jackson networks,[27][28] for which an efficient product-form stationary distribution exists and the mean value analysis[29] which allows average metrics such as throughput and sojourn times to be computed.[30] 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.[31] This result was extended to the BCMP network[32] 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.[33]

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

Routing algorithms[edit]

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 [19] 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[edit]

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.[36]

Heavy traffic/diffusion approximations[edit]

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,[37] Ornstein–Uhlenbeck process, or more general diffusion process.[38] 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 limits[edit]

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.[39]

See also[edit]

  • Ehrenfest model
  • Erlang unit
  • Network simulation
  • Project production management
  • Queue area
  • Queueing delay
  • Queue management system
  • Queuing Rule of Thumb
  • Random early detection
  • Renewal theory
  • Throughput
  • Scheduling (computing)
  • Traffic jam
  • Traffic generation model
  • Flow network

References[edit]

  1. ^ a b c Sundarapandian, V. (2009). "7. Queueing Theory". Probability, Statistics and Queueing Theory. PHI Learning. ISBN 978-8120338449.
  2. ^ Lawrence W. Dowdy, Virgilio A.F. Almeida, Daniel A. Menasce. "Performance by Design: Computer Capacity Planning by Example". Archived from the original on 2016-05-06. Retrieved 2009-07-08.
  3. ^ Schlechter, Kira (March 2, 2009). "Hershey Medical Center to open redesigned emergency room". The Patriot-News. Archived from the original on June 29, 2016. Retrieved March 12, 2009.
  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.[permanent dead link]
  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–354. doi:10.1214/aoms/1177728975. JSTOR 2236285.
  7. ^ Hernández-Suarez, Carlos (2010). "An application of queuing theory to SIS and SEIS epidemic models". Math. Biosci. 7 (4): 809–823. doi:10.3934/mbe.2010.7.809. PMID 21077709.
  8. ^ "Agner Krarup Erlang (1878-1929) | plus.maths.org". Pass.maths.org.uk. 1997-04-30. Archived from the original on 2008-10-07. Retrieved 2013-04-22.
  9. ^ Asmussen, S. R.; Boxma, O. J. (2009). "Editorial introduction". Queueing Systems. 63 (1–4): 1–2. doi:10.1007/s11134-009-9151-8. S2CID 45664707.
  10. ^ 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.
  11. ^ a b c Kingman, J. F. C. (2009). "The first Erlang century—and the next". Queueing Systems. 63 (1–4): 3–4. doi:10.1007/s11134-009-9147-4. S2CID 38588726.
  12. ^ Pollaczek, F., Ueber eine Aufgabe der Wahrscheinlichkeitstheorie, Math. Z. 1930
  13. ^ a b c Whittle, P. (2002). "Applied Probability in Great Britain". Operations Research. 50 (1): 227–239. doi:10.1287/opre.50.1.227.17792. JSTOR 3088474.
  14. ^ 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
  15. ^ Pollaczek, F., Problèmes Stochastiques posés par le phénomène de formation d'une queue
  16. ^ 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.
  17. ^ 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.
  18. ^ Morozov, E. (2017). "Stability analysis of a multiclass retrial system withcoupled orbit queues". Proceedings of 14th European Workshop. 17: 73–90. doi:10.1007/978-3-319-66583-2-6 (inactive 2021-01-16).CS1 maint: DOI inactive as of January 2021 (link)
  19. ^ a b Manuel, Laguna (2011). Business Process Modeling, Simulation and Design. Pearson Education India. p. 178. ISBN 9788131761359. Retrieved 6 October 2017.
  20. ^ a b c d Penttinen A., Chapter 8 – Queueing Systems, Lecture Notes: S-38.145 - Introduction to Teletraffic Theory.
  21. ^ Harchol-Balter, M. (2012). "Scheduling: Non-Preemptive, Size-Based Policies". Performance Modeling and Design of Computer Systems. pp. 499–507. doi:10.1017/CBO9781139226424.039. ISBN 9781139226424.
  22. ^ Andrew S. Tanenbaum; Herbert Bos (2015). Modern Operating Systems. Pearson. ISBN 978-0-13-359162-0.
  23. ^ Harchol-Balter, M. (2012). "Scheduling: Preemptive, Size-Based Policies". Performance Modeling and Design of Computer Systems. pp. 508–517. doi:10.1017/CBO9781139226424.040. ISBN 9781139226424.
  24. ^ Harchol-Balter, M. (2012). "Scheduling: SRPT and Fairness". Performance Modeling and Design of Computer Systems. pp. 518–530. doi:10.1017/CBO9781139226424.041. ISBN 9781139226424.
  25. ^ Dimitriou, I. (2019). "A Multiclass Retrial System With Coupled Orbits And Service Interruptions: Verification of Stability Conditions". Proceedings of FRUCT 24. 7: 75–82.
  26. ^ "Archived copy" (PDF). Archived (PDF) from the original on 2017-03-29. Retrieved 2018-08-02.CS1 maint: archived copy as title (link)
  27. ^ Jackson, J. R. (1957). "Networks of Waiting Lines". Operations Research. 5 (4): 518–521. doi:10.1287/opre.5.4.518. JSTOR 167249.
  28. ^ Jackson, James R. (Oct 1963). "Jobshop-like Queueing Systems". Management Science. 10 (1): 131–142. doi:10.1287/mnsc.1040.0268. JSTOR 2627213.
  29. ^ 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. S2CID 8694947.
  30. ^ 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. Archived from the original on 2019-09-24. Retrieved 2019-09-24.
  31. ^ 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.
  32. ^ 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. S2CID 15204199.
  33. ^ Buzen, J. P. (1973). "Computational algorithms for closed queueing networks with exponential servers" (PDF). Communications of the ACM. 16 (9): 527–531. doi:10.1145/362342.362345. S2CID 10702. Archived (PDF) from the original on 2016-05-13. Retrieved 2015-09-01.
  34. ^ 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.
  35. ^ Gelenbe, Erol (Sep 1993). "G-Networks with Triggered Customer Movement". Journal of Applied Probability. 30 (3): 742–748. doi:10.2307/3214781. JSTOR 3214781.
  36. ^ 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. S2CID 2714909.
  37. ^ Chen, H.; Whitt, W. (1993). "Diffusion approximations for open queueing networks with service interruptions". Queueing Systems. 13 (4): 335. doi:10.1007/BF01149260. S2CID 1180930.
  38. ^ Yamada, K. (1995). "Diffusion Approximation for Open State-Dependent Queueing Networks in the Heavy Traffic Situation". The Annals of Applied Probability. 5 (4): 958–982. doi:10.1214/aoap/1177004602. JSTOR 2245101.
  39. ^ Bramson, M. (1999). "A stable queueing network with unstable fluid model". The Annals of Applied Probability. 9 (3): 818–853. doi:10.1214/aoap/1029962815. JSTOR 2667284.

Further reading[edit]

  • Gross, Donald; Carl M. Harris (1998). Fundamentals of Queueing Theory. Wiley. ISBN 978-0-471-32812-4. Online
  • Zukerman, Moshe. Introduction to Queueing Theory and Stochastic Teletraffic Models (PDF).
  • Deitel, Harvey M. (1984) [1982]. An introduction to operating systems (revisited first ed.). Addison-Wesley. p. 673. ISBN 978-0-201-14502-1. chap.15, pp. 380–412
  • Newell, Gordron F. (1 June 1971). Applications of Queueing Theory. Chapman and Hall.
  • Leonard Kleinrock, Information Flow in Large Communication Nets, (MIT, Cambridge, May 31, 1961) Proposal for a Ph.D. Thesis
  • Leonard Kleinrock. Information Flow in Large Communication Nets(RLE Quarterly Progress Report, July 1961)
  • Leonard Kleinrock. Communication Nets: Stochastic Message Flow and Delay(McGraw-Hill, New York, 1964)
  • Kleinrock, Leonard (2 January 1975). Queueing Systems: Volume I – Theory. New York: Wiley Interscience. pp. 417. ISBN 978-0471491101.
  • Kleinrock, Leonard (22 April 1976). Queueing Systems: Volume II – Computer Applications. New York: Wiley Interscience. pp. 576. ISBN 978-0471491118.
  • 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 978-0-13-746975-8.
  • Jon Kleinberg; Éva Tardos (30 June 2013). Algorithm Design. Pearson. ISBN 978-1-292-02394-6.

External links[edit]

  • Queueing theory calculator
  • Teknomo's Queueing theory tutorial and calculators
  • Office Fire Emergency Evacuation Simulation on YouTube
  • Virtamo's Queueing Theory Course
  • Myron Hlynka's Queueing Theory Page
  • Queueing Theory Basics
  • A free online tool to solve some classical queueing systems
  • JMT: an open source graphical environment for queueing theory
  • LINE: a general-purpose engine to solve queueing models
  • What You Hate Most About Waiting in Line: (It’s not the length of the wait.), by Seth Stevenson, Slate, 2012 – popular introduction