Сбор статистики об ожидании. Блоки QUEUE, DEPART.
Эти блоки обеспечивают в GPSS возможность автоматического сбора статистических данных, описывающих вынужденное ожидание, которое может происходить время от времени в различных точках модели. Система моделирования GPSS обеспечивает возможность сбора статистики c помощью такого средства, как регистратор очереди. При использовании регистратора очереди в тех точках модели, где число ресурсов ограничено, интерпретатор автоматически начинает собирать различную информацию об ожидании c помощью СЧА, А именно: 1) число входов транзактов в очередь; 2) количество транзактов, которые фактически присоединились к очереди и сразу ее покинули, т.е. имели время ожидания равное нулю; 3) максимальная длина очереди; 4) среднее число ожидавших транзактов; 5) среднее время ожидания тех транзактов, которым пришлось ждать. В модели может быть несколько регистраторов очередей, различающихся именами. Правила присвоения имен те же, что и для устройств. Разработчик вносит регистратор очереди в модель c помощью пары взаимодополняющих блоков: Таблица 4.7
При входе транзакта в блок QUEUE (СТАТЬ В ОЧЕРЕДЬ) выполняются четыре действия: 1) счетчик входов для данной очереди увеличивается на В; 2) длина очереди (счетчик текущего содержимого) для данной очереди увеличивается на В; 3) значение текущей длины очереди хранится в стандартном числовом атрибуте Q$<имя очереди>; 4) транзакт присоединяется к очереди c запоминаем ее имени и значения текущего модельного времени. Транзакт перестает быть элементом очереди только после того, как он переходит в блок DEPART (ПОКИНУТЬ ОЧЕРЕДЬ) соответствующей очереди. Когда это происходит, интерпретатор выполняет такие операции: 1) длина очереди соответствующей очереди уменьшается на В; 2) используя привязку к значению времени, определяет: является ли время, проведенное транзактом в очереди, нулевым; если да, то такой транзакт по определению является транзактом c нулевым пребыванием в очереди и одновременно изменяется счетчик нулевых вхождении, 3) ликвидируется «привязка» транзакта к очереди. Если в модели используются объекты типа «очередь», то в файле стандартной статистики будет представлена информация об этих объектах. В конце моделирования интерпретатор автоматически выдает статистические данные: значение счетчика входов, максимальное значение длины очереди, среднее значение длины очереди, текущее значение длины очереди в конце периода моделирования, среднее значение времени нахождения в очереди и т.д. 1. Когда транзакт входит в блок QUEUE, то ищется очередь c именем, определенным операндом А. При необходимости очередь создается. 2. Блок QUEUE не поддерживает список членов очереди, он только добавляет единицы к длине очереди. 3. Использование регистратора очереди необязательно. C eгo помощью интерпретатор собирает лишь статистику об ожидании. Если же регистратор не используется, то статистика не собирается, но везде, где должна возникать очередь, она возникает. Ожидание является следствием состояния устройства, А не следствием использования регистратора. Если в планы не входит обработка статистических данных об очередях, то лучше не собирать статистику – это сэкономит время, расходуемое на моделирование. 4. Один и тот же транзакт может одновременно увеличить длину нескольких очередей. 5. При выходе транзакта из очереди через блок DEPART транзакту не обязательно уменьшать длину очереди на ту же величину, на которую он увеличил ее при входе в блок QUEUE. Но в итоге число входов в очередь должно равняться числу выходов из нее.
|