Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Программа. *Генерация транзактов, время поступления между которыми распределено *по равномерному закону в диапазоне от 6 до 14 единиц



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.

PK
BUF
GT
Решённые

задачи

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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...