Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
BUF STORAGE 1000
GENERATE 10,4
*Генерация транзактов, время поступления между которыми распределено *по равномерному закону в диапазоне от 6 до 14 единиц.
ENTER BUF,1
*Занимается одно место в памяти
SEIZE PK
*Занимается устройство
LEAVE BUF
*Освобождается одно место в памяти
ADVANCE (UNIFORM (1,3,13))
*Транзакт задерживается на время, распределенное равномерно в диапазоне *от 3 до 13 единиц, а в качестве задающего используем первый генератор *равномерно распределенных чисел от 0 до 1
RELEASE PK
*Освобождается устройство
TERMINATE 1
*Транзакт выводится из системы. Из счетчика команды START вычитается *1. После вывода из системы ста транзактов, счетчик START обнулится и *моделирование остановится
START 100
После завершения моделирования выдается стандартный отчет,
Отчет
GPSS World Simulation Report - 1.3.1
Thursday, November 01, 2007 09:34:39
* В первой строке отчёта указывается дата *«прогона» модели и получения отчёта.
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1014.346 7 1 1
* В данных строках отчёта указывается начальное и *конечное абсолютное модельное время, количество *блоков, устройств и памятей модели.
NAME VALUE
BUF 10000.000
PK 10001.000
* В левом столбце данных строк отчёта указывается *имя объекта, а в правом номер, присвоенный ему при *трансляции.
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 100 0 0
2 ENTER 100 0 0
3 SEIZE 100 0 0
4 LEAVE 100 0 0
5 ADVANCE 100 0 0
6 RELEASE 100 0 0
7 TERMINATE 100 0 0
* В приведённом фрагменте отчёта в пяти столбцах *указываются следующие данные: в первом столбце - номер *блока, присвоенный ему при трансляции (командам номер *не присваивается); во втором – наименование типа *блока; в третьем – количество входов транзактов в *блоки; в четвёртом количество транзактов, находившихся *в блоках на момент окончания моделирования; в пятом – *количество транзактов, ожидающих выполнения *специфических условий, зависящих от состояний *конкретных блоков.
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK 100 0.801 8.127 1 0 0 0 0 0
* Для устройств в десяти столбцах отчёта *указываются следующие данные: в первом столбце – *идентификатор устройства (имя или номер); во втором – *количество транзактов, входивших в устройство; в *третьем – коэффициент использования устройства в долях *от единицы; в четвёртом – среднее время занятия *устройства одним транзактом; в пятом – состояние *устройства в момент завершения моделирования по *доступности, 1 означает,что устройство доступно, 0 – *не доступно; в шестом – номер транзакта, занимающего *устройство; в седьмом – количество транзактов, *ожидающих возможности занять устройство с прерыванием *других транзактов; в восьмом – количество транзактов, *выполнение которых прервано на данном устройстве; в *девятом – количество транзактов, ожидающих выполнения *специфического условия, которое зависит от данного *устройства; в десятом – количество транзактов, *ожидающих возможности занять данное устройство, в т.ч. *с помощью дркгих блоков.
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 1000000 1000000 0 2 100 1 0.211 0.000 0 0
* Для памятей в 11-и столбцах отчёта указываются *следующие данные: в превом столбце – идентификатор *памяти; во втором - заданный объём памяти командой *STORAGE; в третьем – количество неиспользуемых мест в *памяти на момент завершения моделирования; в четвёртом *- минимальное количество занятых мест в памяти за всё *время моделирования; в пятом – максимальное количество *мест, занимавшихся в памяти за всё время *моделирования; в шестом – количество входов транзактов *в память; в седьмом – состояние памяти в момент *завершения моделирования, 1 означает доступное *состояние, 0 – недоступное; в восьмом – взвешенное во *времени среднее содержимое памяти; в девятом – *коэффициент использования памяти; в десятом – *количество транзактов, ожидающих выполнения *специфического условия, зависящего от состояния данной *памяти; в одиннадцатом – количество транзактов, *ожидающих в блоке ENTER на момент завершения *моделирования.
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
101 0 1020.882 101 0 1
* Для списка будущих событий в восьми столбцах *отчёта указываются следующие данные: в первом столбце *– номер каждого транзакта, находящегося в списке *будущих событий; во втором – приоритет транзакта; в *третьем – время, когда планируется вывод транзакта из *блока; в четвёртом – номер семейства данного *транзакта; в пятом - номер блока, в котором находился *транзакт на момент завершения моделирования; в шестом *– номер следующего блока, в который должен поступить *данный транзакт; в седьмом – идентификатор параметров; *в восьмом – содержимое параметра.
* По содержимому отчёта сделаем заключение, что *среднее время обслуживания устройством одного *транзакта – 8.127 сравнительно ненамного отличается от *заданного среднего значения – 8.0; коэффициент *использования устройства – 0.801 также не на много *отличается от отношения среднеговремени обслуживания к *среднему времени между поступлением транзактов – 0.8. *Таким образом можно сделать заключение о том, что *результаты моделирования не противоречат здравому *смыслу. По статистическим данным по функционпрованию *памяти отметим, что средняя длина памяти равна – *0.211, а максимальная – 2 транзактам.
Пример 4.2. Система массового обслуживания «Генератор транзактов – очередь – устройство»
Структурная схема примера представлена на рис 4.2.
|
|
|
задачи
10±4 Неогран. 8±5
Равномерный длины Равномерный
закон закон
Завершить моделирование после
решения 100 задач
Рис. 4.2. Структурная схема примера 4.2
Пусть в условиях предыдущего примера вместо памяти требуется использовать очередь и протабулировать время пребывания транзакта в системе и в очереди. Для этого перед блоком GENERATE введем команды
VREMJ TABLE M1,3,1,30 и
OCHER QTABLE BUF,0,2,10
В первой таблице будет регистрироваться время пребывания транзакта в модели, минимальное регистрируемое время равно 3 единицам, вес одного интервала таблицы равен 1, количество интервалов таблицы 30, максимальное время, которое будет зарегистрировано в интервалах таблицы будет 3+1*30=33.
Во второй таблице будет регистрироваться время ожидания транзакта в очереди с именем BUF, минимальное регистрируемое время равно 0 единицам, вес одного интервала таблицы равен 2, количество интервалов таблицы 10, максимальное время, которое будет зарегистрировано в интервалах таблицы будет 0+2*10=20. Отметим, что таблицы для регистрации времени ожидания можно использовать только для очередей и нельзя использовать для памятей и списков пользователей. Которые применяются для регистрации времени ожидания.
Вместо ENTER пишем QUEUE, вместо LEAVE пишем DEPART. После RELEASE и перед TERMINATE пишем FINAL TABULATE VREMJ
.
Дата публикования: 2014-11-29; Прочитано: 244 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!