УДК 519.872
В. X. Нгуен
Московский физико-технический институт (национальный исследовательский университет)
Исследование системы циклического по л л ин га с групповым шлюзовым обслуживанием
Рассматривается система иоллиига с циклическим порядком опроса и групповой шлюзовой дисциплиной обслуживания. Количество мест для ожидания в каждой очереди ограничено. Система исследуется в стационарном режиме. Приведен алгоритм нахождения стационарных вероятностей состояний и характеристик производительности системы. Проведен сравнительный анализ разработанного алгоритма расчета характеристик производительности с результатами, полученными методом Монте-Карло.
Ключевые слова: система поллинга, циклический порядок опроса, групповая шлюзовая дисциплина обслуживания, аналитический метод, система уравнений равновесия
V. Н. Nguyen Moscow Institute of Physics and Technology
Study of cyclic polling system with batch gated service
The paper discusses polling system with cyclic polling order and batch gated service discipline. The queue capacities are limited. The system is studied in steady-state mode. An algorithm for finding steady-state probabilities and system performance characteristics is presented. A comparative analysis of the developed algorithm for calculating performance characteristics with the results obtained by the Monte Carlo method has been conducted.
Key words: polling system, cyclic polling order, batch gated service discipline, analytical method, system of global balance equations
1. Введение
В последние десятилетия широкополосные беспроводные сети играют важнейшую роль в современном обществе, обеспечивая связь, мобильность и доступ к информации в разнообразных сферах, от бизнеса до развлечений и научных исследований. Одной из наиболее распространенных проблем, связанных с функционированием сетей, в частности сетей стандарта IEEE 802.11, является проблема скрытых узлов. Эта проблема возникает, когда два или более устройства в сети не могут напрямую обнаружить друг друга из-за помех или расстояния между ними, но при этом они могут получать одни и те же сигналы от третьего устройства. Это приводит к коллизии при передаче данных, что может существенно снижать производительность сети [1].
Решение проблемы скрытых узлов включает в себя использование различных алгоритмов доступа к среде и механизмов управления с целью минимизации влияния скрытых узлов на работу беспроводной сети. Один из эффективных методов решения этой проблемы заключается в использовании режима поллинга (или механизма поллинга), при котором базовая станция попеременно опрашивает узлы сети в соответствии с заданным порядком опроса. Этот режим применяется в протоколе централизованного управления PCF (Point
© Нгуен В.Х., 2024
(с) Федеральное государственное автономное образовательное учреждение высшего образования
«Московский физико-технический институт (национальный исследовательский университет)», 2024
Coordination Function) и его развитии НССА (Controlled Channel Access) в стандарте IEEE 802.11-2016.
Моделью широкополосной беспроводной сети в режиме поллинга с целью расчета пропускной способности и минимизации задержек может служить система поллинга. Эта система состоит из нескольких очередей и одного общего сервера. Для обслуживания заявок сервер подключается к каждой очереди согласно определенному порядку опроса. Наиболее широко используемым является циклический опрос, когда сервер последовательно опрашивает очереди от первой (Qi) до последней (Qn), а затем вновь возвращается к Q1. Время, необходимое серверу для опроса очередей от Q1 до Qn, называется циклом. На практике чаще всего информацию о количестве заявок в очереди сервер узнает только в момент завершения подключения к этой очереди и готовности начать обслуживание. Такой момент называется моментом опроса, или моментом поллинга. После завершения соединения сервер обслуживает заявки в очереди в соответствии с дисциплиной обслуживания, которая представляет собой количество заявок, обслуживаемых сервером за одно его посещение очереди. В случае исчерпывающей дисциплины сервер завершает обслуживание только тогда, когда в очереди не остается заявок. В случае шлюзовой дисциплины сервер обслуживает только те заявки, которые были в очереди на момент ее опроса, а заявки, поступившие после этого момента, ожидают следующего посещения сервера [2].
Несмотря на то, что системы поллинга интенсивно изучались в последние десятилетия [3-5], большая часть исследований была сфокусирована на индивидуальном обслуживании заявок в очередях. Системы же с групповым обслуживанием на данный момент слабо исследованы. Несколько работ [6,7] рассматривают ситуацию, в которой сервер обслуживает очередь как одну группу, где размер группы определяется количеством всех заявок в очереди в момент ее опроса. Основное внимание уделяется системам, в которых одна очередь обслуживается одним сервером. Однако в статье [8] исследуется случай, в котором одна очередь обслуживается несколькими серверами одновременно, формируя группу серверов. В работе [9] рассматривается проблема оптимизации для циклической системы, в которой сервер ожидает, пока в очереди накопится достаточное количество заявок для группового обслуживания в момент опроса. В [10] рассматривается особая система, состоящая из двух частей: внутренней и внешней. Заявки при поступлении в эту систему ожидают момента, когда во внешней части накопится необходимое количество заявок для формирования группы, после чего заявки переносятся во внутреннюю часть, которая, в свою очередь, функционирует аналогично стандартной системе поллинга.
По сравнению с предыдущими моделями, в данной статье рассматривается система с циклическим порядком опроса и групповой шлюзовой дисциплиной обслуживания, где каждая очередь имеет параметр ki, определяющий максимальный размер группы заявок в данной очереди. Пусть, например, для очереди Qi с ki = 3. Если в момент опроса в очереди находится 10 заявок, сервер будет обслуживать три группы размером по три заявки и последнюю группу из одной заявки. Важно отметить, что время обслуживания групп заявок в одной очереди имеет одинаковое среднее значение и не зависит от размера группы. При этом предполагается, что в каждой очереди количество мест для ожидания ограниченно.
Цель данной работы заключается в разработке метода вычисления характеристик производительности системы. Также проводится сравнение результатов, полученных с помощью представленного метода, с результатами имитационного моделирования.
2. Математическая модель
Рассмотрим описанную выше систему поллинга, состоящую из N (N > 2), обозначенных как Qi до Qn) где количество доступных мест для ожидания в каждой очереди Qi равно Ni, г = 1, N. Входящие потоки заявок простейшие с параметром Aj для каждой очереди Qi, г = 1, N. Времена обслуживания групп заявок в Qi и переключения сер вера к Qi имеют, соответственно, экспоненциальное распределение с параметрами bi и Si. Таким образом, интенсивности обслуживания и переключения определяются как ^ = 1/bi и ASi = 1/si
соответственно.
Поскольку число состояний системы конечно, при любых входных параметрах существует стационарный режим. Пусть система находится в стационарном режиме. Состояние системы в произвольный момент времени описывается следующими параметрами У = {¿р,п\,..., пN, кс, пс), где:
• ф — фаза сервера, которая может принимать одно из следующих значений: Сг — сервер подключается к очереди г =
— сервер обслуживает заявки в очереди г =
• п\, ...,пм — текущие длины очередей.
• кс — текущий размер группы заявок, которую сервер обслуживает в данный момент. В случае, если ф = С^ т.е. сервер находится в процессе подключения к то кс = 0.
• пс — количество заявок в очереди, которых серверу осталось обслужить при данном посещении.
Обозначим через ру или р(ф,п\, ...,п^,кс,пс) стационарную вероятность того, что система находится в состоянии У = (у,п\пN, кс, пс).
Схема переключения сервера между фазами изображена на рис. 1.
Щ+1 = о
Рис. 1. Переходы между фазами сервера.
В момент опроса очереди если она пуста (щ = 0), сервер пропускает фазу ее обслуживания и сразу переходит к подключению к следующей очереди. В противном случае, сервер фиксирует число заявок, находящихся в очереди Qi в момент подключения к ней, и начинает группами обслуживать заявки. Максимальный размер одной группы — кг, и как только в очереди остается меньше, чем заявок, подлежащих обслуживанию, сервер обслуживает неполную группу заявок (все оставшиеся необслуженные заявки) и покидает очередь. Далее сервер подключается к очереди Qi+l.
Целью большинства исследований систем поллинга является расчет их характеристик производительности, включая средние длины очередей, средние времена ожидания и пребывания заявок в каждой очереди и другие параметры. Наиболее часто применяемыми методами исследования систем поллинга являются метод производящих функций, который
используется для нахождения распределения числа заявок в моменты опроса очередей, метод анализа средних для расчета средних длин очередей в произвольный момент времени, метод ветвящихся процессов и другие методы [5]. Однако для большинства реальных систем поллинга применение данных методов затруднительно. Поэтому одним из возможных выходов может стать разработка приближенных формул расчета характеристик таких систем.
Для системы поллинга с групповым обслуживанием, исследуемой в данной статье, переходы между состояниями могут быть сгруппированы в соответствии с фазой сервера, как на рис. 1. Поэтому будем применять классический метод построения уравнения равновесия для стационарных вероятностей состояний. С использованием численных алгоритмов и вычислительных ресурсов будем решать данную систему уравнений с целью нахождения стационарных вероятностей состояний системы, что позволит вычислить требуемые характеристики производительности системы.
3. Система уравнений равновесия
В данном разделе разработаем систему уравнений равновесия для нахождения стационарных вероятностей состояний системы.
Введем функцию-индикатор которая равна 1, если событие А произошло, и 0 в
противном случае.
3.1. Фаза С*
Предположим, что сервер находится в процессе подключения к очереди а состояние системы — (Сг,п\, , 0, 0). Очевидно, что на этой фазе сервер не обслуживает заявки,
поэтому кс = пс = 0.
В общем случае, параметры состояния системы на фазе С^ должны удовлетворять следующим условиям:
Го < п^ < щ, з =
\пс = кс = 0.
На рис. 2 показаны все возможные переходы из и в состояние (С^, п\,..., п^, 0, 0).
Рис. 2. Переходы между состояниями в фазе С*
При нахождении сервера на фазе С^ система может менять свое состояние на другое, оставаясь при этом на фазе С^ сервера, либо переходить на фазу либо фазу С^ в
зависимости от значении параметров текущего состояния.
На основе схемы переходов состояний можем записать следующее уравнение равновесия ДЛЯ СОСТОЯНИЯ (Сг,П1, ...,п^, 0, 0):
N
р(Сг,т,...,т,...,пм,о,0) xj 1{п.<м.} + а*
N
= Р(Сг,П1,...,щ - 1,...,ПМ, 0, 0) 1{п. >0} +
Ч ±,..., ,\3± {П. >о} , ^
Ь-1
+ р(Бг-1,П1,...,Пг-1 + ^,т,...,Пм ,3,3) ^4-1 1{п._ ^КМ^ 1} + 3=1
+ р{Сг-1,П1, ..., 0,Щ, ...,Пм, 0, 0) 11{п1=о}.
Заметим, что число состояний в каждой фазе Сг, г = 1,М, одинаково и определяется следующим образом:
N
питс = + 1).
г=1
3.2. Фаза ^
Рассмотрим случай, когда сервер обслуживает очередь Qi. Система находится в состоянии (Sí ,п1, ...,щ,..., п^, кс, пс).
На этой фазе в очереди Qi всегда есть хотя бы одна заявка. Количество оставшихся заявок для обслуживания пс достигает максимального значения щ в момент опроса и постепенно уменьшается после обслуживания каждой группы. Если количество оставшихся заявок для обслуживания пс по-прежнему превышает максимальный размер группы кг, то размер текущей группы кс будет равен кг- В противном случае сервер обслуживает последнюю группу размером кс = пс и переходит па фазу подключения к Qí+l.
Таким образом, на фазе Бг параметры состояния системы должны удовлетворять следующим условиям:
С0 < щ < М,, 3 =Т;Й, 3 = г, 1 < Щ < Щ,
1 < кс < къ,
кс < пс < т,
^кс = если пс > иначе кс = пс.
Аналогично предыдущему разделу, создадим схему переходов из и в состояние (Б1,П1, ...,щ, ...,пм,кс,пс) в зависимости от значений параметров состояния (рис. 3).
На основе этой схемы составим следующее уравнение равновесия для состояния (Бг,П1, ...,щ, ...,пм ,кс,пс):
( Ы
p(Sí,nl,...,т,...,пм,кс,пс) ( А3} + ^
N
= р(вг,П1, ...,Пу - 1,...,Пм ,кс,Пс)Х31{П}>0} +
3 = 1
3=1
+ Р^,П1, ...,т - 1,...,пм, кс, Пс)Х^{п.>кс п Щ>пс} +
+ р(вг, П1, ..., Пг + кг, ..., ПМ, кг, Пс + к^^Цп.+^кИ^Цк^Ь и кс=пс} +
+ р(Сг,П1,...,Пг,...,Пм, 0, 0) А^1{Пс=щ}.
Рис. 3. Переходы между состояниями в фазе Б
В отличие от фазы С^ количество состояний в каждой фазе Si различно и зависит от значений к^ и
N
numSi = TTW + !)
з=1 3 =г
'ki -1 Ni
Е w + 1 - з) + Е (з - к> + 1)
3 = 1 3=ki
3.3. Численное решение
После анализа каждой фазы сервера получаем систему уравнений равновесия, состоящую из уравнений вида (1) и (2) для всех состояний системы, общее число которых определяется следующим образом:
N
numeq = N • питс + numSi.
i=1
Для решения этой системы уравнений одно из уравнений должно быть заменено условием нормировки:
= 1
Y еЕ
где Е — пространство состояний системы.
Очевидно, что данная система уравнений равновесия представляет собой большую разреженную систему линейных алгебраических уравнений (СЛАУ). Для численного решения такой системы можем воспользоваться популярными прямыми решателями больших разреженных СЛАУ, такими как SuperLU, Trilinos Amesos, Pardiso и другие. В данной работе был применен решатель Pardiso, доступный на платформе Python через библиотеку PyPardiso. Pardiso является многопроцессорным параллельным прямым разреженным решателем с общей памятью и высокой производительностью.
Алгоритм численного решения указанной СЛАУ следующий:
• Шаг 1. Создание пустой разреженной матрицы коэффициентов.
Шаг 2. Создание массива состояний, содержащего все состояния системы.
• Шаг 3. Перебор всех состояний массива. Для каждого состояния фазы С или Б заполняем соответствующее уравнение 1 или 2 в матрице коэффициентов.
• Шаг 4. Замена одной строки в матрице коэффициентов условием нормировки.
• Шаг 5. Решение полученной СЛАУ с помощью решателя РагсЦво.
4. Оценка характеристик производительности системы
После получения стационарных вероятностей состояний путем решения приведенной выше системы уравнений равновесия можем рассчитать все характеристики производительности системы.
В нашей модели заявка покидает очередь только после того, как она была обслужена. Таким образом, количество заявок в очереди в любой момент времени представляет собой сумму количества заявок, обслуживаемых в этот момент, и количества заявок, ожидающих обслуживание. Аналогично, время пребывания заявки в очереди является суммой ее времени ожидания и времени обслуживания.
Вероятность того, что очередь ^ в произвольный момент времени имеет ] заявок, равна сумме вероятностей всех состояний, где щ = Таким образом, средняя длина Ь^ очереди Qi определяется как
N1 _
Ьг = ^ ^ ]'РУ, г = 1,Ы. 3=0 {¥еЕ\ш=]}
Когда в очереди не остается мест для ожидания, поступающая заявка будет потеряна. Вероятность потери Р^^ представляет собой сумму вероятностей всех состояний сщ =
Рюээ, = 'Р¥, 1 = 1,М.
{у еЕ\щ=м1}
Эффективная интенсивность входящего потока в очереди Qi определяется как
= Ри^г = 1,м.
Применяя закон Литтла, получаем среднее время пребывания заявок Уг в очереди
и
Уг = ^, г = 1,Ы.
Ле ■
сг
Загрузка рг очереди Qi — это вероятность того, что в произвольный момент времени сервер обслуживает эту очередь:
Рг = РГ, 1 = 1,М.
{У еЕ\^=Яг}
Среднее время пребывания V всех заявок в системе может быть получено следующим образом:
N
V = ^ РгУг. г=1
Среднее время цикла С — это сумма времени, которое сервер тратит па обслуживание очередей, от первой до последней, и времени, в течение которого сервер переключается к очередям:
С = 8
1 - Р'
N N
где р = ^^ рг — загрузка системы и в = ^^ Si — среднее время переключения сервера в
г=1 г=1
цикле.
5. Сравнительный анализ результатов
Поскольку представленная система уравнений равновесия решается численно, то для верификации результатов в данном разделе проводится сравнительный анализ с методом имитационного моделирования Монте-Карло.
Метод Монте-Карло представляет собой численный метод, основанный на случайной генерации данных и многократном повторении вычислительных экспериментов для решения сложных задач. Основная концепция метода заключается в использовании большого объема случайных чисел для приближенного определения результата задачи.
Этот метод находит применение в разнообразных задачах, включая задачи с коррелированными входными потоками заявок, для которых применение традиционных аналитических методов нецелесообразно. Одним из преимуществ метода Монте-Карло является его относительно большая скорость вычислений, особенно в сравнении с методами, основанными на решении алгебраических уравнений. Например, в данной работе для модели с тремя очередями но десять мест для ожидания в каждой время решения системы уравнений равновесия составляет приблизительно десять минут, в то время как метод Монте-Карло требует всего лишь полторы минуты. Однако следует отметить, что точность метода Монте-Карло может сильно зависеть от числа итераций и сложности самой модели.
В данной работе имитационная модель Монте-Карло была реализована на платформе ОМКеТ++, которая представляет собой модульную компонентную библиотеку и среду моделирования компьютерных сетей на языке программирования С++.
Т а б л и ц а 1
Сравнение результатов в случае N = 2
N = 2 \\ = 20, А2 = 30 Ах = 80, А2 = 100
Рагап^еге А Я А, % А 8 Д, %
Ьг 0.3535 0.3525 0.28 6.6923 6.6829 0.14
ь2 0.5357 0.5359 0.04 8.4561 8.4492 0.08
Р/оЯв 1 0.0 0.0 0.0 0.0134 0.0133 0.75
^10382 0.0 0.0 0.0 0.0364 0.0363 0.27
А 20.000 19.978 0.11 78.925 78.905 0.03
Ае2 30.000 29.994 0.02 96.361 96.331 0.03
VI 0.0177 0.0176 0.56 0.0848 0.0847 0.12
И> 0.0179 0.0179 0.0 0.0878 0.0877 0.11
Р1 0.1796 0.1791 0.28 0.4346 0.4344 0.05
Р2 0.2602 0.2603 0.04 0.5223 0.5224 0.02
Р 0.4398 0.4395 0.07 0.9569 0.9568 0.01
V 0.0178 0.0178 0.0 0.0864 0.0864 0.0
с 0.0036 0.0036 0.0 0.0464 0.0464 0.0
Рассмотрим систему, состоящую из двух очередей, в случаях низкой и высокой загрузки. Среднее время обслуживания Ь\ = &2 = 0, 01 секунд, среднее время переключения = 82 = 0, 001 секунд. Размер групп к\ = к2 = 2. Количество мест для ожидания = N2 = 20. Результаты представлены в табл. 1, где столбец А содержит результаты, полученные на основе численного решения уравнений равновесия, а столбец 5 — результаты, полученные с помощью метода Монте-Карло. Относительная погрешность между двумя методами отображается в столбце А.
Заметно, что при повышенной загрузке системы вероятность потери будет увеличиваться, так как заявки чаще теряются при поступлении. Увеличение числа мест для ожидания N1 приведет к тому, что система будет функционировать подобно системе с бесконечным
числом мест ожидания. Однако следует отметить, что увеличение Ní также приведет к росту числа состояний системы, что, в свою очередь, увеличит вычислительную нагрузку.
Т а б л и ц а 2
Сравнение результатов в случае N — 3
N = 3 \1 = A2 = 20, A3 = 30 Ai = A2 = 50, A3 = 70
Parameters A S Д, % A S Д, %
Li 0.1814 0.1818 0.22 4.8834 4.8913 0.16
L-2 0.1752 0.175 0.11 4.2175 4.2175 0.0
¿3 0.3496 0.3496 0.0 5.1582 5.169 0.21
Plossi 0.0 0.0 0.0 0.0744 0.0738 0.81
Pi OSS 2 0.0 0.0 0.0 0.0717 0.0724 0.98
Plosss 0.0 0.0 0.0 0.1620 0.1619 0.06
Aei 10.000 10.007 0.07 46.279 46.226 0.11
Ae2 10.000 9.9968 0.03 46.416 46.301 0.25
Ap3 20.000 20.004 0.02 58.661 58.650 0.02
Vl 0.0181 0.0182 0.55 0.1055 0.1058 0.28
V2 0.0175 0.0175 0.0 0.0909 0.0911 0.22
v3 0.0175 0.0175 0.0 0.0879 0.0881 0.23
Pi 0.1000 0.1003 0.30 0.4628 0.4631 0.06
P2 0.0940 0.0938 0.21 0.2566 0.2560 0.23
P3 0.1767 0.1767 0.0 0.2413 0.2418 0.21
P 0.3707 0.3708 0.03 0.9608 0.9610 0.02
V 0.0177 0.0177 0.0 0.0972 0.0964 0.82
с 0.0048 0.0048 0.0 0.0765 0.0768 0.39
В табл. 2 представлены результаты для системы, состоящей из трех очередей, в которой первые две очереди имеют одинаковую интенсивность входного потока Ai = А2, в случаях низкой и высокой нагрузки. Среднее время обслуживания bi = 0.01 секунд, среднее время переключения Si = 0.001 секунд, количество мест для ожидания Ni = 10 i = 1, 3. Размер групп k1 = 1, k2 = 2, k3 = 3.
Легко видеть, что относительная погрешность между результатами, полученными двумя методами, очень мала, менее 1%. Отсюда можем сделать вывод, что представленный метод расчета характеристик производительности является корректным.
6. Заключение
В данной статье рассмотрели систему цикли чеекого поллинга с групповой шлюзовой дисциплиной обслуживания. Путем анализа переходов между состояниями получена система уравнений равновесия, решение позволяет найти стационарные вероятности состояний системы. С помощью этих вероятностей получены основные характеристики производительности системы. Путем сравнения с результатами имитационного моделирования показана корректность представленного метода.
Список литературы
1. Kurose J.F., Ross K.W. Computer networking: A top-down approach edition. Addision Wesley, 2007.
2. Vishnevsky Semenova 0. Polling Systems and their Application to Telecommunication Networks /7 Mathematics. 2021. V. 9, N 2. P. 117.
3. Takagi Н. Analysis of polling systems. MIT press, 1986.
4. Borst S., Boxma O. Polling: past, present, and perspective // Top. 2018. V. 26. P. 335-369.
5. Вишневский B.M., Семенова О.В. Системы иоллиига: теория и применение в широкополосных беспроводных сетях. Москва : Техносфера, 2007.
6. Wal J. V.D., YechAali U. Dynamic visit-order rules for batch-service polling // Probability in the Engineering and Informational Sciences. 2003. V. 17, N 3. P. 351-367.
7. Boxma O., Wal J.V.D., YechAali U. Polling with batch service // Stochastic Models. 2008. V. 24, N 4. P. 604-625.
8. Vlasiou M., YechAali U. M/G/ro polling systems with random visit times // Probability in the Engineering and Informational Sciences. 2008. V. 22, N 1. P. 81-106.
9. Van Oyen M.P., Teneketzis D. Optimal batch service of a polling system under partial information // Mathematical Methods of Operations Research. 1996. V. 44, N 3. P. 401419.
10. Dorsman J.L., Van der Mei R.D., Winands E.M.M. Polling systems with batch service // OR Spectrum. 2012. V. 34, N 3. P. 743-761.
References
1. Kurose J.F., Ross K.W. Computer networking: A top-down approach edition. Addision Wesley, 2007.
2. Vishnevsky V., Semenova O. Polling Systems and their Application to Telecommunication Networks. Mathematics. 2021. V. 9, N2. P. 117.
3. Takagi H. Analysis of polling systems. MIT press, 1986.
4. Borst S., Boxma O. Polling: past, present, and perspective. Top. 2018. V. 26. P. 335-369.
5. Vishnevsky V.M., Semenova O. V. Polling systems: theory and applications for broadband wireless networks. Moscow : Technosphera, 2007. (in Russian)
6. Wal J. V.D., YechAali U. Dynamic visit-order rules for batch-service polling. Probability in the Engineering and Informational Sciences. 2003. V. 17, N 3. P. 351-367.
7. Boxma O., Wal J. V.D., YechAali U. Polling with batch service. Stochastic Models. 2008. V. 24, N 4. P. 604-625.
8. Vlasiou M., YechAali U. M/G/rc> polling systems with random visit times. Probability in the Engineering and Informational Sciences. 2008. V. 22, N 1. P. 81-106.
9. Van Oyen M. P., Teneketzis D. Optimal batch service of a polling system under partial information. Mathematical Methods of Operations Research. 1996. V. 44, N 3. P. 401-419.
10. Dorsman J.L., Van der Mei R.D., Winands E.M.M. Polling systems with batch service. OR Spectrum. 2012. V. 34, N 3. P. 743-761.
Поступим в редакцию 22.11.2023