Модель системы m/m/1/0 с повторными заявками
Первым этапом необходимо cобрать модель, соответствующую системе массового обслуживания (СМО) М/М/1/0 с настойчивыми заявками (рисунок 2.1).
Рисунок 2.32 – Модель, соответствующая СМО М/М/1/0 с повторными заявками
В меню Run/Setup/Replication Parameters устанавливаем длительность одного запуска (репликации) Trep (Trep = 110) и число запусков Nrep (Nrep = 4) (рисунок 2.33).
Рисунок 2.33 – Настройки времени моделирования
Для блока «Create» задаем время между поступлениями заявок и время поступления первой заявки как экспоненциально распределенную случайную величину со средним значением равным MTBA (MTBA = 100).
Рисунок 2.34 – Параметры блока Create 1
В блоке Process создаем ресурс, для которого время обслуживания заявки будет представлять собой экспоненциально распределенную случайную величину со средним значением MST≈2/3*MTBA (MST= 66,667).
Рисунок 2.35 – Параметры блока Process 1
Для заявок, получивших отказ в обслуживании, задаем атрибут, содержащий время до следующей попытки обращения к серверу. Среднее время до повторного обращения принять равным MRT=MTBA+MST (MRT = 167).
Рисунок 2.36 – Параметры блока Attribute Assignments 2
Проводим серию экспериментов, меняя вероятность ухода из системы в пределах 0.1-0.9 (рисунок 2.37). По завершении моделирования сводим в таблицу № 2.4 следующие показатели:
– среднее число заявок на орбите;
– загрузку сервера;
– долю заявок, занявших сервер с первой попытки;
– общий процент не обслуженных (потерянных) заявок.
Рисунок 2.37 – Параметры блока Decide 2
Рисунок 2.38 – Экспериментальные данные
Таблица 2.4 – Сравнение полученных величин
Nrep=4, Trep=110 |
q |
|
|
|
|
|
|
Pw=0, % |
Pw=0, теор. % |
MTBA=100 MST=67 MRT=167 |
0,1
|
2,212 |
2,175 |
0,145 |
0,145 |
0,576 |
0,573 |
0,494 |
0,499 |
0,3 |
1,033 |
1,005 |
0,259 |
0,258 |
0,5 |
0,497 |
0,675 |
0,677 |
|
0,5 |
0,549 |
0,532 |
0,321 |
0,318 |
0,463 |
0,457 |
0,794 |
0,797 |
|
0,7 |
0,271 |
0,257 |
0,358 |
0,359 |
0,436 |
0,429 |
0,89 |
0,89 |
|
0,9 |
0,072 |
0,072 |
0,391 |
0,389 |
0,413 |
0,409 |
0,969 |
0,966 |
Рисунок 2.39 – График зависимости среднего числа заявок на орбите от вероятности ухода заявки из системы
Рисунок 2.40 – График зависимости потерянных заявок от вероятности ухода заявки из системы
Рисунок 2.41 – График зависимости загруженности сервера от вероятности ухода заявки из системы
Рисунок 2.42 – График зависимости доли заявок, занявших сервер с первой попытки от вероятности ухода заявки из системы
Следующим этапом сводим в таблицу № 2.5 следующие значения:
– среднее количество попыток обращения повторных заявок к серверу (по обслуженным заявкам);
– среднее количество попыток обращения повторных заявок к серверу (по потерянным заявкам);
– среднее время пребывания заявки в системе (по обслуженным заявкам);
– среднее время пребывания заявки в системе (по потерянным заявкам).
Рисунок 2.43 – Экспериментальные данные
Таблица 2.5 – Полученные значения в ходе экспериментов
Nrep=4, Trep=110 |
MRT, сек |
q |
Обслуженные заявки |
Потерянные заявки |
Экспериментальные значения |
|||||
Nrery' |
|
Nrery'' |
пот, сек |
обс, сек |
пот,сек |
|||||
MTBA=100 MST=67 |
167 |
0,1 |
1,2845 |
286,5834 |
1,576 |
249,0365 |
281,511 |
263,192 |
||
167 |
0,3 |
0,5671 |
166,3912 |
0,7412 |
112,5108 |
161,706 |
123,78 |
|||
167 |
0,5 |
0,2839 |
118,5908 |
0,3877 |
55,5374 |
114,411 |
64,746 |
|||
167 |
0,7 |
0,127 |
91,7173 |
0,1842 |
27,6351 |
88,209 |
30,761 |
|||
167 |
0,9 |
0,032 |
73,9311 |
0,034 |
7,4776 |
72,344 |
5,678 |
|||
Построим в Arene гистограммы (для обслуженных и для потерянных заявок) среднего числа попыток обращения к серверу для двух различных значений любой варьируемой величины, используя одну репликацию двукратной длины.
MTBA = 100, MST = 67, MRT = 200, q = 10, Trep = 220
Рисунок 2.44 – Обслуженные заявки
Рисунок 2.45 – Потерянные заявки
Зафиксировав значения MTBA и MST и приняв вероятность ухода из системы равной 0.33, проводим моделирование работы СМО, изменяя значение MRT в пределах 0.5 – 1.5. По завершении моделирования сводим в таблицу № 2.6 следующие показатели:
– среднее число заявок на орбите;
– загрузку сервера;
– долю заявок, занявших сервер с первой попытки;
– общий процент не обслуженных (потерянных) заявок.
Рисунок 2.46– Блок Decide 2
Рисунок 2.47 – Блок Attribute Assignments 2
Таблица № 2.6 – Сравнение полученных величин
Nrep=4, Trep=110 |
MRT, сек |
|
теор |
, % |
теор % |
|
теор |
Pw=0, % |
Pw=0, теор. % |
k |
MTBA=100 MST=67 q=0,33 |
83,5 |
0,48 |
0,48 |
0,278 |
0,283 |
0,48 |
0,48 |
0,721 |
0,725 |
0,5 |
133,6 |
0,772 |
0.74 |
0,278 |
0.273 |
0,497 |
0,487 |
0,7 |
0,705 |
0,8 |
|
183,7 |
1,017 |
0,998 |
0,261 |
0,267 |
0,491 |
0,491 |
0,692 |
0,695 |
1,1 |
|
217,1 |
1,131 |
1,168 |
0,262 |
0,265 |
0,492 |
0,492 |
0,699 |
0,691 |
1,3 |
|
250,5 |
1,35 |
1,339 |
0,262 |
0,263 |
0,496 |
0,494 |
0,687 |
0,687 |
1,5 |
Построить графики зависимости указанных величин от параметра гамма (рисунки 2.48 – 2.51).
Рисунок 2.48 – График зависимости среднего размера очереди от от параметра гамма
Рисунок
2.49 – График зависимости потерянных
заявок от от параметра
Рисунок 2.50 – График зависимости загруженности сервера от от параметра
Рисунок 2.51 – График зависимости доли заявок, занявших сервер с первой
попытки от от параметра гамма
Далее проверим формулы (Таблица № 2.6).
retry
с помощью интенсивности обслуживания, интенсивности повторных попыток заявок и среднего количества повторений у обслуженных заявок, мы можем найти среднее время нахождения обслуженных заявок в системе.
retry
с помощью интенсивности обслуживания и среднего количества повторений у покинутых систему заявок, мы можем найти среднее время нахождения «недождавшихся» заявок в системе.

,
%
%
обс,
сек