на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Системы и сети связи на GPSS/ PC - (диплом)
p>В поле A указывается номер или имя устройства. Если транзакт входит в блок SEIZE, то устройство, указанное в поле A, становится занятым и остаётся в этом состоянии до тех пор, пока этот же транзакт не пройдёт соответствующий блок RELEASE, освобождая устройство. Если устройство, указанное в поле A блока SEIZE, уже занято каким-либо транзактом, то никакой другой транзакт не может войти в этот блок и остаётся в предыдущем блоке. Транзакты, задержанные (заблокированные) перед блоком SEIZE, остаются в списке текущих событий и при освобождении устройства обрабатываются с учетом приоритетов и очередности поступления.

Каждое устройство имеет следующие СЧА: F - состояние устройства (0 - свободно, 1 - занято); FR - коэффициент использования в долях 1000; FC - число занятий устройства; FT - целая часть среднего времени занятия устройства. Воспользуемся блоками SEIZE и RELEASE для моделирования одноканальной СМО с ожиданием (рис. 7). Теперь блок ADVANCE находится между блоками SEIZE и RELEASE, моделирующими занятие и освобождение устройства с именем SYSTEM, и поэтому в нем может находиться только один транзакт. Транзакты, выходящие из блока GENERATE в моменты занятости устройства, не смогут войти в блок SEIZE и будут оставаться в блоке GENERATE, образуя очередь в списке текущих событий. 1

    EXP FUNCTION RN1, C24

0, 0/. 1, .104/. 2, .222/. 3, .355/. 4, .509/. 5, .69/. 6, .915

. 7, 1. 2/. 75, 1. 38/. 8, 1. 6/. 84, 1. 85/. 88, 2. 12/. 9, 2. 3

. 92, 2. 52/. 94, 2. 81/. 95, 2. 99/. 96, 3. 2/. 97, 3. 5/. 98, 3. 9

    . 99, 4. 6/. 995, 5. 3/. 998, 6. 2/. 999, 7/. 9998, 8
    GENERATE 100, FN$EXP
    SEIZE SYSTEM
    ADVANCE 80, FN$EXP
    RELEASE SYSTEM
    TERMINATE 1
    1. 5
    Рис. 7

Для моделирования захвата (прерывания) одноканального устройства вместо блоков SEIZE и RELEASE используются соответственно блоки PREEMPT (захватить) и RETURN (вернуть). Блок PREEMPT имеет следующий формат:

    имя PREEMPT A, B, C, D, E

В поле A указывается имя или номер устройства, подлежащего захвату. В поле B кодируется условие захвата. Если это поле пусто, то захват возникает, если обслуживаемый транзакт сам не является захватчиком. Если же в поле B записан операнд PR, то захват возникает, если приоритет транзакта-захватчика выше, чем приоритет обслуживаемого транзакта.

Поля C, D и E определяют поведение транзактов, обслуживание которых было прервано. Поле C указывает имя блока, в который будет направлен прерванный транзакт. В поле D может быть указан номер или имя параметра прерванного транзакта, в который записывается время, оставшееся этому транзакту до завершения обслуживания на устройстве. При отсутствии операнда в поле E прерванный транзакт сохраняет право на автоматическое восстановление на устройстве по окончании захвата. Если же в поле E указан операнд RE, то транзакт теряет такое право.

Блок RETURN имеет единственный операнд A, содержащий имя или номер устройства, подлежащего освобождению от захвата.

Блоки PREEMPT и RETURN могут быть использованы для моделирования СМО с абсолютными приоритетами. В простейших случаях, при одном уровне захвата, в блоке PREEMPT используется единственный операнд A. При этом прерванный транзакт переводится симулятором из списка будущих событий в так называемый список прерываний устройства, а по окончании захвата устройства возвращается в список будущих событий с предварительно вычисленным временем занятия устройства для продолжения обслуживания.

Для создания в модели многоканальных устройств (МКУ) они должны быть предварительно определены с помощью операторов определения STORAGE (память), имеющих следующий формат:

имя STORAGE A Здесь имя - имя МКУ, используемое для ссылок на него; A - емкость (количество каналов обслуживания) МКУ, задаваемая константой. Для занятия и освобождения каналов обслуживания МКУ используется пара блоков ENTER (войти) и LEAVE (покинуть), имеющих следующий формат: 1

    имя ENTER A, B
    1. 5
    имя LEAVE A, B

В поле A указывается номер или имя МКУ, в поле B - число каналов МКУ, занимаемых при входе в блок ENTER или освобождаемых при входе в блок LEAVE. Обычно поле B пусто, и в этом случае по умолчанию занимается или освобождается один канал.

