docs / Metodichka_GPSS
.pdfTWO2 SAVEVALUE 2-,FN$DIFF,XB DDD3 ASSIGN 1,X2B,PB
IF X2>60,ACCID1
IF X2<30,ACCID2 - передача управления по ACCID1 и ACCID2 в
случае экстремальной ситуации
QUEUE PROC
SEIZE PROC DEPART PROC ADVANCE 10,3 IF P1B=40,DDD4 IF P1B>40,BBB2
SAVEVALUE 2+,3,XB GOTO DDD4
BBB2 SAVEVALUE 2-,3,XB DDD4 RELEASE PROC
GOTO QQQ ACCID1 PREEMPT PROC
ADVANCE 15,1 SAVEVALUE 2-,10,XB RETURN PROC GOTO QQQ
ACCID2 PREEMPT PROC
ADVANCE 16,2 SAVEVALUE 2+,7,XB RETURN PROC
QQQ TERMINATE 1
START 200 END
15. SELECT X A,B,C,D
Среди стандартных атрибутов модели с групповым именем D, номер которого лежит в интервале от B до C, ищется наименьшее (X=MIN) и наибольшее (X=MAX), и номер этого атрибута записывается в параметр транзакта с номером, заданным в A.
Пример:
SELECT MIN 1,1,6,Q
Среди очередей с номерами от 1 до 6 ищется та очередь, которая имеет наименьшее текущее содержимое.
16. TABULATE A
В таблицу с именем A записывается значение указанной в ней переменной модели. Таблица должна описываться картой TABLE.
A TABLE B,C,D,E
23
A- имя таблицы,
B- имя аргумента,
C- левая граница,
D- ширина интервала,
E- количество интервалов.
5.ВЫХОДНЫЕ ДАННЫЕ. ЗНАЧЕНИЯ ВЫХОДНЫХ ПАРАМЕТРОВ
По завершении моделирования интерпретатор GPSS автоматически распечатывает некоторое количество информации о поведении модели. Эта информация включает статистические данные по каждому из элементов, используемых в модели, т.е. по каждому из приборов, очередей и т.д. Для того чтобы иметь представление о работе модели на основании результатов моделирования, ниже приведено описание всех выходных параметров.
1.Относительное время и абсолютное время - момент модельного времени, в котором завершено моделирование.
2.Прибор (словарь символов для приборов) - здесь указывается перечень приборов. В перечне представлены все символические имена приборов, используемые в модели.
3.Очередь (словарь символов для очередей).
4.Средняя нагрузка - время, в течение которого прибор был занят.
5.Число входов - число обслуживаний.
6.Среднее время/тран - среднее время интервала обслуживания.
7.Номер обслуживаемого транзакта - транзакт с таким-то номером находится на обслуживании в таком-то приборе в момент завершения моделирования.
8.Номер захватившего транзакта - номер транзакта, который захватил прибор при завершении моделирования.
9.Максимальное содержимое - наибольшее значение содержимого очереди, зарегистрированное в течение моделирования.
10.Среднее содержимое - среднее значение содержимого очереди.
11.Общее число входов - общее число элементов содержимого, вошедших в очередь.
12.Нулевые входы - общее число входов в очередь без последующего ожидания.
13.Среднее время/тран - среднее время, проведенное в очереди с учетом нулевых входов.
14.$среднее время/транз - среднее время нахождения в очереди на один нулевой вход.
15.Имя таблицы - имя таблицы, в которой представлено распределение времени ожидания для этой очереди.
16.Текущее содержимое - текущее значение содержимого очереди. Выходные данные многоканальных устройств:
24
1.Многоканальное устройство - словарь символов для многоканальных устройств.
2.Емкость - максимальная емкость.
3.Средняя нагрузка - время, в течение которого прибор был занят.
4.Входы - общее число занятий приборов.
5.Среднее время/тран - среднее время интервала обслуживания.
6.Максимальное содержимое - максимальное число занятий прибора.
7.Среднее содержимое - среднее число занятий прибора.
8.Текущее содержимое - занятая емкость на момент завершения.
Примечание.
Часто в ходе работы с GPSS возникает необходимость помещать выходные данные в файл. Сделать это можно двумя способами:
1.Указать в командной строке путь к файлу, в который нужно сбросить информацию. Например, команда gpssr.exe > stat.txt позволяет поместить выходную статистику в файл stat.txt.
2.Запустить файл popt.com. Программа запрашивает имя файла, в который нужно поместить информацию. Затем, когда транслятор GPSS будет выдавать статистику, необходимо нажать Shift+PrtSc.
Выходная статистика по примеру 6:
Устройство |
средняя загрузка |
число входов |
среднее время/транз. |
||
PROC |
.80 |
|
99 |
|
8.0 |
Очередь |
max |
среднее |
всего |
ноль |
% нулей |
|
значение |
значение |
входов |
входов |
|
PROC |
3 |
1.20 |
99 |
10 |
10.10 |
среднее время/транз. |
$среднее время/транз. |
текущее |
|
||
4.87 |
|
4.90 |
|
3 |
Содержимое SAVEVALUE: A1= 17.00
A2= 8.00
6. ЗАПУСК ИНТЕРПРЕТАТОРА GPSS
Для запуска программы на языке GPSS необходимо запустить файл GPSS.EXE и указать интерпретатору имя файла, в котором находится листинг программы, находящийся в этом же каталоге. Файл с программой можно создать в любом текстовом редакторе, но он должен быть сохранен в формате «текст DOS». Или для его создания можно воспользоваться средствами среды DOS. Для этого необходимо в среде MS-DOS (например, сеанс MS-DOS в
25
WINDOWS’е) запустить следующую строку: copy con имя файла,
после чего можно набивать текст программы. Для завершения наполнения и сохранения файла необходимо нажать клавиши Ctrl + z.
7. ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ 7.1. Лабораторная работа № 1
Задание 1
На ЭВМ поступает поток заявок, подчиненный равномерному закону. Обработка также подчинена равномерному закону. Описать процесс программой на GPSSV.
Проанализировать все статистические параметры для своего варианта (табл.3). Составить план эксперимента и исследовать поведение модели СМО, меняя различные параметры.
|
|
|
|
|
Таблица 3 |
Вариант |
Поступ- |
Обработ- |
Вариант |
Поступ- |
Обработ- |
|
ление |
ка заявки |
|
ление |
ка заявки |
|
заявки |
|
|
заявки |
|
1 |
15±3 |
13±3 |
11 |
25±3 |
23±3 |
2 |
23±3 |
26±3 |
12 |
12±2 |
26±4 |
3 |
16±2 |
14±2 |
13 |
18±2 |
14±3 |
4 |
21±2 |
25±2 |
14 |
20±2 |
27±2 |
5 |
5±1 |
3±2 |
15 |
6±1 |
3±1 |
6 |
4±2 |
6±1 |
16 |
3±2 |
7±1 |
7 |
8±1 |
5±2 |
17 |
9±1 |
6±2 |
8 |
10±2 |
14±1 |
18 |
12±2 |
14±2 |
9 |
11±4 |
15±2 |
19 |
10±4 |
16±2 |
10 |
12±1 |
8±3 |
20 |
11±1 |
7±3 |
Задание 2
Создать программу, моделирующую процесс прохождения заявок через прибор. Поступление заявок подчиняется равномерному закону с интервалом X плюс/минус У мин, обработка – экспоненциальному (см. приложение). Если у прибора нет возможности принять заявку, она становится в очередь OR.
Проанализировать характеристики СМО для своего варианта (табл.4). Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
26
|
|
|
|
|
Таблица 4 |
Вариант |
Поступ- |
Обработ- |
Вариант |
Поступ- |
Обработ- |
|
ление |
ка заявки |
|
ление |
ка заявки |
|
заявки |
|
|
заявки |
|
1 |
5±1 |
13±ех |
11 |
6±1 |
10±ех |
2 |
8±1 |
26± ех |
12 |
7±1 |
25± ех |
3 |
21±2 |
14± ех |
13 |
20±2 |
12± ех |
4 |
16±2 |
25± ех |
14 |
18±2 |
26± ех |
5 |
15±3 |
3± ех |
15 |
14±3 |
2± ех |
6 |
11±4 |
6± ех |
16 |
10±2 |
5± ех |
7 |
23±3 |
5± ех |
17 |
22±3 |
6± ех |
8 |
12±1 |
14± ех |
18 |
13±1 |
15± ех |
9 |
4±2 |
15± ех |
19 |
3±2 |
12± ех |
10 |
10±2 |
8± ех |
20 |
11±2 |
9± ех |
Задание 3
Рассматривается система с потерями. Число мест в очереди ограничено Z. В случае, если все Z мест в очереди заняты, заявка теряется. Поступление заявок подчинено экспоненциальному закону (см. приложение), обработка - равномерному закону.
Меняя Z, смоделировать систему без потерь. Проанализировать характеристики СМО для своего варианта (табл.5). Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
|
|
|
|
|
|
|
|
Таблица 5 |
|
Ва- |
Поступ- |
Обра- |
Коли- |
Ва- |
Поступ- |
Обра- |
|
Коли- |
|
ри- |
ление |
ботка |
чество |
|
ри- |
ление |
ботка |
|
чество |
ант |
заявки |
заявки |
мест |
|
ант |
заявки |
заявки |
|
мест |
1 |
18±ех |
5±1 |
2 |
|
11 |
28±ех |
5±1 |
|
1 |
2 |
21± ех |
8±1 |
3 |
|
12 |
11± ех |
7±1 |
|
5 |
3 |
17± ех |
21±2 |
4 |
|
13 |
15± ех |
21±3 |
|
4 |
4 |
22± ех |
16±2 |
5 |
|
14 |
32± ех |
16±2 |
|
3 |
5 |
3± ех |
15±3 |
3 |
|
15 |
4± ех |
19±3 |
|
5 |
6 |
6± ех |
11±4 |
4 |
|
16 |
5± ех |
15±4 |
|
4 |
7 |
12± ех |
23±3 |
5 |
|
17 |
13± ех |
28±3 |
|
2 |
8 |
19± ех |
12±1 |
6 |
|
18 |
29± ех |
12±2 |
|
6 |
9 |
11± ех |
4±2 |
5 |
|
19 |
21± ех |
5±1 |
|
5 |
10 |
5± ех |
10±2 |
4 |
|
20 |
6± ех |
12±2 |
|
3 |
|
|
|
|
27 |
|
|
|
|
7.2. Лабораторная работа №2 Задание 1
В вычислительный зал с интервалом времени 10±5 мин заходят пользователи, желающие произвести расчеты на ЭВМ. В зале имеется 8 ЭВМ, к одной ЭВМ подключен принтер. Время, необходимое для решения задачи и вывода результатов на печать, составляет 15±5 мин. Вывод результатов на печать на мешает проведению расчетов, время печати составляет 3±2 мин. В зал не допускается более 10 студентов. Смоделировать процесс обслуживания 100 пользователей. Подсчитать число пользователей, не нашедших свободного места в очереди. Определить среднее число пользователей в очереди, а также коэффициенты загрузки всех ЭВМ и принтера.
Задание 2
Моделирование вычислительной системы ВС конвейерного типа (рис.5). Данная система состоит из трех процессоров и оперативной памяти. Операнды проходят последовательную обработку в процессорах под воздействием команд, причем для некоторых процессоров существуют так называемые "пустые" команды. Список условных кодов команд с их временными характеристиками приведен в табл.6.
Программа для первого процессора PR1 записана в карте функции KOMM1. Здесь аргументами функции являются значения времени, в которые должна выполняться та или иная команда, а в результате будет выдаваться код команды. Для второго и третьего процессоров существуют функции KOMM2 и KOMM3 соответственно. Функция TIME1 описывает среднее время выполнения команд, а TIME2половину поля равномерного распределения команд. Переменная CI содержит номер выполняемой
команды в программе. |
|
|
1 |
2 |
3 |
операнды
команды ырезультат
ОП
Рис.5. Вычислительная система конвейерного типа
28
Таблица 6
Код команды |
Время задержки |
0 |
1±0 |
1 |
3±2 |
2 |
4±1 |
3 |
4±1 |
4 |
3±1 |
Промоделировать систему без потерь. Проанализировать характеристики СМО. Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
Задание 3
Пусть существует система обработки и хранения информации (рис.6). Эта система состоит из центрального процессора с ограниченным набором обрабатываемой информации и вспомогательной шины, состоящей из двух параллельно работающих процессоров, которые подключаются при загрузке главного процессора. Вся обработанная информация поступает на устройство накопления информации.
П1 |
|
УУ |
ЦП1 |
|
1 2 …n |
|
БХИ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П2
ВЦП 2.1
П3 |
|
|
|
ВЦП 2.2 |
|
|
|
|
|
|
|
Рис.6. Система обработки и хранения информации
П1, П2, П3 - пользователи системы "библиотека"; УУ - устройство управления, управляет работой ЦП1,ВЦП2;
ЦП1 - центральный процессор с ограниченным набором обрабатываемой информации.
ВЦП2 - вспомогательный процессор, состоящий из двух процессоров с большим быстродействием;
29
УСИ - устройство сбора информации; перед входом в БХИ информация накапливается в УСИ;
БХИ - блок хранения информации; вся обрабатываемая информация поступает на хранение в этот блок.
Промоделировать систему без потерь. Проанализировать характеристики СМО. Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
Задание 4
Вычислительная система содержит: 3 терминала, 2 буферных накопителя, 2 ЭВМ (рис.7).
Пользователи приходят через интервалы времени 10±2 мин. Если все три имеющихся терминала заняты, пользователю отказывают в обслуживании. Терминалы могут обеспечить обслуживание средней программы пользователя за 20±5, 40±10 и 40±20 мин соответственно номерам терминалов. Полученные программы сдаются в буферные накопители, откуда выбираются на обработку на первую ЭВМ - программы с 1-го и 2-го терминалов, на 2-ю ЭВМ - программы с 3-го терминала. Времена обработки программ на 1-й и 2-й ЭВМ равны 15 и 30 соответственно.
пользователи
|
|
|
Приемные |
|
||
Терми- |
|
|
накопители |
|
||
нал №1 |
|
|
|
|
|
|
|
|
|
№1 |
|
ЭВМ 1 |
|
|
||||||
|
|
|
|
|
|
|
Терми- |
|
|
|
|
|
|
нал №2 |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
№2 |
|
ЭВМ 2 |
|
Терми- |
||||||
|
|
|
|
|
||
нал №3 |
|
|
|
|
|
|
|
|
|
|
|
|
результаты
Рис.7. Вычислительная система массового обслуживания
Промоделировать систему без потерь. Проанализировать характеристики СМО. Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
30
Задание 5
В процессор Пр поступают заявки от внешнего устройства ВУ1, при этом заполняется ОЗУ и процессор работает. Если в ОЗУ остается свободное место, то еще поступают заявки от ВУ2, иначе процессор работает с одной заявкой (рис.8). Если от ВУ поступила заявка больше 640 кб, то она не обслуживается, т.е. происходит переполнение ОЗУ.
Кл |
|
|
|
|
Пр |
|
|
ОЗУ |
||
|
|
|
|
|
|
|
|
|
|
640К |
|
|
|
|
|
|
|
|
|
|
|
ВУ1 ВУ2
Рис.8. Вычислительная система
Промоделировать систему без потерь. Проанализировать характеристики СМО. Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
Задание 6
В состав двухпроцессорной системы входят: два процессора под символическими именами PR1 и PR2 и оперативная память (рис.9).
Z1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PR1 |
|
|
PR1 |
|
||
Z2 |
|
|
Процессор1 |
|
|
Процессор2 |
|
||
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ОР Оперативная память
Рис.9. Двухпроцессорная система
31
Система обрабатывает поток заявок Z1 и Z2, поступающих в систему по равномерному закону с интервалами 4±2 и 25±2 соответственно. Поток заявок Z2 обрабатывается только на PR1 и придерживает обработку заявок потока Z1, после чего прерванная заявка дообслуживается. Обслуживание заявок потока Z1 происходит по условию: если очередь PR2 > PR1, то обслуживание происходит на PR1, иначе на PR2. После обработки на процессорах заявка помещается в оперативную память.
Промоделировать систему без потерь. Проанализировать характеристики СМО. Составить план эксперимента и исследовать поведение модели СМО, меняя параметры системы.
Задание 7
Имеется три независимо работающих процессора с разными временами задержки и устройство неограниченной по размерам внешней памяти (рис.10).
|
|
ПУ |
|
|
ПУ |
|
|
|
ПУ |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Процессор 1 |
Процессор 2 |
Процессор 3 |
ПАМЯТЬ
Рис.10. Распределенная вычислительная система
Поток заявок, поступающий с периферийных устройств ПУ, обрабатывается на том процессоре, очередь к которому меньше. После обработки заявки происходит захват памяти, куда передаются результаты обработки.
Промоделировать систему без потерь. Проанализировать характеристики СМО.
32