Файл: Моделирование систем в среде gpss world.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 2379

Скачиваний: 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 используются вычислительные объекты: переменные и функции.