При входе транзакта в блок ENTER текущее содержимое МКУ увеличивается на число единиц, указанное в поле B. Если свободная емкость МКУ меньше значения поля B, то транзакт не может войти в блок ENTER и остается в предыдущем блоке, образуя очередь в списке текущих событий.

При входе транзакта в блок LEAVE текущее содержимое МКУ уменьшается на число единиц, указанное в поле B. Не обязательно освобождается такое же число каналов МКУ, какое занималось при входе данного транзакта в блок ENTER, однако текущее содержимое МКУ не должно становиться отрицательным.

Многоканальные устройства имеют следующие СЧА: S - текущее содержимое МКУ; R свободная емкость МКУ; SR - коэффициент использования в долях 1000; SA - целая часть среднего содержимого МКУ; SM максимальное содержимое МКУ; SC - число занятий МКУ; ST - целая часть среднего времени занятия МКУ. Воспользуемся блоками ENTER-LEAVE и оператором STORAGE для моделирования двухканальной СМО с ожиданием (рис. 8). Если текущее содержимое МКУ с именем STO2 меньше 2, т. е. в блоке ADVANCE находится один или ни одного транзакта, то очередной транзакт, поступающий в модель через блок GENERATE, может войти в блок ENTER и затем в блок ADVANCE. Если же текущее содержимое МКУ равно 2, то очередной транзакт остается в блоке GENERATE, образуя очередь в списке текущих событий. По истечении задержки одного из двух обслуживаемых транзактов в блоке ADVANCE и после входа его в блок LEAVE первый из заблокированных транзактов сможет войти в блок ENTER.

    1
    STO2 STORAGE 2
    EXP FUNCTION RN1, C24

0, 0/. 1, .104/. 2, .222/. 3, .355/. 4, .509/. 5, .69/. 6, .915

. 7, 1. 2/. 75, 1. 38/. 8, 1. 6/. 84, 1. 85/. 88, 2. 12/. 9, 2. 3

. 92, 2. 52/. 94, 2. 81/. 95, 2. 99/. 96, 3. 2/. 97, 3. 5/. 98, 3. 9

    . 99, 4. 6/. 995, 5. 3/. 998, 6. 2/. 999, 7/. 9998, 8
    GENERATE 100, FN$EXP
    ENTER STO2
    ADVANCE 160, FN$EXP
    LEAVE STO2
    TERMINATE 1
    1. 5
    Рис. 8

К аппаратным объектам относятся также логические переключатели (ЛП), которые могут находиться в двух состояниях: "включено" и "выключено". В начале моделирования все ЛП находятся в состоянии "выключено". Отдельные переключатели могут быть установлены в начальное состояние "включено" с помощью оператора INITIAL (инициализировать), имеющего следующий формат: 1

    INITIAL LS$ имя
    1. 5
    INITIAL LS j

Здесь имя и j - соответственно имя и номер ЛП, устанавливаемого в начальное состояние "включено".

Для включения, выключения и инвертирования логических переключателей в процессе моделирования служит блок LOGIC (установить ЛП), имеющий следующий формат: имя LOGIC X A

В поле A указывается имя или номер ЛП. Вспомогательный операнд X указывает вид операции, которая производится с логическим переключателем при входе транзакта в блок: S - включение, R - выключение, I - инвертирование. Например: 1

    LOGIC S 9
    1. 5
    LOGIC R FLAG

Логические переключатели имеют единственный СЧА с названием LS. Значение СЧА равно 1, если ЛП включен, и 0, если он выключен.

    2. 3. Блоки для сбора статистических данных

Два последних примера в предыдущем параграфе представляют собой законченные модели одноканальной и многоканальной СМО с ожиданием. Однако такие модели разрабатываются обычно для исследования различных характеристик, связанных с ожиданием заявок в очереди: длины очереди, времени ожидания и т. п. , а в приведенных примерах очередь транзактов образуется в списке текущих событий и недоступна исследователю. Для регистрации статистической информации о процессе ожидания транзактов в модели должны присутствовать статистические объекты: очереди или таблицы.

Объекты типа очередь создаются в модели путем использования блоков регистраторов очередей: QUEUE (стать в очередь) и DEPART (уйти из очереди), имеющих следующий формат:

    1
    имя QUEUE A, B
    1. 5
    имя DEPART A, B

