Блоки имитации работы очереди (объекта QUEUE) — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Блоки имитации работы очереди (объекта QUEUE)

2021-03-18 132
Блоки имитации работы очереди (объекта QUEUE) 0.00 из 5.00 0 оценок
Заказать работу

 

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

· SEIZE A (задержка текущего транзакта перед этим блоком возникает, если ранее вошедший в этот блок транзакт не прошел через соответствующий блоку SEIZEблок RELEAZEA);

· ENTER А, B (задержка текущего транзакта перед этим блоком возникает, если емкость свободного (оставшегося не занятым) участка данной памяти меньше емкости B,требуемой текущим транзактом);

· GATE и TEST (задержка текущего транзакта перед этими блоками возникает, если проверяемое в них условие не выполняется ив этих блоках не указан альтернативный выход транзакта).

  Для сбора статистических данных о работе очереди (ниже приводится список этих данных) в месте возможной задержки транзактов ставится блок QUEUE. Этот блоки сам по себе не создаёт очереди, а лишь являются средством ее регистрации и обеспечивает обработку статистических данных очереди. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Удаление транзакта из очереди отображается блоком DEPART. Таким образом, работа очереди в GPSS имитируется парой следующих блоков:

QUEUE А,В; А – имя или номер очереди; В – число добавляемых к *очереди элементов или число мест занимаемых одним транзактом (по *умолчанию В = 1), при этом транзакт помещается в конец очереди;

DEPART A, B; А – имя очереди; В – число удаляемых из очереди *элементов или число мест, освобождаемых текущим транзактом (по *умолчанию – 1), при этом число у даляемых элементов может быть не равно *числу добавляемых при входе в очередь.

Список СЧА очереди:

Q$j – текущая длина очереди j;

QA$j – средняя длина очереди j;

QC$j – число входов в очередь j;

Q M $j – максимальная длина очереди j;

QT$j – среднее время пребывания в очереди j, включая нулевые входы;

QX$j – среднее время пребывания в очереди j, без нулевых входов.

QZ$j – число входов в очередь с нулевым временем пребывания (транзакт прошел через блок QUEUE, не задерживаясь в очереди);\

    Все эти данные формируются в файле отчета результатов моделирования (и по завершению процесса моделирования распечатываются, но только при наличии в модели блоков QUEUE и DEPART).

Далее приводятся примеры имитации работы одноканального устройства UST1при различных законах формирования входного потока транзактов и обслуживания их в устройстве, но с учётом организации очереди транзактов перед устройством.

Пример 2. 2.а. В данном примере очередь по существу не возникнет, так как время обработки транзакта равно 120 уев (константа), что меньше 150 уев (константа) – промежутков времени появления заявок на входе устройства. В качестве примера рекомендуется это утверждение проверить моделированием::

GENERATE 150; генерация транзактов

  QUEUE OCH 1; встать в очередь

SEIZE UST 1; занятие устройства

 DEPART OCH1; покинуть очередь

ADVANCE 120; задержка транзакта

RELEASE UST 1; освобождение устройства

TERMINATE; удаление транзакта

GENERATE 30000; время моделирования 

 TERMINATE 1

 START 1

Пример 2.2.б. В условиях этого Примера будут получены реальные значения статистических данных о параметрах очереди транзактов, появляющихся в случайные моменты времени и задерживаемых также на случайные интервалы времени (имитация времени обслуживания в устройстве):

 

GENERATE 150,100

QUEUE  OCH 1; встать в очередь

SEIZE  UST1;

DEPART OCH1; покинуть очередь

ADVANCE 120,70

RELEASE UST1;

TERMINATE; удаление транзакта

GENERATE 30000; время моделирования 

TERMINATE 1

START 1

 

