Министерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
МОДЕЛИРОВАНИЕ СМО С ПОВТОРНЫМИ ЗАЯВКАМИ
Отчет по лабораторной работе №4
по дисциплине «Моделирование автоматизированных информационных систем»
Выполнил:
Студент гр. 712-2
_______ Береснев С.А.
_______ Болтушкин Л.С.
_______ Перов И.А.
_______2026
Руководитель
Преподаватель кафедры КИБЭВС
_______ Прозорова Е.А.
_______2026
Введение
Целью данной работы является исследование системы массового обслуживания (СМО) М/М/1/0 (система Эрланга) с повторными (в т.ч. «настойчивыми») заявками: построить имитационную модель системы и получить значения параметров ее функционирования. Изучить способы получения усредненных значений параметров системы в ходе имитационного моделирования. Проверить основные теоретические формулы.
Теоретические сведения
Система массового обслуживания (СМО) представляет собой модель, которая используется для анализа и оптимизации процессов обслуживания клиентов или заявок в различных областях, таких как телекоммуникации, производство, обслуживание клиентов и др.
M/M/1 (или M/M/1/∞) – СМО с пуассоновским входным потоком, экспоненциально распределенным временем обслуживания, с одним сервером и бесконечной очередью. Дисциплина обслуживания FCFS.
FCFS (first come, first served) – обслуживания заявок в порядке поступления. СМО М/М/1 является одной из самых простых и хорошо изученных моделей СМО и характеризуется следующими параметрами:
М – обозначает случайный (пуассоновский) процесс поступления заявок в систему;
М – также обозначает случайный (пуассоновский) процесс обслуживания заявок;
1 – указывает на наличие одного сервера (обслуживающего устройства) в системе.
Интенсивность поступления заявок (λ) представляет собой среднее количество заявок, поступающих в систему за единицу времени. В данной модели она определяется параметром MTBA (Mean Time Between Arrivals), который представляет собой среднее время между поступлениями заявок. Интенсивность поступления заявок можно вычислить как λ = 1 / MTBA.
Интенсивность обслуживания (μ) представляет собой среднее количество заявок, обслуживаемых сервером за единицу времени. В данной модели она определяется параметром MST (Mean Service Time), который представляет собой среднее время обслуживания одной заявки. Интенсивность обслуживания можно вычислить как μ = 1 / MST.
Ход работы
Модель системы m/m/1/0
Первым этапом необходимо cобрать модель, соответствующую системе массового обслуживания (СМО) М/М/1/0 с настойчивыми заявками (рисунок 2.1).
Рисунок 2.1 – Модель, соответствующая СМО М/М/1/0 с ограниченным временем ожидания
Далее в меню Run/Setup/Replication Parameters необходимо установить длительность одного запуска (репликации) Trep в соответствии с вариантом. Число запусков – Nrep (рисунок 2.2).
Рисунок 2.2 – Параметры «Replication Parameters» для модели M/M/1/0
Далее для блока «Create 1» в соответствии с вариантом требуется задать время между поступлениями заявок и время поступления первой заявки как экспоненциально распределенную случайную величину со средним значением равным MTBA (рисунок 2.3).
Рисунок 2.3 – Параметры блока «Create 1» для модели М/М/1/0
В блоке «Process 1» требуется создать ресурс, для которого время обслуживания заявки будет представлять собой экспоненциально распределенную случайную величину со средним значением MST≈5/9*MTBA (MST ≈ 55,556) (рисунок 2.4).
Рисунок 2.4 – Параметры блока «Process 1» для модели М/М/1/0
Для заявок, получивших отказ в обслуживании, задаем атрибут, содержащий время до следующей попытки обращения к серверу. Время до следующей попытки (Mean Retry Time) распределено экспоненциально со средним значением MRT=MTBA+MST (MRT = 156) (рисунок 2.5).
Рисунок 2.5 – Параметры блока «Attribute Assignments» для модели М/М/1/0
Формулы, необходимые для дальнейшей работы представлены в приложении А.
Зафиксировав значения MST и MRT, проводим моделирование работы СМО, изменяя значение MTBA в пределах 0,8-1,2. По завершении моделирования сводим в таблицу № 2.1 следующие показатели (рисунки 2.6-2.8):
среднее число заявок на орбите;
среднее время пребывания на орбите;
долю заявок, занявших сервер с первой попытки;
загрузку сервера;
среднее количество попыток обращения к серверу.
Рисунок 2.6 – Среднее время обслуживания, доля заявок, занявших сервер с первой попытки
Рисунок 2.7 – Среднее число заявок на орбите, средняя загруженность сервера
Рисунок 2.8 – Доля заявок, занявших сервер с первой попытки
Таблица 2.1 – Сравнение полученных величин
Nrep=4, Trep=110 |
k |
MTBA, сек |
|
|
w |
wтеор |
Pw=0, % |
Pw=0, теор. % |
|
Nretry |
MST=56 MRT=156 |
0,8
|
80 |
6,188 |
6,183 |
496,177 |
494,667 |
0,3 |
0,3 |
0,69 |
3,17 |
0,9 |
90 |
3,99 |
3,88 |
357,458 |
349,176 |
0,372 |
0,378 |
0,63 |
2,27 |
|
1 |
100 |
2,85 |
2,698 |
282,226 |
269,818 |
0,426 |
0,44 |
0,57 |
1,81 |
|
1,1 |
110 |
2,06 |
1,999 |
224,088 |
219,852 |
0,485 |
0,491 |
0,52 |
1,44 |
|
1,2 |
120 |
1,51 |
1,546 |
179,654 |
185,5 |
0,539 |
0,533 |
0,47 |
1,16 |
Далее необходимо построить графики зависимости указанных величин от интенсивности поступления заявок (рисунки 2.9-2.13).
Рисунок 2.9 – График зависимости среднего числа заявок на орбите от интенсивности поступления заявок
Рисунок 2.10 – График зависимости среднего времени пребывания на орбите от интенсивности поступления заявок
Рисунок 2.11 – График зависимости доли заявок, занявших сервер с первой попытки от интенсивности поступления заявок
Рисунок 2.12 – График зависимости загруженности сервера от интенсивности поступления заявок
Рисунок 2.13 – График зависимости среднего количества попыток обращения к серверу от интенсивности поступления заявок
Среднее число заявок на орбите (Q) – увеличивается, среднее время пребывания на орбите (w) – увеличивается, загрузка сервера (n) –увеличивается, среднее количество попыток обращения к серверу (Nretry) –увеличивается, доля заявок, занявших сервер с первой попытки (Pw=0) –уменьшается.
Далее построим гистограммы числа попыток обращения к серверу для двух различных значений варьируемой любой величины (MTBA, MST или MRT).
MTBA = 100, MST = 56, MRT = 156, Trep = 220.
Рисунок 2.14 – Первый эксперимент
MTBA = 150, MST = 56, MRT = 156, Trep = 220.
Рисунок 2.15 – Второй эксперимент
Зафиксировав значения MTBA и MRT, проводим моделирование работы СМО, изменяя значение MST в пределах 0.8-1.2 (рисунок 1.14). По завершении моделирования свести в таблицу № 2.2 следующие показатели:
– среднее число заявок на орбите;
– среднее время пребывания на орбите;
– долю заявок, занявших сервер с первой попытки;
– загрузку сервера;
– среднее количество попыток обращения к серверу.
Рисунок 2.15 – Блок «Process 1»
Таблица 2.2 – Сравнение полученных величин
Nrep=4, Trep=110 |
k |
MTBA, сек |
|
|
w |
wтеор |
Pw=0, % |
Pw=0, теор. % |
|
Nretry |
MST=56 MRT=156 |
0,8
|
44,8 |
1,650 |
1,630 |
161,519 |
162,968 |
0,552 |
0,522 |
0,451 |
1,029 |
0,9 |
50,4 |
2,066 |
2,097 |
206,214 |
209,729 |
0,496 |
0,496 |
0,505 |
1,337 |
|
1 |
56 |
2,853 |
2,698 |
282,260 |
269,818 |
0,426 |
0,440 |
0,570 |
1,807 |
|
1,1 |
61,6 |
3,268 |
3,491 |
330,844 |
349,067 |
0,400 |
0,384 |
0,606 |
2,141 |
|
1,2 |
67,2 |
4,388 |
4,573 |
442,398 |
457,288 |
0,328 |
0,328 |
0,669 |
2,846 |
Построим графики зависимости указанных величин от MST (рисунки 2.17 – 2.21).
Рисунок 2.17 – График зависимости среднего числа заявок на орбите от интенсивности поступления заявок
Рисунок 2.18 – График зависимости среднего времени пребывания на орбите от интенсивности поступления заявок
Рисунок 2.19 – График зависимости доли заявок, занявших сервер с первой попытки от интенсивности поступления заявок
Рисунок 2.20 – График зависимости загруженности сервера от интенсивности поступления заявок
Рисунок 2.21 – График зависимости среднего количества попыток обращения к серверу от интенсивности поступления заявок
Среднее число заявок на орбите (Q) – уменьшается, среднее время пребывания на орбите (w) – уменьшается, среднее количество попыток обращения к серверу (Nretry) – уменьшается, загруженность сервера (n) –уменьшается, доля заявок, занявших сервер с первой попытки (Pw=0) –увеличивается.
Далее построим гистограммы числа попыток обращения к серверу для двух различных значений варьируемой любой величины (MTBA, MST или MRT).
MTBA = 100, MST = 56, MRT = 156, Trep = 220.
Рисунок 2.22 – Первый эксперимент
MTBA = 100, MST = 90, MRT = 156, Trep = 220.
Рисунок 2.23 – Второй эксперимент
Зафиксировав значения MTBA и MRT, проводим моделирование работы СМО, изменяя значение MRT в пределах 0.5-1.5 (рисунок 1.24). По завершении моделирования свести в таблицу № 2.3 следующие показатели:
– среднее число заявок на орбите;
– среднее время пребывания на орбите;
– долю заявок, занявших сервер с первой попытки;
– загрузку сервера;
– среднее количество попыток обращения к серверу.
Рисунок 2.24 – Блок «Assign Attribute 2»
Таблица 2.3 – Сравнение полученных величин
Nrep=4, Trep=110 |
k |
MRT, сек |
|
|
w |
wтеор |
Pw=0, % |
Pw=0, теор. % |
|
Nretry |
MTBA=100 MST=56 |
0,5
|
78 |
1,668 |
1,705 |
165,757 |
170,545 |
0,44 |
0,44 |
0,564 |
2,106 |
0,7 |
109,2 |
2,079 |
2,103 |
206,116 |
210,255 |
0,44 |
0,44 |
0,56 |
1,882 |
|
0,9 |
140,4 |
2,5 |
2,5 |
245,036 |
249,964 |
0,44 |
0,44 |
0,561 |
1,74 |
|
1 |
156 |
2,853 |
2,698 |
282,226 |
269,818 |
0,43 |
0,44 |
0,57 |
1,807 |
|
1,2 |
187,2 |
3,209 |
3,095 |
316,032 |
309,527 |
0,43 |
0,44 |
0,567 |
1,68 |
|
1,3 |
202,8 |
3,27 |
3,294 |
325,442 |
329,382 |
0,44 |
0,44 |
0,554 |
1,61 |
|
1,5 |
234 |
3,448 |
3,691 |
346,079 |
369,091 |
0,46 |
0,44 |
0,552 |
1,484 |
Построим графики зависимости указанных величин от параметра гамма (рисунки 2.25 – 2.29).
Рисунок 2.25 – График зависимости среднего числа заявок на орбите от параметра гамма
Рисунок 2.26 – График зависимости среднего времени пребывания на орбите от параметра гамма
Рисунок 2.27 – График зависимости доли заявок, занявших сервер с первой попытки от параметра гамма
Рисунок 2.28 – График зависимости загруженности сервера от параметра гамма
Рисунок 2.29 – График зависимости среднего количества попыток обращения к серверу от параметра гамма
Среднее число заявок на орбите (Q) – уменьшается, среднее время пребывания на орбите (w) – уменьшается, среднее количество попыток обращения к серверу (Nretry) – увеличивается, загруженность сервера (n) –увеличивается, доля заявок, занявших сервер с первой попытки (Pw=0) –стремится к константе при увеличение удачных попыток.
Далее построим гистограммы числа попыток обращения к серверу для двух различных значений варьируемой любой величины (MTBA, MST или MRT).
MTBA = 100, MST = 56, MRT = 156, Trep = 220.
Рисунок 2.30 – Первый эксперимент
MTBA = 100, MST = 56, MRT = 234, Trep = 220.
Рисунок 2.31 – Второй эксперимент
