Фосс С.Г. "Стохастические системы и сети обслуживания"
Содержание
Системы множественного доступа
Теоретическое исследование этих систем началось в семидесятые
годы и было вызвано следующими практическими соображениями.
Рассмотрим, к примеру, одноканальную систему с несколькими типами
вызовов. Допустим, что любой вызов (любого типа) требует обслуживания
в течение единичного времени (скажем, время обслуживания равно
1 секунде). Предположим, что сервер находится на космической
станции, все вызовы первого типа скапливаются в очереди где-то
в Австралии, второго - в России, третьего - в Бразилии, и т.д.
Наземная связь работает намного хуже, чем связь космическая.
Упорядочить вызовы в каждой очереди можно, а упорядочивать
поступление на сервер вызовов из разных очередей очень сложно, на
это может теряться большое количество времени и средств. Поэтому
на практике стали применять такой алгоритм:
заранее каждой очереди
указывается некоторое число (i-ой очереди - число pi, где
0 < pi < 1);
в каждую единицу времени, первый вызов из первой очереди посылает
сигнал на сервер с вероятностью p1, первый вызов из второй очереди -
с вероятностью p2, и т.д., причем делают они это независимо один
от другого (если некоторая очередь пуста, то из нее сигнала не поступает);
если число полученных сервером сигналов равно единице (послан
только один сигнал), то соответствующий вызов обслуживается и затем
(через единицу времени) покидает систему;
если число сигналов равно нулю, то сервер простаивает в течение
единицы времени;
если число сигналов не меньше двух, то они вступают в "конфликт",
и сервер также простаивает в течение единицы времени.
Можно рассматривать и более сложные модели сетей с несколькими
серверами, работающими по описанному принципу, и маршрутами
передвижения вызовов от одних серверов к другим.
Такого рода системы (и сети) получили название "системы множественного
доступа" ("multi-access broadcast channel"). Часто в литературе термин
"вызов" заменяют на
"сообщение", а "обслуживание вызова" - на "передачу сообщения".
Чтобы понять, какого рода условия требуются для стабильной
работы системы, рассмотрим наиболее простой случай симметричной
системы множественного доступа с двумя очередями.
Предположим, что p1 = p2 = p. Если в некоторый момент
одна очередь пуста,
а другая - нет, то вероятность обслуживания за следующую единицу времени
равна p. Если же обе очереди непусты, то обслуживание происходит в двух
симметричных случаях, когда из одной очереди сигнал поступает, а из
другой - нет. Так как сигналы подаются независимо, каждый из случаев
осуществляется с вероятностью p(1-p). Следовательно, вероятность
обслуживания равна 2p(1-p).
Пусть, как и в предыдущем параграфе, Xn(1) означает количество
вызовов, поступающих за n-ую единицу времени в первую очередь,
и Xn(2) - во вторую. Предположим, что все
случайные величины
X1(1), X1(2), X2(1), X2(2), ј
независимы и одинаково
распределены. Обозначим через a их общее среднее.
Используя правило насыщения, можно предложить достаточные
условия стабильности системы.
Теорема 4.1.Симметричная система множественного
доступа с двумя очередями стабильна, если выполняется одно из
двух:
p і 1/2 и 2p(1-p) > 2a;
2a < p < 1/2.
Действительно, рассмотрим первый случай (во втором рассуждения
аналогичны). Если система насыщена,
то либо обе очереди непусты (и обслуживание происходит с вероятностью
2p(1-p)), либо одна пуста, а другая нет (и обслуживание происходит с
вероятностью
p і 2p(1-p)).
Значит, в течение длительного времени T
интенсивность обслуживания не меньше чем 2p(1-p), а интенсивность
поступления вызовов строго меньше этого числа.
Ясно, почему сформулированные в теореме 4.1 условия являются
только достаточными для стабильности. Предположим, что система
насыщена, и нам удалось посчитать, какую часть времени в течение
длительного времени T
обе очереди непусты (скажем, эта доля равна c). Тогда "средняя"
интенсивность обслуживания за время T равняется
c · 2p(1-p) +(1-c) · p, и
"верное" условие стабильности есть
2a < c·2p(1-p) +(1-c) ·p.
Другими словами, система может работать стабильно
и при других условиях. Оказывается, что, вообще говоря,
определить число c можно, но для этого требуется хорошо развитая
техника "теории случайных блужданий", являющейся разделом
теории вероятностей.
Таким же образом решается задача нахождения
условий стабильности
для несимметричных систем с двумя очередями.
Чем больше число очередей, тем сложнее решать эту задачу.
К настоящему времени она полностью решена только для случаев двух,
трех и четырех очередей.
В практике часто применяется и другой тип систем множественного доступа,
который мы условно назовем системы без очередей. Предположим,
что каждый поступающий вызов имеет связь только с обслуживающим
сервером - поэтому никакие два из них не могут
"договориться", кому из них идти на обслуживание первым. Следовательно,
видится единственный способ возможного "разрешения конфликтов" - это
предлагать каждому ожидающему вызову в каждый момент
времени с некоторой вероятностью либо посылать сигнал на сервер,
либо не посылать.
Пусть, например, в систему за единицу времени поступает Xn вызовов
(где, как и ранее, случайные величины X1, X2, ј являются
независимыми и одинаково распределенными, M(X1) = a > 0),
и в каждый момент
времени n каждый из имеющихся вызовов посылает сигнал на станцию
с вероятностью pn (независимо от всех других). Будем рассматривать
случай невырожденных случайных величин Xn, причем P(X1 > 1) > 0.
Набор вероятностей { pn } естественно назвать "дисциплиной",
или "алгоритмом" обслуживания.
Самый простой вариант - когда вероятности
pn от n не зависят и равны одному
и тому же числу p < 1. Но в этом случае справедлива
Теорема 4.2.При любом выборе числаpсистема без очередей нестабильна!
Следовательно, надо брать числа pn различными.
Сформулируем следующий вопрос: можно ли задать заранее такую
последовательность чисел p1, p2, ј, при которой система
будет работать стабильно? "Заранее" означает, что при выборе этих чисел
не может использоваться никакая информация о состоянии системы.
Делалось много попыток ответить на этот вопрос; опубликован ряд
статей, где показывается, что для различных классов последовательностей
ответ всегда является отрицательным. Однако до сих пор не все
случаи изучены, и вопрос остается открытым.
Допустим теперь, что в каждый момент времени известно общее
число вызовов в системе (пусть Qn - число вызовов в момент n),
и можно использовать знание чисел Q1, Q2, ј, Qn для определения
вероятности pn.
Тогда имеет место следующая
Теорема 4.3.Еслиa < e -1, то существует алгоритм, при котором система
стабильна. Еслиa і e -1, то таких алгоритмов нет.
Здесь e - основание натуральных логарифмов и
e -1 = 1/e .
Доказательство этого утверждения также проводится с использованием
правила насыщения. Предложим алгоритм вида
pn = 1, если Qn = 0 и
pn = 1 / Qn, если Qn > 0.
Пусть в момент n в системе находится Qn = L вызовов, где L
очень велико. Тогда pn = 1/L. Обслуживание будет происходить,
если на станцию поступит ровно один сигнал (т.е. один вызов сигнал
пошлет, а остальные L-1 - нет). Это может происходить в одном из
L случаев, каждый из которых имеет вероятность pn (1-pn)L-1.
Следовательно, вероятность обслуживания равна
L pn(1 - pn)L-1
=
ж з
и
1 -
1L
цL-1 ч
ш
,
и, как доказывается в курсе высшей математики, это число сближается
с e -1 с ростом L. Поэтому при больших L в течение длительного
времени интенсивность обслуживания приблизительно равна e -1, что
должно быть больше интенсивности входа a.
Отметим, что e -1 » 0,37. Как следует из теоремы 4.3,
даже при оптимальном алгоритме сервер вынужден простаивать
приблизительно 63 процента времени.
Различными авторами рассматривались
алгоритмы из более широкого класса (в частности, допускалась
возможность вызову каждый раз при определении вероятности подачи
сигнала учитывать, сколько раз он пытался подать сигнал до этого),
что позволило поднять
границу области стабильности с e -1 до 0,57.