В поле A указывается номер или имя очереди, а в поле B - число единиц, на которое текущая длина очереди увеличивается при входе транзакта в блок QUEUE или уменьшается при входе транзакта в блок DEPART. Обычно поле B пусто, и в этом случае его значение по умолчанию принимается равным 1. Для сбора статистики о транзактах, заблокированных перед каким-либо блоком модели, блоки QUEUE и DEPART помещаются перед и после этого блока соответственно. При прохождении транзактов через блоки QUEUE и DEPART соответствующим образом изменяются следующие СЧА очередей: Q - текущая длина очереди; QM - максимальная длина очереди; QA - целая часть средней длины очереди; QC - общее число транзактов, вошедших в очередь; QZ - число транзактов, прошедших через очередь без ожидания (число "нулевых" входов); QT целая часть среднего времени ожидания с учетом "нулевых" входов; QX - целая часть среднего времени ожидания без учета "нулевых" входов. Дополним приведенную на рис. 7 модель одноканальной СМО блоками QUEUE и DEPART (рис. 9). Теперь транзакты, заблокированные перед блоком SEIZE из-за занятости устройства SYSTEM, находятся в блоке QUEUE, внося свой вклад в статистику о времени ожидания, накапливаемую в статистическом объекте типа "очередь" с именем LINE. При освобождении устройства первый из заблокированных транзактов войдет в блок SEIZE и одновременно в блок DEPART, прекращая накопление статистики об ожидании этого транзакта.

    1
    EXP FUNCTION RN1, C24

0, 0/. 1, .104/. 2, .222/. 3, .355/. 4, .509/. 5, .69/. 6, .915

. 7, 1. 2/. 75, 1. 38/. 8, 1. 6/. 84, 1. 85/. 88, 2. 12/. 9, 2. 3

. 92, 2. 52/. 94, 2. 81/. 95, 2. 99/. 96, 3. 2/. 97, 3. 5/. 98, 3. 9

    . 99, 4. 6/. 995, 5. 3/. 998, 6. 2/. 999, 7/. 9998, 8
    GENERATE 100, FN$EXP
    QUEUE LINE
    SEIZE SYSTEM
    DEPART LINE
    ADVANCE 80, FN$EXP
    RELEASE SYSTEM
    TERMINATE 1
    1. 5
    Рис. 9

Очень часто исследователя интересует не только среднее значение времени ожидания в очереди, но и дисперсия этого времени, а также статистическое распределение выборки времени ожидания, представляемое обычно графически в виде гистограммы. Имея такое распределение, можно оценить вероятность того, что время ожидания превысит или не превысит некоторое заданное значение. Для сбора и обработки данных о выборочном распределении времени ожидания в очереди служат статистические объекты типа Q-таблица.

Для создания в модели такой таблицы она должна быть предварительно определена с помощью оператора определения QTABLE (Q-таблица), имеющего следующий формат: имя QTABLE A, B, C, D Здесь имя - имя таблицы, используемое для ссылок на нее; A номер или имя очереди, распределение времени ожидания в которой необходимо получить; B - верхняя граница первого частотного интервала таблицы; C - ширина частотных интервалов; D - количество частотных интервалов.

Диапазон всевозможных значений времени ожидания в очереди, указанной в поле A, разбивается на ряд частотных интервалов, количество которых указано в поле D. Первый из этих интервалов имеет ширину от минус бесконечности до величины, указанной в поле B, включительно. Второй интервал включает значения, большие, чем величина первой границы в поле B, но меньшие или равные B+C, и т. д. Все промежуточные интервалы имеют одинаковую ширину, указанную в поле C. Наконец, последний интервал включает все значения, большие, чем последняя граница. Значения операндов B, C и D должны задаваться целыми константами. Операнд B может быть неположительным, хотя для Q-таблицы это не имеет смысла, так как время не может быть отрицательным. Операнды C и D должны быть строго положительными.

При прохождении транзакта через блоки QUEUE и DEPART его время ожидания фиксируется, и к счетчику частотного интервала таблицы, в который попало это время, добавляется 1. Одновременно в таблице накапливается информация для вычисления среднего значения и среднеквадратического отклонения (корня из дисперсии) времени ожидания. По окончании моделирования среднее значение и среднеквадратическое отклонение времени ожидания, а также счетчики попаданий в различные частотные интервалы выводятся в стандартный отчет GPSS/PC. Таблицы, как и другие объекты GPSS/PC, имеют СЧА: ТС - общее число транзактов, вошедших в очередь, связанную с таблицей; TB целая часть среднего времени ожидания в очереди; TD - целая часть среднеквадратического отклонения времени ожидания в очереди.

Дополним модель из примера на рис. 9 оператором QTABLE для получения распределения времени ожидания в очереди с именем LINE (рис. 10). 1

    WTIME QTABLE LINE, 50, 50, 10
    EXP FUNCTION RN1, C24

0, 0/. 1, .104/. 2, .222/. 3, .355/. 4, .509/. 5, .69/. 6, .915

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.