Статья опубликована в рамках: LXXVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 13 мая 2019 г.)
Наука: Технические науки
Секция: Моделирование
Скачать книгу(-и): Сборник статей конференции
дипломов
МОДЕЛЬ СМО G/G/2 С НАЛИЧИЕМ «НЕТЕРПЕЛИВЫХ» ЗАЯВОК В СИСТЕМЕ
В работе созданы и исследованы системы массового обслуживания G/G/2/ (двулинейная система с произвольным распределением входного потока и произвольным распределением времени обслуживания).
Система массового обслуживания (СМО) – динамическая система, которая предназначена для наиболее эффективного обслуживания случайного потока заявок при ограничениях системы [2, с. 31].
Цель работы заключается в разработке, исследовании и модификации моделей СМО с ограниченным временем пребывания заявок в системе ("нетерпелывые" заявки).
Для построения имитационной модели использовалась SimEvents и StateFlow - библиотеки Simulink.
Раннее рассматривались СМО с двумя вариантами дисциплин обслуживания. В данном случае можно заметить, что дисциплина обслуживания имеет влияние на количество обслуженных заявок. Однако при перегруженной системе один обслуживающий прибор обрабатывает только 15% "нетерпеливых" заявок и 93% обыкновенных [1]. Для улучшения качества обслуживания, необходимо было модифицировать схему добавляя дополнительные обслуживающие приборы.
Разработанная модель системы с ограниченным временем ожидания представлена на рисунке 1.
Рисунок 1. Модель СМО
На общей схеме (рисунок 1) присутствуют блоки генерация обычных заявок, генерация нетерпеливых заявок, условия, Сервер 1 и Сервер 2
Чтобы заявка была ограничена по времени ожидания в блоке генерация нетерпеливых заявок задается атрибут Time с помощью блока Set Attribute, который принимает сгенерированную заявку, присваивает ей данные, которые хранятся в атрибутах заявки. Чтобы задать время, через которое заявка будет покидать систему используется блок Attribute Function, который дает возможность изменению атрибутов с помощью MATLAB. Исходной код представлен ниже:
По данному условию вывод нетерпеливых заявок из системы осуществляются по истечению 30 ед. времени. Далее для обозначения начало пути заявки, откуда устанавливается ограничение времени был использован блок Schedule timeout.
Очередь является неограниченной по длине, и работает по принципу FIFO. Заявки, у которых закончилось время ожидания покидают очередь через порт TO. Остальные заявки попадают на обслуживающий прибор через порт OUT.
Если количество обычных заявок в очереди превышает 10, то возникает необходимость включить второй обслуживающий прибор. Данное условие обозначено через блок Chart из библиотеки StateFlow (рисунок 2).
Рисунок 2. Блок Chart
Обслуживающие приборы Single Server одномоментно могут обслуживать лишь одну заявку, каждый. Если в момент обслуживания у заявки заканчивается время ожидания, то она покидает систему с помощью порта ТО. Обслуживание заявок производится по равномерному закону распределения Rand (0; 15). Данные приборы, в первую очередь, обслуживают "нетерпеливые" заявки, и только при условии, если количество "нетерпеливых" заявок в очереди будет равна 0, они начнут обслуживание обычных заявок.
В конце через блок Cancel timeout отменяется событие тайм-аута для объекта и блок Entity Sink завершает время жизни процесса в системе.
Были проведены 3 вида эксперимента, где система находилась
- в недогруженном состоянии (15; 40);
- в загруженном на 80-100 % (7, 5; 20);
- в перегруженном состоянии (4; 10).
Это дает возможность оценить способность системы справляться с входящим потоком заявок.
Обратим внимание как ведет себя очередь при перегруженной системе (рисунок 3).
Рисунок 3. Изменение очереди по времени
Из графика видно что длина очереди "нетерпеливых" заявок не превышает 3. А длина очереди обычных заявок возрастает по времени. Это осуществилось за счет того что приборы сначала обслуживают нетерпеливые заявки, затем обычные.
Для визуальная оценка работы обслуживающих приборов представлена на рисунке 4.
Рисунок 4. Обслуживание нетерпеливых заявок
Из графиков видно что второй прибор начинает обслуживание в 55 момент времени. Это значит в этот момент количество обычных заявок в очереди становится больше 10.
При подключении второго прибора система обработала 88 % обычных заявок и 66 % нетерпеливых заявок. Это значит, что использование дополнительного сервера положительно влияет на качество обслуживания увеличивая общую производительность до 77 %.
Далее можно модифицировать систему добавляя приоритеты [4], и подключая систему динамического повышения приоритета [3].
Список литературы:
- Агзан А.Н., Разработка и исследование моделей СМО с ограниченным временем пребывания заявок в системе. «Ломоносов – 2019»: XV Международная научная конференция студентов, магистрантов и молодых ученых: Тезисы докладов XV Международной научной конференции: в 2-х частях (I часть). – Нур-Султан: Казахстанский филиал МГУ имени М.В.Ломоносова, 2019 – С. 41-43.
- Кацман Ю. Я. Моделирование: Учеб. пособие / Томский политехнический университет. – Томск, 2003. – С. 31-50.
- Кацман Ю.Я., Полянский С.В., Буркатовская Ю.Б. Исследование характеристик СМО, основанной на квантовании. Информационные технологии и математическое моделирование (ИТММ-2017): материалы XVI Международной конференции имени А.Ф. Терпугова (29 сентября – 3 октября 2017 г.). – Томск: изд-во НТЛ, 2017 – С. 199-206.
- Полянский С.В. Управление моделью системы массового обслуживания с использованием динамических приоритетов. Молодежь и современные информационные технологии. Сборник трудов XIV Международной научно-практической конференции студентов, аспирантов и молодых ученых «Молодежь и современные информационные технологии». Томск, 7-11 ноября 2016 г. – 2017 – Томск: Изд-во ТПУ. – Т. 2 – С. 90-91.
дипломов
Оставить комментарий