Записать и запустить на выполнение программу для решения примера 2.
Пример 2.Смоделировать систему, в которой поток входящих требований начинает обслуживаться в одном устройстве и переводится на обслуживание в другое устройство, если первое становится недоступным на какое-то время. Генерация требований происходит по равномерному закону со временем 5±2 мин. Устройства осуществляют обработку требований также по равномерному закону со временем 9±3 мин. Одно из устройств становится недоступным через каждые 33±2 мин. на время 13±2 мин. Определить загрузку каждого из устройств и количество обработанных требований вторым устройством, если в первом устройстве должны быть обслужены 100 требований.
Решение примера 2 приводится как программа 2.
GENERATE 5,2 GATE FNV 1,FACIL2; Проверка 1-го устройства на недоступность FACIL1 SEIZE 1; Устройство №1 ADVANCE 9,3 RELEASE 1 TERMINATE 1 FACIL2 SEIZE 2; Устройство №2 ADVANCE 9,3 RELEASE 2 TERMINATE GENERATE 33,2; Генерация команд недоступности FUNAVAIL 1 ADVANCE 13,2 FAVAIL 1 TERMINATE START 100; Задание числа счетчика завершений |
Программа 2. |
Программа 2 содержит блоки недоступности устройств (FUNAVAIL, FAVAIL) и проверки на недоступность (GATE в режиме FNV).
Формат записи блока FUNAVAIL:
FUNAVAIL 1
В поле <A> блока FUNAVAIL задается номер устройства (номер 1), которое должно стать недоступным. В данном случае остальные поля не задействованы.
Формат записи блока FAVAIL:
FAVAIL 1
В поле <A> блока FAVAIL задается номер устройства, которое должно стать доступным (в программе устройство под номером 1).
|
|
Формат записи блока GATE:
GATE FNV 1,FACIL2
В поле <X> блока GATE зарезервирован логический операнд FNV — устройство, заданное в поле <A> (устройство под номером 1), не доступно. Блок GATE может работать в режиме FV — устройство, заданное в поле <A> доступно. Если логический оператор (FNV или FV) имеет значение "истина", то транзакт пытается перейти к следующему по номеру блоку (в программе к блоку SEIZE). Если логический оператор имеет значение "ложь", то транзакты будут пытаться перейти к блоку, метка которого задана в поле <B> (метка FACIL2). Выбор следующего блока производится один раз в момент входа транзакта в блок GATE.
Пустые поля блоков TERMINATE позволяет не влиять на регистрацию счетчика завершений, который связан с обслуживанием требований в первом устройстве. Кроме того, все задержанные транзакты перед первым устройством отправляются во второе устройства и все они там обслуживаются.
Задание к примеру 1:
— Произвести в программе 1 изменения по недоступности устройства: сделать недоступным 2-е устройство, затем 3-е, затем 4-е. Соответственно изменить перераспределение транзактов блоком FUNAVAIL. При каждом новом распределении транзактов задавать следующие интервалы времени поступления транзактов в систему: 7, 9, 11, 15, 17, 19 мин. Проанализировать и объяснить файл стандартного отчета по каждой новой программе.
|
|
— В программе 2 создать режим моделирования в течение заданного промежутка времени: 3 часа, 5 часов. Проанализировать сколько транзактов за указанное время будет обслужено системой. Для программы 2 изменить логический оператор FNV на FV, сравнить и объяснить результаты моделирования по файлу стандартного отчета.
Записать и запустить на выполнение программу для решения примера 3.
Для моделирования параллельной работы устройств в системе GPSS World вводится понятие многоканального устройства. Такое устройство характеризуется определенной емкостью накопителя поступающей информации на обработку. Емкость накопителя описывается оператором STORAGE. Кроме того, в системе GPSS World существуют блоки для анализа, использования и создания недоступности многоканального устройства. К ним относятся блоки использования накопителя ENTER и LEAVE; доступность и недоступность многоканального устройства осуществляется блоками SUNAVAIL и SAVAIL.
Блок SUNAVAIL переводит многоканальное устройство (а по существу накопитель) в состояние недоступности. Блок SAVAIL переводит заданное многоканальное устройство из состояния недоступности в состояние доступности.
|
|
Пример 3. Пусть входной поток требований поступает в накопитель с допустимой емкостью, равной 3 единицам, равномерно в течение 5±1 мин. Если поступающие требования застают накопитель в состояние недоступности, то они направляются в 1-е устройство, в противном случае поступают на обработку во 2-е устройство. Время обработки для 1-го устройства равно 13±1 мин., для второго — 9±1 мин. Смоделировать процесс обработки 100 требований, если состояние недоступности накопителя происходит через каждые 29±1 мин. в течение 17 мин.
Решение примера 3 приводится как программа 3.
nak STORAGE 3; Накопитель емкостью в 3 единицы ************************************************************* GENERATE 5,1,,100 GATE SNV nak,FACIL2; Анализ доступности накопителя ENTER nak FACIL1 SEIZE 1; 1-е устройство с меткой FACIL1 LEAVE nak ADVANCE 13,1 RELEASE 1 TRANSFER ,EXIT FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2 ADVANCE 9,1 RELEASE 2 EXIT TERMINATE 1 GENERATE 29,1 SUNAVAIL NAK ADVANCE 17 SAVAIL NAK TERMINATE START 100 |
Программа 3. |
В данном примере поступающие в систему требования сначала буферизуются в накопителе емкостью в 3 единицы. Потом, в зависимости доступности или недоступности накопителя, требования направляются в одно из устройств с помощью блока GATE.
|
|
Формат записи блока SUNAVAIL:
SUNAVAIL NAK
В поле <A> блока задается имя накопителя (оператора STORAGE). В программе накопитель под именем NAK становится недоступным.
Формат записи блока SAVAIL:
SAVAIL NAK
Блок SAVAIL переводит накопитель под именем NAK из состояния недоступности в состояние доступности. В поле <A> блока SAVAIL задается имя накопителя, которое переводится в состояние доступности.
Блоки SUNAVAIL и SAVAIL работают совместно.
В данной программе перевод из состояния недоступности в состояние доступности происходит через 17 мин. (в поле <A> блока ADVANCE под номером 520 задано время задержки, равное 17 мин.). В то же время состояние недоступности наступает каждые 29±1 мин. Команды на недоступность генерируются блоком GENERATE.
Формат записи блока GATE в режиме SNV:
GATE SNV nak , FACIL 2
В операционном поле <X> блока GATE задан логический операнд SNV — многоканальное устройство (накопитель) не доступно. В поле <A> определено имя накопителя (в программе nak), состояние которого проверяется. В поле <B> задается альтернативный блок (в программе FACIL2), если логический операнд поля <X> имеет значение "ложь". Если альтернативный блок задан, то блок GATE работает в режиме безусловного входа, т.е. транзакт всегда может войти в блок GATE. При этом если логический операнд имеет значение "истина", то транзакт пытается войти в следующий по номеру блок. Если же операнд имеет значение "ложь", то транзакт пытается войти в альтернативный блок, заданный полем <B> (в программе блок с меткой FACIL2).
Перераспределение требований по устройствам может быть изменено блоком GATE с другим условием в операционном поле <X>.
Приведем программу под номером 4 для решения примера 3, в котором задается условие доступности накопителя. Для этого случая в поле <X> блока GATE установлен логический операнд SV. Изменение режима работы блока GATE отразится на статистике устройств и накопителя.
nak STORAGE 3; Накопитель емкостью в 3 единицы *************************************************************** GENERATE 5,1,,100 GATE SV nak,FACIL2; Анализ доступности накопителя ENTER nak FACIL1 SEIZE 1; 1-е устройство с меткой FACIL1 LEAVE nak ADVANCE 13,1 RELEASE 1 TRANSFER ,EXIT FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2 ADVANCE 9,1 RELEASE 2 EXIT TERMINATE 1 GENERATE 29,1; Команды недоступности SUNAVAIL NAK ADVANCE 17 SAVAIL NAK TERMINATE START 100 |
Программа 4. |
Задание к программам 3 и 4. Видоизменить программы так, чтобы моделирование осуществлялось в течение 5 часов.
В исходных программах изменить емкость накопителя: 2, 4, 5, 6, 7, 8, 9, 10.
В исходных программах команды недоступности генерировать по средним значениям из интервала от 15 до 50 мин.
Запрограммировать ситуацию: если 1-е устройство не доступно, то транзакты должны покидать систему. Система функционирует 5 часов.
Изучить и объяснить файлы стандартных отчетов.
Дата добавления: 2018-09-23; просмотров: 264; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!