Пример 2.2.в. Для оценки дополнительно ещё и времени нахождения заявки в системе (как суммы времени ожидания в очереди и времени обслуживания в устройстве), то есть времени отклика системы на запрос, необходимо в предыдущую модель ввести дополнительно два блока имитации работы очереди SYST для сбора статистики о времени отклика, расположив эти блоки соответственно на входе транзактов в систему (в устройство обслуживания) и на выходе их из системы (из устройства):

GENERATE 150,100

QUEUE   SYST; встать в очередь SYST

QUEUE   OCH 1; встать в очередь OCH1

SEIZE UST 1;

QUEUE   OCH 2; покинуть очередь OCH1

ADVANCE 120,70

RELEASE UST1;

DEPART SYST; покинуть очередь SYST

TERMINATE; удаление транзакта

GENERATE 30000; время моделирования 

TERMINATE 1

START 1

2.3 Блоки имитации памяти или многоканального устройства ( объекта STORAGE)

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

· Ёмкость (накопитель) для временного хранения заявок (например, запросов на решение потока задач в вычислительной системе, информации в ячейках памяти ЭВМ) или материальных объектов (места на складе для хранения приборов и оборудования, ячейки для временного хранения сумок на входе в супермаркет, автомобилей в многоместном гараже, сейфы в сбербанке для хранения документов и ценностей, места на стилаже в библиотеке);

· многоканальная СМО (МКУ), состоящая из ограниченного числа однотипных параллельно работающих устройств (каналов) обслуживания заявок (процессоры в многопроцессорной системе, ПК в компьютерном классе, игровые установки в комнате игровых автоматов, парк однотипных станков в заводском цехе, колонки на АЗС). Пример условного графического обозначение n-канального СМО приведен на следующем рисунке 2.2.:

 

Рисунок 2.2. –– n -канальная СМО с очередью

 

 

    STORAGE как объект GPSS в программе задаётся двумя строками в разделе объявлений GPSS-программы – объявление имении номера и задание значения ёмкости этого объекта, например:

STR 0 EQU 1; где STR0 – имя МКУ с номером 1

STR 0 STORAGE 7;

Здесь 7 – количество устройств обслуживания в многоканальной СМО (Для примера на рисунке 2.2 n=7). 

Работа МКУ с именем STR0 отображается в модели следующей парой блоков:

 

ENTER STR 0, B; войти в МКУ и занять В устройств

    ……….

    ……….

LEAVE STR 0, B; выйти из МКУ, освободив В устройств.

 

Входящий в блок ENTER транзакт занимает в памяти часть емкости, указанную в поле B, а в блоке LEAVE транзакт освобождает память на величину, определяемую полем B, не обязательно равную при входе в блок ENTER. По умолчанию принимается В = 1.

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

Для имитации процесса обслуживания транзакта в памяти STORAGE как в многоканальном устройстве следует предусмотреть блок задержки ADVANCE, имитирующий длительность обслуживание заявки, например, в интервале (50,190). Тогда GPSS-модель многоканальной СМО будет отображается следующими тремя блоками:

 

ENTER STR0, B;

ADVANCE 120, 70

LEAVE STR0, B

Объект типа STORAGE имеет, аналогично объекту FACILITY, также два типа атрибутов, которыми программист-разработчик модели может воспользоваться по своему усмотрению:

 

· стандартные числовые атрибуты (СЧА) памяти:

S $ j – ёмкость памяти j;

R $ j – свободная емкость памяти j;

SR $ j – коэффициент использования памяти j;

SM $ j – максимальное заполнение памяти j;

SA $ j – среднее заполнение памяти j;

SC $ j – число входов в память j;

ST $ j – среднее время пребывания транзакта в памяти j.

· стандартные логические атрибуты памяти, которые используются для проверки её состояния:

SE $ j – память j пуста;        NE $ j – память j не пуста;

SF $ j – память j заполнена; SNF $ j – память j не заполнена.

 

