Устройство в GPSS используют для моделирования одиночного устройства обслуживания. Два или более обслуживающих устройств, работающих параллельно, могут моделироваться двумя или более одинаковыми устройствами. Это необходимо, когда устройства являются разнородными.
Если параллельно работающие устройства являются одинаковыми, то для их моделирования может использоваться объект многоканальное устройство (МКУ).
Количество устройств, которое моделирует МКУ задает пользователь с помощью оператора STORAGE
Формат оператора:
Метка STORAGE А
Метка – имя МКУ
А – емкость МКУ (количество однотипных устройств, входящих в МКУ)
Блок ENTER имеет следующий формат записи:
ENTER A,[B]
Блок ENTER позволяет вошедшему сообщению (транзакту) использовать многоканальное устройство. Сообщение может быть задержано на входе в блок, если многоканальное устройство заполнено или имеющейся емкости недостаточно или устройство в данный момент недоступно.
В поле А указывается номер или имя многоканального устройства, куда входит сообщение.
В поле В содержится число занимаемых единиц многоканального устройства. Если поле В пусто, то предполагается что занимается одна единица. Если это значение равно нулю, то сообщение никогда не задерживается на входе, а блок рассматривается как нерабочий.
Активное сообщение не может войти в блок ENTER, если запрос на многоканальное устройство не может быть удовлетворен.
Активное сообщение не может войти в блок ENTER, если многоканальное устройство находится в недоступном состоянии.
Когда сообщение входит в блок ENTER, то операнд А используется для нахождения многоканального устройства с указанным именем. Если такое многоканальное устройство не существует, то возникает ошибка выполнения. В противном случае используется операнд В для оценки емкости многоканального устройства.
Одно и то же сообщение может входить в неограниченное число многоканальных устройств, а впоследствии освобождать их (или часть из них).
Блок LEAVE имеет следующий формат:
LEAVE A,[B]
Блок LEAVE освобождает определенное число единиц многоканального устройства. Занятый объем многоканального устройства уменьшается на число освобождаемых единиц. Оставшаяся емкость многоканального устройства увеличивается на ту же величину. Счетчик числа входов не изменяется.
Поле А блока LEAVE определяет номер или имя многокального устройства.
Поле В - число освобождаемых единиц многоканального устройства. Если это поле пусто, предполагается 1. Число освобождаемых единиц не должно превышать текущее содержимое многоканального устройства.
Задания для самостоятельной работы:
- Морские суда прибывают в порт каждые 15-25 часов. В порту имеется 10 причалов. Каждый корабль по длине занимает 3 причала и находится в порту 7-13 часов. Промоделируйте работу порта на протяжении 500 часов. Напишите сегмент GPSS программы.
В результате выполнения программы моделирования работы вычислительной системы с двумя компьютерами GPSS выдаст отчет с информацией об использовании МКУ:
STORAGE – имя МКУ
CAP. – емкость МКУ, заданную оператором STORAGE
REM. – количество единиц свободной емкости в конце периода моделирования
MIN. – минимальное количество емкости за используемый период
MAX. - максимальное количество емкости за используемый период
ENTRIES – количество входов в МКУ за период моделирования
AVL. – состояние готовности МКУ в конце периода моделирования (1 – МКУ готов, 0 – нет)
AVE.C. – среднее значение занятой емкости за период моделирования
UTIL. – средний коэффициент использования всех устройств МКУ
RETRY – количество транзактов, ожидающих специальных условий, зависящих от состояния МКУ
DELAY – определяет количество транзактов, ожидающих занятия или освобождения устройства МКУ
Задание. Сравните отчеты по результатам моделирования работы вычислительной системы с одним компьютером и с двумя. Какие показатели изменились и как? Какой вариант организации работы вычислительной системы более предпочтителен?
11.4. Моделирование значений случайной величины с заданным законом распределения и обработка результатов моделирования средствами GPSS/World