Теория массового обслуживания
Теория массового обслуживания (англ. queueing theory) — это раздел математики, посвящённый изучению очередей и процессов ожидания[1]. Математические модели очередей строятся с целью прогнозирования длины очереди и времени ожидания[1]. Теория массового обслуживания считается частью исследования операций, поскольку её результаты широко используются для обоснования решений о необходимых ресурсах при предоставлении различных услуг.
Истоки теории массового обслуживания связаны с исследованиями Агнера Крарупа Эрланга, который анализировал поступление телефонных вызовов в Копенгагенской телефонной компании[1]. Его работы стали фундаментом для инженерии телетрафика, а сама теория применяется в телекоммуникациях, транспортной инженерии, вычислительной технике[2], управлении проектами и прежде всего в организации производства, при проектировании заводов, магазинов, офисов и больниц[3].[4]
Правописание
В академической литературе чаще встречается написание queueing, а не queuing. Например, один из ведущих журналов области называется Queueing Systems.
Описание
Теория массового обслуживания является одной из ключевых областей науки об управлении. Эта дисциплина позволяет организациям решать широкий круг задач, применяя научные и математические методы. Анализ систем обслуживания опирается на вероятностный подход, а не на детерминированный, что отражается на характеристиках работы системы (либо так называемых эксплуатационных характеристиках)[5]. К таким характеристикам относятся вероятность наличия n клиентов в системе, среднее число клиентов в системе, среднее время ожидания в очереди, среднее время пребывания в системе и др[5] Главная цель анализа — вычислить эти показатели для текущей системы и оценить, как они изменятся при различных модификациях. Это помогает принимать решения, повышающие эффективность и снижающие издержки. Основные модели — это системы с одним и несколькими обслуживающими устройствами (сервером или кассами), которые могут учитывать постоянство/случайность времени обслуживания, ограниченность очереди, конечность потока вызовов и другие параметры.[5]
Одноузловые системы обслуживания
Очередь или узел массового обслуживания можно рассматривать как некоторое «чёрный ящик»: задачи (называемые также клиентами или запросами) приходят в очередь, возможно ожидают обслуживания, проходят процесс обслуживания и покидают систему.
Однако полностью «чёрным ящиком» узел обслуживания не является: требуется некоторая информация о внутренней структуре. Очередь обслуживают один или несколько серверов, которые по одному подключаются к поступающим задачам. После завершения обслуживания сервер освобождается для нового клиента.
Пример: касса в магазине. Покупатели приходят, проходят обслуживание (оплату), уходят. Если касса занята и нет зоны ожидания, клиент уходит (нет буфера); если очередь может включать до n клиентов — очередь с буфером размера n.
Поведение отдельной очереди (узла обслуживания) обычно моделируется с помощью процесса рождения–смерти, где отмечаются как поступления, так и выбытия клиентов (работ, задач), а состоянием системы является число занятых/ожидающих клиентов k. При поступлении k увеличивается на 1, при выбытии — уменьшается на 1.
Переходы между состояниями происходят с интенситетами поступления и обслуживания . В большинстве моделей интенсивности считать постоянными, то есть для всей системы существует среднее (поступление) и (обслуживание).
Стационарные уравнения для процесса рождения–смерти (уравнения баланса):
Например:
и
В общем виде
Требование даёт:
совместно с формулой для полностью определяет стационарное распределение.
Очереди обычно описываются с помощью обозначения Кендалла в виде A/S/c, где A — распределение поступления, S — распределение времени обслуживания, c — число серверов[6]. Например, M/M/1 — простейшая модель с одним сервером, где входной поток — пуассоновский процесс, времена обслуживания экспоненциальны (M — от Markov). В M/G/1 буква G означает любое распределение вероятностей времени обслуживания.
Очередь с одним сервером:
- — интенсивность поступления (среднее число клиентов в единицу времени)
- — средняя интенсивность обслуживания (обратное среднему времени обслуживания)
- n — число клиентов в системе
- — вероятность наличия n клиентов в системе в стационарном режиме
Уравнения баланса:
Отсюда:
- , где — классическое геометрическое распределение.
Базовая система Эрланга (модификация закона Литтла):
- ,
где λ — интенсивность поступления, σ — интенсивность ухода без обслуживания (отказ, dropout), μ — интенсивность обслуживания, L — средняя длина очереди.
Время ожидания W при экспоненциальных законах определяется как:
или
Такие модели используются, например, в эпидемиологических задачах[7].
История
В 1909 году Агнер Краруп Эрланг впервые опубликовал работу по теории массового обслуживания, работая в Копенгагенской телефонной компании[8]. Он применил пуассоновский процесс для моделирования входящего потока вызовов и решил задачу M/D/1 (1917), а затем M/D/k (1920)[9].
- M — «марковский» (memoryless): поступления происходят по пуассоновскому процессу;
- D — «детерминированный»: фиксированное время обслуживания;
- k — число серверов.
При недостатке серверов работы встают в очередь.
Очередь M/G/1 была решена Феликсом Полячеком (1930)[10], а позднее — в вероятностном виде Александром Хинчиным; решение известно как формула Полячека–Хинчина[9].
С 1940-х теория массового обслуживания активно развивается математиками[11]. В 1953 году Дэвид Джордж Кендалл задал современное обозначение очередей и решил задачу GI/M/k[12]. В 1957 Феликс Полячек исследовал GI/G/1 с помощью интегрального уравнения[13]. Джон Кингман дал оценку среднего времени ожидания в G/G/1 — формула Кингмана[14].
Леонард Клейнрок применял теорию массового обслуживания к коммутации сообщений (1960-е) и пакетной коммутации (1970-е). Его работы оказали большое влияние на развитие сетей ARPANET — предшественника Интернета.
Разработка матричных методов позволила учитывать фазовые распределения времени обслуживания и прихода[15].
Модели с связанными орбитами применяются, в частности, в теории беспроводных сетей и обработке сигналов[16].
Современные приложения теории массового обслуживания охватывают также разработку материальных продуктов с учётом пространственно-временных параметров[17].
Так, задачи вычисления характеристик для M/G/k-систем во многих случаях до сих пор остаются открытыми[9].[11]
Дисциплины обслуживания
Возможны различные политики обслуживания клиентов:
- Первым пришёл — первым обслужен (FIFO, First come, first served)
- Классический принцип: каждый клиент обслуживается по мере поступления, предпочтение у того, кто ждал дольше[18].[19]
- Последним пришёл — первым обслужен (LIFO)
- предпочтение новому клиенту с минимальным временем ожидания; модель также называют стеком[19].
- Processor sharing
- Совместное разделение ресурсов между всеми клиентами (например, процессорное время делится поровну)[19].
- Приоритеты
- Особо важные заявки обслуживаются раньше (приоритетные очереди бывают вытесняющими и невытесняющими)[19][20].
- Минимальное время выполнения
- обслуживается задача с наименьшим объёмом работы[21].
- Прерываемое обслуживание минимальной задачи
- обслуживается задача с минимальным исходным объёмом[22].
- Минимальное оставшееся время
- выбирается задача с наименьшим оставшимся временем[23].
- Устройство обслуживания
- Один сервер: одна очередь, один обслуживающий;
- Несколько параллельных серверов с одной очередью: клиенты в общей очереди обслуживаются несколькими серверами;
- Несколько независимых очередей: клиенты сами выбирают, к какому столу встать.
- Ненадёжный сервер
- отказы происходят случайно (чаще всего по пуассоновскому закону); после отказа требуется настройка или ремонт, клиент ожидает восстановления работы сервера[24].
- Поведение клиентов
- Отказ от входа (balking) — если очередь слишком длинна, клиент не встаёт в очередь;
- Перестановка (jockeying) — клиент меняет очередь, если считает, что в другой обслужат быстрее;
- Ожидание сверх нормы и уход (reneging) — клиент покидает очередь из-за слишком долгого ожидания.
Клиенты, не получившие обслуживание по разным причинам, называются отказниками (dropouts).
Сети массового обслуживания
Сети массового обслуживания — это системы, состоящие из нескольких взаимосвязанных очередей, между которыми клиенты могут перемещаться после обслуживания. Состояние сети из m узлов описывается вектором из m компонент (x1, ..., xm).
Самые простые — тандемные очереди (сети Джексона), для которых найдены эффективные решения (продукт-форма стационарного распределения, анализ средних значений)[25].[26][27] Если число клиентов в системе постоянно (замкнутая сеть) — работают формулы Гордона–Ньюэлла, которые затем были обобщены для BCMP-сетей, допускающих произвольные режимы обслуживания и модели маршрутизации[28]. Быстрые алгоритмы для вычисления нормирующей константы были предложены Джеффри Бузеном[29].
Изучались также сети с неоднородным приоритетным обслуживанием (сети Келли), различные типы входных потоков (G-сети по Эролу Геленбе)[30].
В дискретных сетях при ограничениях на активность узлов часто используются max-weight-алгоритмы или маршрутизация по обратному давлению для оптимального распределения пропускной способности[18]. Выбор конкретного алгоритма очередей влияет на работу всей сети[31].
Модель среднего поля рассматривает поведение долей очередей в разных состояниях при бесконечно большом числе узлов. Воздействие остальных очередей на любую фиксированную приближается дифференциальным уравнением. В стационарном случае результат совпадает с изначальной стохастической моделью[32].
При больших загрузках систему приближённо описывают с помощью отражённого броуновского движения[33], орнштейновского процесса и других моделей диффузии[34]. Число измерений процесса соответствует числу очередных узлов.
Флюидные модели — это определённые (детерминированные) аналоги стохастических моделей, появляющиеся при масштабировании времени и пространства. Для флюидной аппроксимации можно строго доказать устойчивость системы, но возможны ситуации, когда стохастическая сеть устойчива, а её флюидная аппроксимация — нет[35].
Теория массового обслуживания широко применяется в компьютерных науках и информационных технологиях. Например, в сетевых устройствах (маршрутизаторах, коммутаторах) анализ очередей позволяет оптимизировать работу при передаче данных и повышать эффективность использования ресурсов.
Принципы теории массового обслуживания актуальны и в повседневной жизни — например, при очередях в магазинах или в общественном транспорте. Понимание закономерностей позволяет оптимизировать процессы и повысить удовлетворённость пользователей. В любой сфере, где возникает ожидание, применимы методы этой теории[36].
Примечания
Литература
- Gross, Donald. Fundamentals of Queueing Theory / Donald Gross, Carl M. Harris. — Wiley, 1998. — ISBN 978-0-471-32812-4.
- Zukerman, Moshe. Introduction to Queueing Theory and Stochastic Teletraffic Models. — 2013.
- Deitel, Harvey M. An introduction to operating systems. — revisited first. — Addison-Wesley, 1984. — P. 673. — ISBN 978-0-201-14502-1.
- Gelenbe, Erol. Analysis and Synthesis of Computer Systems / Erol Gelenbe, Isi Mitrani. — World Scientific, 2-е изд., 2010. — ISBN 978-1-908978-42-4.
- Newell, Gordron F. Applications of Queueing Theory. — Chapman and Hall, 1971-06-01.
- Leonard Kleinrock. Information Flow in Large Communication Nets, (MIT, Cambridge, 1961)
- Leonard Kleinrock. Information Flow in Large Communication Nets (RLE Quarterly Progress Report, 1961)
- Leonard Kleinrock. Communication Nets: Stochastic Message Flow and Delay (McGraw-Hill, 1964)
- Kleinrock, Leonard. Queueing Systems: Volume I – Theory. — New York : Wiley Interscience, 1975-01-02. — P. 417. — ISBN 978-0-471-49110-1.
- Kleinrock, Leonard. Queueing Systems: Volume II – Computer Applications. — New York : Wiley Interscience, 1976-04-22. — P. 576. — ISBN 978-0-471-49111-8.
- Lazowska, Edward D. Quantitative System Performance: Computer System Analysis Using Queueing Network Models / Edward D. Lazowska, John Zahorjan, G. Scott Graham … [и др.]. — Prentice-Hall, Inc, 1984. — ISBN 978-0-13-746975-8.
- Jon Kleinberg. Algorithm Design / Jon Kleinberg, Éva Tardos. — Pearson, 2013-06-30. — ISBN 978-1-292-02394-6.





