ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 2384
Скачиваний: 51
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Задание 1
К компьютеру на обработку поступают 14 заданий (транзактов), интервал поступления заданий распределен по равномерному закону в диапазоне 3-11 мин. Задайте единицу модельного времени – 1 мин.
Напишем код:
generate 7,4,,14 ; генерируем 14 заданий в интервале
queue ochered ; генерируем и запускаем одногоочередь
seize comp; занимаем 1 обслуживающий прибор
depart ochered ; освобождаем очередь
advance 10,9 ; время обработки 1 очереди
release comp; освобождаем 1 обслуживающий прибор
terminate 1
start 14
Из отчета GPSS, показанного на рис. 2, мы получаем следующие результаты запуска модели:
общее время моделирования (START TIME – END TIME) при обработке 14 транзактов составило 144 минуты;
сгенерировано всего 14 транзактов (блок GENERATE, столбец ENTRY COUNT);
обработались и покинули систему 14 транзактов (блок TERMINATE, столбец ENTRY COUNT);
загрузка обслуживающего устройства (ОУ) (строка FACILITY, показатель UTIL.) – 91%;
средняя длина очереди (строка QUEUE, показатель AVE. CONT.) – 1.279 транзакт.
Q-схема:
Вывод:
Так как в среднем в очереди находилось больше одного транзакта, то потенциально очередь могла переполниться.
Задание 2
К компьютеру на обработку в нулевой момент времени поступают 5 заданий с уровнем приоритета равным 25. Подумайте, как проверить?
Напишем к этой задаче следующий код:
generate ,,,5,25 ;
queue ochered ; генерируем и запускаем одногоочередь
seize comp; занимаем 1 обслуживающий прибор
depart ochered ; освобождаем очередь
advance 10,9 ; время обработки 1 очереди
release comp; освобождаем 1 обслуживающий прибор
terminate 1
start 14
Из отчета GPSS, показанного на рис. 3, мы получаем следующие результаты запуска модели:
общее время моделирования (START TIME – END TIME) при обработке 5 транзактов составило 63 минуты;
обработались и покинули систему 5 транзактов (блок TERMINATE, столбец ENTRY COUNT);
загрузка обслуживающего устройства (ОУ) (строка FACILITY, показатель UTIL.) – 100%;
средняя длина очереди (строка QUEUE, показатель AVE. CONT.) – 2.364 транзактов.
Q-схема:
Вывод:
Все задачи поступили одновременно, поэтому ОУ не простаивало.
Задание 3
Задания поступают на обработку к компьютеру каждые 4-14 мин. Первое задание поступает на 20 минуте. Задайте единицу модельного времени – 1 сек.
Напишем код:
generate 540,300,1200;
queue ochered ; генерируем и запускаем одногоочередь
seize comp; занимаем 1 обслуживающий прибор
depart ochered ; освобождаем очередь
advance 600,540 ; время обработки 1 очереди
release comp; освобождаем 1 обслуживающий прибор
terminate 1
start 100
Из отчета GPSS, показанного на рис. 4, мы получаем следующие результаты запуска модели:
общее время моделирования (START TIME – END TIME) при обработке 100 транзактов составило 64890 секунд;
сгенерировано всего 118 транзактов (блок GENERATE, столбец ENTRY COUNT);
обработались и покинули систему 100 транзактов (блок TERMINATE, столбец ENTRY COUNT);
загрузка обслуживающего устройства (ОУ) (строка FACILITY, показатель UTIL.) – 97%;
средняя длина очереди (строка QUEUE, показатель AVE. CONT.) – 11.368 транзактов.
Q-схема:
Вывод:
Скорость поступления транзактов явно выше скорости обработки, вследствие чего очередь переполняется.
Задание 4
Моделирование заканчивается после того, как компьютер обработает 300 заданий, задания должны поступать в модель каждые 1-11 минут. Единицы модельного времени – минуты.
Напишем код:
generate 6,5;
queue ochered ; генерируем и запускаем одногоочередь
seize comp; занимаем 1 обслуживающий прибор
depart ochered ; освобождаем очередь
advance 10,9 ; время обработки 1 очереди
release comp; освобождаем 1 обслуживающий прибор
terminate 1
start 300
Из отчета GPSS, показанного на рис. 5, мы получаем следующие результаты запуска модели:
общее время моделирования (START TIME – END TIME) при обработке 300 транзактов составило 3045 минут;
сгенерировано всего 516 транзактов (блок GENERATE, столбец ENTRY COUNT);
обработались и покинули систему 300 транзактов (блок TERMINATE, столбец ENTRY COUNT);
загрузка обслуживающего устройства (ОУ) (строка FACILITY, показатель UTIL.) – 99%;
средняя длина очереди (строка QUEUE, показатель AVE. CONT.) – 105 транзактов.
65 ожидают обслуживания (блок QUEUE, столбец CURRENT COUNT) – таким образом, при заданных интервалах времени поступления и обработки транзактов образуется очередь;
1 транзакт находится в устройстве (блок SEIZE, столбец CURRENT COUNT)
Q-схема:
Вывод:
Поступления транзактов происходят настолько быстро, что очередь переполняется.
Задание 5
Задайте время моделирования работы системы 8 часов, единица модельного времени – 1 секунда.
Напишем код:
generate 360,300;
queue ochered ; генерируем и запускаем одногоочередь
seize comp; занимаем 1 обслуживающий прибор
depart ochered ; освобождаем очередь
advance 600,540 ; время обработки 1 очереди
release comp; освобождаем 1 обслуживающий прибор
terminate 0
; timer
generate 28800
terminate 1
start 1
27 транзактов ожидают обслуживания (блок QUEUE, столбец CURRENT COUNT) – таким образом, при заданных интервалах времени поступления и обработки заявок образуется очередь;
Q-схема:
Вывод:
За 8 часов очередь полностью заполнилась, система не справилась с обработкой.
Моделирование одноканальных устройств. Блоки SEIZE, RELEASE и ADVANCE
Устройства используются при моделировании систем для имитации работы оборудования единичной емкости, например, процессор, канал передачи данных, человек, компьютер. Устройство в любой момент времени может обрабатывать только одно сообщение (транзакт, заявку). Если в процессе обслуживания появляется новый транзакт, то он должен:
- либо подождать своей очереди;
- либо направиться в другое место;
- либо прервать обслуживание текущего транзакта.
Для использования одноканального устройства транзакту необходимо выполнить следующие шаги:
1) ждать очереди, если необходимо;
2) когда подходит очередь занять устройство;
3) устройство находится в состоянии занятости, пока не закончится обслуживание, для обслуживания необходим некоторый интервал времени;
4) когда обслуживание закончится, освободить устройство.
Второй и четвертый шаги реализуются блоками SEIZE и RELEASE.
Блок SEIZE
SEIZE A
Свободный блок SEIZE позволяет вошедшему в него сообщению занять указанное устройство. Блок SEIZE задерживает сообщение, если устройство занято или находится в состоянии недоступности.
В поле А задается номер (имя) занимаемого устройства.
Сообщение, занявшее устройство, затем пытается перейти к следующему по номеру блоку. Устройство остается занятым до тех пор, пока занимающее его сообщение не войдет в соответствующий блок RELEASE. Прежде чем освободить устройство, сообщение может пройти через неограниченное число блоков.
Блок RELEASE
RELEASE A
Блок RELEASE предназначен для освобождения устройства, в поле А задается номер (имя) освобождаемого устройства.
Транзакты обслуживаются устройствами в течение некоторого промежутка времени. Для моделирования такого обслуживания, т.е. для задержки транзактов на определенный отрезок модельного времени (реализация шага 3), служит блок ADVANCE (задержать), имеющий следующий формат:
Блок ADVANCE
ADVANCE A,B
Операнды в полях A и B имеют тот же смысл, что и в соответствующих полях блока GENERATE. Следует отметить, что транзакты, входящие в блок ADVANCE, переводятся из списка
текущих событий в список будущих событий, а по истечении вычисленного времени задержки возвращаются назад, в список текущих событий, и их продвижение по блок-схеме продолжается. Если вычисленное время задержки равно 0, то транзакт в тот же момент модельного времени переходит в следующий блок, оставаясь в списке текущих событий.
Например:
GENERATE 100,40
SEIZE 1
ADVANCE 80,50
RELEASE 1
…..
Здесь транзакты, поступающие в модель из блока GENERATE через случайные интервалы времени, имеющие равномерное распределение на отрезке [60;140], попадают в блок SEIZE и занимают устройство с номером 1. Далее в блоке ADVANCE определяется случайное время задержки транзакта, имеющее равномерное распределение на отрезке [30;130], и транзакт переводится в список будущих событий. По истечении времени задержки транзакт возвращается в список текущих событий и входит в блок RELEASE и освобождает устройство 1. Заметим, что в списке будущих событий, а значит и в блоке ADVANCE может одновременно находиться произвольное количество транзактов.
В рассмотренных выше примерах случайные интервалы времени подчинялись равномерному закону распределения вероятностей. Для получения случайных величин с другими распределениями в GPSS используются вычислительные объекты: переменные и функции.