Проверка состояния памяти осуществляется блоком GATE аналогично проверке состояния одноканального устройства: если СЛА принимает значение "true", то блок GATE беспрепятственно пропускает транзакт в следующий блок, если СЛА="false", то при отсутствии поля С в блоке GATE транзакт задерживается в этом блоке, а при наличии поля С в блоке GATE транзакт направляется на блок программы, указанный меткой в поле С.

Далее приводятся примеры имитации работы многоканального устройства (МКУ) STR0 при различных законах формирования входного потока транзактов и обслуживания их в устройстве и с учётом организации очереди транзактов перед устройством.

 

Пример 2.3,а. Пусть МКУ содержит 4 канала, работающие независимо и параллельно, так что заполняемость МКУ в целом может быть от 0 до 4 устройств. Тогда, очевидно, коэффициент загрузки МКУ в целом (КЗ МКУ) будет определяться отношением времён (120/4)/150 = 0,2 (здесь условие ненасыщенного режима многоканальной СМО будет также иметь вид КЗМКУ<1), и, следовательно, для повышения коэффициента загрузки МКУ частота генерации входного потока транзактов может быть увеличена в 4 раза (соответственно, может быть уменьшен интервал появления транзактов в блоке GENERATE). Очевидно, что в этой модели также, как и в примерах 1,а и 2, а, сбор статистики, в принципе, не целесообразен, поскольку нет случайных процессов, и в справедливость этого утверждения можно убедиться, проведя эксперименты с моделью, представленной ниже:

 

*раздел объявления объектов – памяти и очереди:

STR0 EQU 1

OCH1 EQU 1

STR0 STORAGE 4;

*раздел операторов:

SIMULATE

GENERATE 150; генерация транзактов

QUEUE OCH 1; встать в очередь

ENTER STR0

DEPART OCH1; выйти из очереди  

ADVANCE 120

LEAVE STR 0

TERMINATE; удаление транзакта

GENERATE 30000; время моделирования 

TERMINATE 1

START 1

 

Пример 2.3,б. Здесь будут получены реальные значения статистических данных о параметрах очереди транзактов, появляющихся в случайные моменты времени и задерживаемых также на случайные интервалы времени. Но коэффициент загрузки МКУ увеличим, задав среднее время обслуживания равным 120*4 с отклонениями +-300, а время моделирования – 150000 (попробуйте рассчитать общее количество транзактов, которое будет сгенерировано завремя моделирование):

 

*раздел объявления объектов – памяти и очереди:

STR0 EQU 1

OCH1 EQU 1

STR0 STORAGE 4;

*раздел операторов

SIMULATE

GENERATE 150, 100

QUEUE  OCH 1; встать в очередь

ENTER STR0

DEPART OCH1; выйти из очереди

ADVANCE 480,300

LEAVE STR 0

TERMINATE; удаление транзакта

GENERATE 150000; время моделирования 

TERMINATE 1

START 1

 

Пример 2.3,в. Для оценки дополнительно ещё и времени нахождения заявки в системе (как суммы времени ожидания в очереди и времени обслуживания в устройстве), то есть времени отклика системы на запрос, необходимо в предыдущей модели ввести дополнительно два блока имитации работы очереди SYST для сбора статистики о времени отклика, расположив эти блоки соответственно на входе транзактов в систему (устройство обслуживания) и на выходе их из системы (из устройства). В этом варианте модели случайные процессы представлены экспоненциальными законами распределения:

*раздел объявления объектов – памяти и очереди:

STR0 EQU 1

OCH1 EQU 1

SYST EQU 2

STR0 STORAGE 4;

*раздел операторов

SIMULATE

GENERATE (Exponential(1,0,3.75));

QUEUE OCH 1; встать в очередь OCH1

QUEUE SYST; встать в очередь SYST

ENTER STR0

DEPART OCH1; выйти из очереди OCH1

ADVANCE (Exponential(1,0,12));       

LEAVE STR0

DEPART SYST; выйти из очереди SYST

TERMINATE; удаление транзакта

GENERATE 30000;

TERMINATE 1

START 1


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.056 с.