Сбор статистики при ожидании

В GPSS существует возможность автоматического сбора статистических данных, описывающих вынужденное ожидание, которое может происходить время от времени в различных точках модели (например, вследствие невозможности занять используемое другим транзактом ОКУ).

Сбор статистики осуществляется c помощью такого средства, как регистратор очереди, реализуемый блоками QUEUE и DEPART.

При использовании регистратора очереди интерпретатор автоматически начинает собирать информацию об ожидании c помощью СЧА (число входов транзактов в очередь; количество транзактов, которые фактически присоединились к очереди и сразу ее освободили, т. е. имели время ожидания, равное нулю; максимальная длина очереди; среднее количество ожидавших транзактов; среднее время ожидания транзактов). В модели может быть несколько регистраторов очередей, разли­чающихся именами. Правила присвоения имени очереди те же, что и для уст­ройств. [4, 5]

Блоки QUEUE и DEPART имеют следующий формат записи:

QUEUE A[,B];

DEPART A[,B],

где А (обязательный операнд) – имя очереди, в которую необходимо встать транзакту или которую надо освободить (числовое или символьное имя, CЧА);

В – число единиц, на которое увеличивается (уменьшается) длина очереди (число, СЧА). Значение В по умолчанию равно единице.

При входе транзакта в блок QUEUE (встать в очередь) счетчик входов данной очереди увеличивается на значение В; длина очереди (счетчик текущего содержимого) увеличивается на В; транзакт присоединяется к очереди c запоминаем ее имени и значения текущего модельного времени. Значение текущей длины очереди хранится в стандартном чи­словом атрибуте Q$<имя очереди>.

После то­го, как транзакт переходит в блок DEPART (освободить очередь) определенной очереди, он перестает быть ее элементом, при этом длина очереди уменьшается на В. Используя «привязку» к значению времени, интерпретатор определяет, являет­ся ли время, проведенное транзактом в очереди, нулевым, и если да, то такой транзакт по определению является транзактом c нулевым пребыванием в очереди, одновременно изменяется счетчик нулевых вхождений; ликвидируется «привязка» транзакта к очереди. Если в модели используются объекты типа «очередь», то в фай­ле стандартной статистики будет представлена информация об этих объектах (см. прил. 2).

Ранее говорилось, что интерпретатор автоматически поддерживает дисциплину обслуживания очереди FIFO. На самом деле, используемая по умолчанию в GPSS дисциплина обслуживания является более сложной, чем «первым пришел — первым обслужен»; ее реализуют только для транзактов одинакового приоритета. Уровень при­оритета ожидающих транзактов автоматически учитывается интерпретатором при выборе на обслуживание. [5]

П р и м е р ы использования блоков QUEUE и DEPART:

1. QUEUE Qunit1

SEIZE unit1

DEPART Qunit1

ADVANCE 16,4

RELEASE unit1

Все транзакты, попадающие в устройство unit1, должны пройти через пару блоков QUEUE – DEPARTс именемQunit1 даже тогда, когда уст­ройство свободно и его можно сразу же занять и задержаться там в течение (16 ± 4) единиц модельного времени.

2. QUEUE QUN1 – увеличение на единицу длины Q$QUN1 очереди QUN1;

QUEUE QUN2,2 – увеличение на две единицы длины Q$QUN2 очереди QUN2;

DEPART QWORKER – уменьшение на единицу длины Q$QWORKER очереди QWORKER.

Таким образом, когда транзакт входит в блок QUEUE, то выбирается очередь c именем, определенным операндом А (при необходимости очередь создается).

Блок QUEUE не поддерживает список членов очереди, он только добавляет значение В к длине очереди.

Использование регистратора очереди необязательно, с eгo помощью интерпретатор собирает лишь статистику об ожидании. Один и тот же транзакт может одновременно увеличить дли­ну нескольких очередей.

При выходе транзакта из очереди через блок DEPARTтранзакту не обязательно уменьшать длину очереди на ту же величину, на которую он увеличил ее при входе в блок QUEUE, но в итоге количество входов в очередь должно равняться количеству выходов из нее.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: