12614

Моделирование работы систем массового обслуживания

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3 Моделирование работы систем массового обслуживания Цель работы: изучение принципов моделирования непрерывно-стохастических систем. 1. Краткие теоретические сведения 1.1. Основные понятия систем массового обслуживания Типовыми непрер

Русский

2013-05-02

666.5 KB

25 чел.

Лабораторная работа № 3

Моделирование работы систем массового обслуживания

Цель работы: изучение принципов моделирования непрерывно-стохастических систем.

1. Краткие теоретические сведения

1.1. Основные понятия систем массового обслуживания

Типовыми непрерывно-стохастическими Q-схемами являются системы массового обслуживания (СМО) (англ. queueing system).

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

Потоком событий называется последовательность событий, происходящих одно за другим в какие-то случайные моменты времени. Различают потоки однородных и неоднородных событий. Поток событий называется однородным, если он характеризуется только моментами поступления этих событий (вызывающими моментами) и задается последовательностью {tn} = {0  t1  t2 ...  tn  }, где tn момент наступления п-го события – неотрицательное вещественное число. Однородный поток событий также может быть задан в виде последовательности промежутков времени между п-м и (n – 1)-м событиями {n}, которая однозначно связана с последовательностью вызывающих моментов {tn}, где n = tn - tn-1, п 1, t0 = 0, т.е. 1 = t1. Потоком неоднородных событий называется последовательность {tn, fn}, где tn вызывающие моменты; fnнабор признаков события. Например, применительно к процессу обслуживания для неоднородного потока заявок может быть задана принадлежность к тому или иному источнику заявок, наличие приоритета, возможность обслуживания тем или иным типом канала.

В любом элементарном акте обслуживания можно выделить две основные составляющие: ожидание обслуживания заявкой и собственно обслуживание заявки. Это можно изобразить в виде некоторого i-го прибора обслуживания Пi (рис. 1), состоящего из накопителя заявок Hi, в котором может одновременно находиться ji=0, JiH заявок, где JiH емкость i-гo накопителя, и канала обслуживания заявок (или просто канала) Ki. На каждый элемент прибора обслуживания Пi поступают потоки событий: в накопитель Hi поток заявок wi, на канал Ki поток обслуживаний иi .

Заявки, обслуженные каналом Ki, и заявки, покинувшие прибор Пi по различным причинам необслуженными (например, из-за переполнения накопителя Hi), образуют выходной поток yi Y, т.е. интервалы времени между моментами выхода заявок образуют подмножество выходных переменных.

Рисунок 1. Прибор обслуживания заявок

Обычно, поток заявок wiW, т.е. интервалы времени между моментами появления заявок на входе Ki, образует подмножество неуправляемых переменных, а поток обслуживания uiU, т.е. интервалы времени между началом и окончанием обслуживания заявки, образует подмножество управляемых переменных.

Процесс функционирования прибора обслуживания Пi, можно представить как процесс изменения состояний его элементов во времени zi(t). Переход в новое состояние для Пi, означает изменение количества заявок, которые в нем находятся (в канале Ki и в накопителе Hi). Таким образом, вектор состояний для Пi, имеет вид , где ziH - состояние накопителя Hi, (ziH = 0 - накопитель пуст, ziH = 1 – в накопителе имеется одна заявка, ..., ziH = JiH  накопитель полностью заполнен); JiH емкость накопителя Нi, измеряемая числом заявок, которые в нем могут поместиться; zikсостояние  канала Ki (zik=0канал свободен, zik = 1 – канал занят).

В практике моделирования систем, имеющих более сложные структурные связи и алгоритмы поведения, для формализации используются не отдельные приборы обслуживания, а Q-схемы, образуемые композицией многих элементарных приборов обслуживания Пi. Если каналы Кi различных приборов обслуживания соединены параллельно, то имеет место многоканальное обслуживание (многоканальная Q-схема), а если приборы Пi и их параллельные композиции соединены последовательно, то имеет место многофазное обслуживание (многофазная Q-схема). Таким образом, для задания Q-схемы. необходимо использовать оператор сопряжения R, отражающий взаимосвязь элементов структуры (каналов и накопителей) между собой.

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

Собственными (внутренними) параметрами Q-схемы будут являться количество фаз Jф, количество каналов в каждой фазе Jkj, j = , количество накопителей каждой фазы JHk, k = , емкость i-го накопителя JiH. Следует отметить, что в теории массового обслуживания в зависимости от емкости накопителя применяют следующую терминологию для систем массового обслуживания:

- системы с потерями (JiH = 0, т.е. накопитель в приборе Пi -отсутствует, а имеется только канал обслуживания Кi), 

- системы с ожиданием (JiH, т.е. накопитель Нi имеет бесконечную емкость и очередь заявок не ограничивается),

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

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

В зависимости от динамики приоритетов в Q-схемах различают статические и динамические приоритеты. Статические приоритеты назначаются заранее и не зависят от состояний Q-схемы. Динамические приоритеты возникают при моделировании в зависимости от возникающих ситуаций. Исходя из правил выбора заявок из накопителя Нi на обслуживание каналом Кi, можно выделить относительные и абсолютные приоритеты. Относительный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель Нi, ожидает окончания обслуживания предшествующей заявки каналом Ki и только после этого занимает канал. Абсолютный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель Hi, прерывает обслуживание каналом Кi заявки с более низким приоритетом и сама занимает канал (при этом вытесненная из Кi заявка может либо покинуть систему, либо может быть снова записана на какое-то место в Hi).

При рассмотрении алгоритмов функционирования приборов обслуживания Пi (каналов Кi и накопителей Нi) необходимо также задать набор правил, по которым заявки покидают Нi и Кi: для Нi - либо правила переполнения, по которым заявки в зависимости от заполнения Нi покидают систему, либо правила ухода, связанные с истечением времени ожидания заявки в Нi, для Кi правила выбора маршрутов или направлений ухода. Кроме того, для заявок необходимо задать правила, по которым они остаются в канале Кi или не допускаются до обслуживания каналом Кi, т.е. правила блокировок канала. При этом различают блокировки Ki по выходу и по входу. Такие блокировки отражают наличие управляющих связей в Q-схеме, регулирующих поток заявок в зависимости от состояний Q-схемы. Весь набор возможных алгоритмов поведения заявок в Q-схеме можно представить в виде некоторого оператора алгоритмов поведения заявок A.

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

Среднее число требований, поступающих в систему обслуживания за единицу времени, называется интенсивностью поступления требований и определяется следующим соотношением:

где Т - среднее значение интервала между поступлением очередных требований.

Для многих реальных процессов поток требований достаточно хорошо описывается законом распределения Пуассона:

вероятность  того, что в обслуживающую систему за время t поступит именно k требований:

где - среднее число требований, поступивших на обслуживание в единицу времени.

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

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

При показательном законе распределения времени обслуживания вероятность  события, что время обслуживания продлиться не более чем t, равна:

где v - интенсивность обслуживания одного требования одним обслуживающим устройством, которая определяется из соотношения:

,    

где - среднее время обслуживания одного требования одним обслуживающим устройством.

Следует заметить, что если закон распределения времени обслуживания показательный, то при наличии нескольких обслуживающих устройств одинаковой мощности закон распределения времени обслуживания несколькими устройствами будет также показательным:

где n - количество обслуживающих устройств.

Важным параметром СМО является коэффициент загрузки , который определяется как отношение интенсивности поступления требований  к интенсивности обслуживания v.

    

где a - коэффициент загрузки;  - интенсивность поступления требований в систему; v - интенсивность обслуживания одного требования одним обслуживающим устройством.

Учитывая, что - интенсивность поступления требований в систему

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

Для СМО с ожиданием количество обслуживаемых устройств n должно быть строго больше коэффициента загрузки (требование установившегося или стационарного режима работы СМО) :

.

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

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

Возможности оценки характеристик с использованием аналитических моделей теории массового обслуживания являются весьма ограниченными. Несравненно большими возможностями обладают имитационные модели, позволяющие исследовать Q-схему без ограничений. На работу с Q-схемами при машинной реализации моделей ориентированы многие языки имитационного моделирования, например SIMULA, SIMSCRIPT, GPSS и др.

1.2. Общие сведения о языке GPSS

Язык GPSS (General Purpose Simulation System – общецелевая система моделирования) относится к классу языков моделирования с транзактами, т.е. ориентирован на описание процессов прохождения заявок, моделируемых транзактами, через элементы вычислительной системы, представленной в виде системы массового обслуживания.

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

1. Динамические объекты – транзакты (сообщения) моделируют заявки. Транзакты могут создаваться, перемещаться по объектам, представляющим в модели оборудование, расщепляться, ликвидироваться. Каждый транзакт может иметь атрибуты – параметры, доступные программисту.

2. Аппаратно-ориентированные объекты представляют в модели ресурсы вычислительной системы. Это устройства, память (многоканальные устройства) и логические переключатели. Устройство может быть свободно или занято определенным транзактом. Состояние памяти характеризуется только количеством свободных или занятых ячеек (их конкретные адреса не фиксируются). Логический переключатель может быть во включеном (S) или выключенном (R) состояниях.

3. Вычислительные объкты: арифметические переменные с фиксированной или плавающей точкой, булевые переменные, случайные функции.

4. Запоминающие объекты: ячейки.

5. Статистические объекты: очереди и таблицы для сбора статистических данных.

6. Группирующие объекты: группы и списки.

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

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

Управляющие карты управляют работой интерпретатора (пуск, останов, очистка и т.д.).

Интерпретатор автоматически фиксирует для каждого объекта стандартные числовые атрибуты (СЧА). СЧА могут использоваться в качестве операндов, аргументов функций, таблиц, элементов переменных. Некоторые СЧА (параметры транзактов, значения сохраняемых ячеек памяти) можно изменять программно, основная часть СЧА доступна только для чтения, но не для записи.

Основные операторы GPSS

Оператор языка GPSS содержит 4 поля: метка (необязательное поле), операция, операнды, комментарий (необязательное поле). Комментарием считаются все символы, стоящие после символа ″;″. Операция может содержать до 9 операндов. Операнды обозначаются латинскими буквами: A, B, C, D, E, F, G, H, I. Часть операндов может быть опущена (если значения этих операндов берутся по умолчанию). Если опускаются не последние операнды, то запятые сохраняются. Если опускаются не последние операнды, то запяты сохраняются (пример: A,B,,D,E).

Далее приводятся основные операторы и их назначение (обязательные операнды подчеркнуты).

SEIZE A (занять). А – имя устройства. Занять можно только свободное устройство. Уже занятое устройство не впускает транзакты, перед ним организуется очередь на основе относительных приоритетов.

RELEASE A (освободить). A – имя устройства. Устройство должно быть освобождено тем же транзактом, который его занял.

PREEMPT A,B,C,D,E (захватить). A – имя устройства. B – возможность захвата занятого устройства. Если B=PR, то возможна любая глубина прерываний на основе абсолютных приоритетов. По умолчанию приоритеты не учитываются, прерывать обслуживание прерывающего транзакта нельзя. C – метка оператора к которому переходит прерванный транзакт. D – номер параметра, в который запишется остаток времени, оставшегося до конца обслуживания. E – признак снятия с обслуживания прерванного транзакта. Если E=RE, то транзакт снимается с обслуживания. По умолчанию прерванный транзакт дообслуживается после обслуживания предыдущего.

RETURN A (вернуть). A – имя захваченного устройства. Освобождать устройство должен тот же транзакт, который его занял.

GENERATE A,B,C,D,E,F,G,H,I (генерировать транзакты). A – среднее значение интервала. B – половина интервала разброса (пример: GENERATE 10,5 – интервал формирования транзактов от 5 до 15 единиц модельного времени равновероятен). C – время появления первого транзакта (по умолчанию C=1). D – максимальное число формируемых транзактов за время моделирования (по умолчанию D=). E – приоритет транзактов (по умолчанию E=0). F÷I – не имеют значения.

TERMINATE A (завершить). Оператор ликвидирует вошедший в него транзакт, вычитает A единиц из счетчика завершений. По умолчанию A=0.

ADVANCE A,B (задержать). A – среднее время задержки. B – модификатор разброса или модификатор функции. Оператор может впускать сколько угодно транзактов.

QUEUE A,B (войти в очередь). A – имя очереди. B – количество занимаемых единиц (по умолчанию B=1).

DEPART A,B (выйти из очереди). A – имя очереди. B – количество занимаемых единиц (по умолчанию B=1). Оператор ставится после операторов SEIZE или PREEMPT.

PRIORITY A,B (назначить приоритет). A – назначаемый транзакту приоритет (в диапазоне от 0 до 127; наивысший приоритет = 127). B=BUFFER означает, что транзакт должен остановиться после изменения приоритета.

Основные понятия имитационного моделирования на GPSS. Главным элементом модели на GPSS является транзакт. Под транзактом понимается заявка, надлежащая обслуживанию.

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

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

Еще одним сегментом модели является прибор. Он обеспечивает продвижение дельного времени в системе.

Прибор осуществляет обслуживание транзакта. Транзакт задерживается в приборе на время его обслуживания.

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

Модель системы массового обслуживания с одним прибором. Такая модель состоит из генератора транзактов, обслуживающего прибора и блока, удаляющего транзакта из системы (рис. 2).

Рисунок 2. Модель СМО с 1 прибором

Для введения транзактов в систему используется блок Generate.

Оператор Generate A задает формирование транзактов с интервалом в A единиц модельного времени.

Пример. Generate 10

На рис. 3 показаны времена появления транзактов.

Рисунок 3. Модель появления транзактов

Транзакты появятся в системе в модельные времена 0, 10. 20, 30, …

Оператор Generate A, B задает появление заявок в системе: A – средняя длительность интервала появления заявок в системе, B – половина интервала разброса от среднего интервала появления заявок в системе.

Пример. Generate 20, 4

Интервал времени появления: 16 ≤ t ≤ 24

Времена возможного появления:

16, 37, 54, …

22, 41, …     Возможны другие варианты.

B задает разброс времени прибытия транзактов в систему по равномерному закону распределения.

Блок Terminate осуществляет удаление транзактов из системы

Блок Seize помещает транзакт в прибор. Seize используется с одним параметром: Seize A. Параметр A задает символьное или численное имя прибора.

Пример.

Seize Prib; Транзакт занимает прибор с именем Prib.

Блок Advance осуществляет задержку транзакта в приборе. Оператор Advance A, B задает задержку транзактов в приборе со средним временем задержки A и половиной разброса задержки B. По умолчанию B = 0.

Пример.

Advance 30, 2

Интервал времени обслуживания: 28 ≤ t ≤ 32.

Блок Release удаляет транзакт из прибора. Release A удаляет транзакт из прибора с именем A.

Пример. Release Prib;

На рис. 4 показан текст программы, реализующей модель (см. рис. 2):

Рисунок 4. Текст программы

Рисунок 5. Блок-схема модели СМО с 1 прибором (см. рис. 2)

Модель системы массового обслуживания с одним прибором и очередью. Модель показана на рис. 6.

Рисунок 6. Модель СМО с одним прибором и очередью

Блок Queue с одним параметром А помещает транзакт в очередь с именем А.

Блок Depart а извлекает транзакт из очереди с именем А.

Текст программы:

; 1-й сегмент модели – сегмент команд

Generate 100

Queue Och

Seize Prib

Depart Och

Advance 110

Release Prib

Terminate

; 2-й сегмент модели – сегмент таймера

Generate 1000

Terminate 1

Рисунок 6. Блок-схема модели СМО с одним прибором и очередью

Моделирование прибора

FACILITY – имя или номер прибора.

ENTRIES – общее число входов в прибор за время моделирования.

UTIL. – коэффициент использования прибора в течение всего времени моделирования.

AVE_TIME – среднее время пребывания транзактов в приборе.

AVAILABLE – номер транзакта, занявшего прибор.

OWNER – номер транзакта, захватившего прибор.

Моделирование очереди

QUEUE – имя или номер очереди.

MAX – максимальная длина очереди за время моделирования.

CONT – текущая длина очереди (во время окончания моделирования).

ENTRIES – общее число входов в очередь.

ENTRIES(0) – общее число нулевых входов в очередь. Транзакт вошел в очередь, но прибор в это время был свободен, при этом транзакт сразу покидает очередь и займет прибор. Время пребывания в очереди равно 0.

AVE.CONT – средняя длина очереди.

AVE.TIME – среднее время пребывания транзакта в очереди.

AVE.(-0) – среднее время пребывания транзактов в очереди за исключением транзактов с нулевым входом в очередь.

2. Подготовка к работе

Ознакомиться с теорией систем массового обслуживания, произвести теоретические расчеты по пунктам 3.1.1 и 3.2.1.

3. Порядок выполнения работы

3.1. Моделирование простейших СМО

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

Пример выполнения работы

Задание:

Интенсивность формирования команд .

Длительность выполнения команды .

3.1.1. Теоретический расчет результатов моделирования (подготовить заранее)

1. Построить временные диаграммы функционирования системы:

– поступления заявок;

– обслуживания заявок в приборе;

– состояния очереди.

2. Определить или вычислить:

– максимальную длину очереди;

– среднюю длину очереди;

– среднее время ожидания заявки в очереди;

– среднее время ожидания заявки в очереди без учета «нулевых» входов;

– коэффициент загрузки прибора.

Расчет

Ниже приводимый расчет выполнен для моделирования 1000 единиц модельного времени.

Времена появления i-х заявок 1-го сегмента модели рассчитываются согласно зависимости:

.      (1)

По формуле (1) получены времена появления заявок 1-го сегмента модели: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000.

Времена обслуживания заявок 1-го сегмента модели в приборе:

– первая заявка: 100 (время начала обслуживания) – 209 (время конца обслуж.);

– вторая заявка: 210 – 319;

– третья заявка: 320 – 429;

– четвертая заявка: 430 – 539;

– пятая заявка: 540 – 649;

– пятая заявка: 540 – 649;

– шестая заявка: 650 – 759;

– седьмая заявка: 760 – 869;

– восьмая заявка: 870 – 979;

– девятая заявка: 980 – 1000; (в момент 1000 – завершение моделирования)

Длина первой очереди: 0 (время: 1 – 199), 1 (200 – 219), 0 (220 – 299), 1 (300 – 329), 0 (330 – 399), 1 (400 – 439), 0 (440 – 499), 1 (500 – 549), 0 (550 – 599), 1 (600 – 659), 0 (660 – 699), 1 (700 – 769), 0 (770 – 799), 1 (800 – 879), 0 (880 – 899), 1 (900 – 989), 0 (990 – 999).

Максимальная длина очереди = 1.

Средняя длина очереди = (0*560 + 1*440)/1000 = 0,440.

Среднее время ожидания заявки в очереди определяется следующим образом:

,      (2)

где  – число обслуженных заявок за заданное время моделирования;

 – время ожидания i-й заявки в очереди, определяемое выражением:

,     (3)

где  – время начала обслуживания i-й заявки;

По формулам (2) и (3) вычислено среднее время ожидания заявки очереди:

,

Среднее время ожидания заявки в очереди без учета нулевых входов = (10 + 20 + 30 + 40 + 50 + 60 +70 +80) / 8 = 45.

Коэффициент загрузки прибора = (0*100 + 1*900) / 1000 = 0,9.

3.1.2. Моделирование в GPSS

Определить:

1) Число попаданий команд в вычислительный прибор.

2) Процент использования вычислительного прибора.

3) Максимальную длину очередей.

4) Длину очереди на момент завершения моделирования.

5) Количество вхождений команд в очередь.

6) Количество нулевых вхождений команд в очередь.

7) Среднее количество команд в очереди.

8) Среднее время пребывания команд в очереди.

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

- команда формируется;

- если необходимо, то команда ждет своей очереди на выполнение;

- команда попадает в вычислительный прибор, который осуществляет ее выполнение;

- после выполнения команда покидает систему.

Модель системы показана на рис. 5. На рисунке имеют место следующие обозначения: G – формирователь команд, Och – очередь для команд формирователя, Prib – вычислительный прибор.

Блок-схема программы показана на рис. 6.

Порядок работы с интерпретатором

Для моделирования системы необходимо выполнить следующую последовательность действий:

1. В меню ″Пуск″ выбрать вкладку ″Программы″, в которой выбрать ″GPSS World Student Version″.

2. В меню ″File″ необходимо выбрать вкладку ″New″.

3. В открывшемся окне ″Новый документ″ выбрать тип создаваемого документа ″Model″ и нажать клавишу ″OK″.

4. В открывшемся окне необходимо ввести текст программы.

5. Для сохранения файла в меню ″File″ необходимо выбрать строку ″Save As…″ и ввести в ней имя файла.

6. В меню ″Command″ следует выбрать вкладку ″Create Simulation″. В ответ интерпретатор выдаст сообщение: ″Model Translation Begun. Ready.″.

7. В меню ″Command″ следует выбрать команду ″Start″. В появившемся окне нужно ввести ″Start 1″. После чего на экране появится отчет с результатами моделирования.

Текст программы (см. выше).

Результаты моделирования:

  GPSS World Simulation Report - Untitled Model 1.1.1

                  Wednesday, March 25, 2009 10:40:26  

          START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

               0.000           1000.000     9        1          0

             NAME                       VALUE  

         OCH                         10000.000

         PRIB                        10001.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                   1    GENERATE             9             0       0

                   2    QUEUE                9             0       0

                   3    SEIZE                9             0       0

                   4    DEPART               9             0       0

                   5    ADVANCE              9             1       0

                   6    RELEASE              8             0       0

                   7    TERMINATE            8             0       0

                   8    GENERATE             1             0       0

                   9    TERMINATE            1             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

PRIB                 9    0.900     100.000  1       10    0    0     0      0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

OCH                 1    0      9      1     0.360     40.000     45.000   0

CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

   11    0        1000.000     11      0      1

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

   10    0        1090.000     10      5      6

   12    0        2000.000     12      0      8

Расшифровка результатов моделирования.

Моделирование прибора:

FACILITY – имя (номер) прибора;

ENTRIES – общее число входов в прибор за время моделирования;

UTIL. – коэффициент использования прибора течении всего времени моделирования;

AVE_TIME – среднее время пребывания транзакта в приборе;

AVAILABLE – номер транзакта, занявшего прибор;

OWNER – номер транзакта, захватившего прибор.

Моделирование очереди:

QUEUE – имя (номер) очереди;

MAX – максимальное содержимое очереди за время моделирования;

CONT – текущее содержимое очереди;

ENTRIES – общее число входов в очередь;

ENTRIES(0) – количество ″нулевых″ входов в очередь (т.е. входов транзактов в очередь, когда прибор был свободен; при этом время пребывания транзакта в очереди равно нулю);

AVE.CONT. – среднее содержимое очереди;

AVE.TIME – среднее время пребывания транзакта в очереди;

AVE.(-0) – среднее время пребывания без учета ″нулевых″ входов.

Анализ результатов моделирования:

1) Число попаданий команд в вычислительный прибор = 9.

2) Процент использования вычислительного прибора = 0.900.

3) Максимальная длина очереди = 1.

4) Длина очереди на момент завершения моделирования = 0.

5) Количество вхождений команд в очередь = 9.

6) Количество нулевых вхождений команд в очередь = 1.

7) Среднее количество команд в очереди = 0.360.

8) Среднее время пребывания пакетов в очереди = 40.000.

3.1.3 Варианты заданий: (интенсивность формирования и времени передачи)

Вариант

1

110

2

105

3

120

4

115

5

130

6

125

7

140

8

135

9

150

10

145

3.2 Моделирование работы передающего устройства видеопакетов

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

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

Пример выполнения работы

Задание:

Интенсивность формирования первого формирователя пакетов .

Длительность пакета первого формирователя .

Интенсивность формирования второго формирователя пакетов . Пакеты 2-го формирователя имеют более высокий приоритет, чем заявки 1-го формирователя.

Длительность пакета первого формирователя .

Интенсивность отказов

Длительность отказов .

3.2.1 Теоретический расчет результатов моделирования

1. Построить временные диаграммы функционирования системы:

– поступления заявок;

– обслуживания заявок в приборе;

– состояния очереди.

2. Определить или вычислить:

– максимальную длину очереди;

– среднюю длину очереди;

– среднее время ожидания заявки в очереди;

– среднее время ожидания заявки в очереди без учета «нулевых» входов;

– коэффициент загрузки прибора.

Расчет

Ниже приводимый расчет выполнен для моделирования 1000 единиц модельного времени при следующем условии возникновения отказов: .

Времена появления i-х заявок 1-го сегмента модели:

.      (1)

По формуле (1) получены времена появления заявок 1-го сегмента модели: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000.

Времена появления i-х заявок 2-го сегмента модели определяются как:

.      (2)

Согласно формуле (2) рассчитаны времена появления заявок 2-го сегмента модели: 200, 400, 600, 800, 1000.

Времена обслуживания заявок 1-го сегмента модели в приборе:

– первая заявка: 100 (время начала обслуживания) – 199 (время конца обслуж.);

– вторая заявка: 310 – 409;

– третья заявка: 520 – 619;

– четвертая заявка: 730 – 829;

– пятая заявка: 940 – 999 (в момент времени = 1000 возникает отказ устройства);

Времена обслуживания заявок 2-го сегмента модели в приборе:

– первая заявка: 200 (время начала обслуживания) – 309 (время конца обслуж.);

– вторая заявка: 410 – 519;

– третья заявка: 620 – 729;

– четвертая заявка: 830 – 939.

Длина первой очереди: 0 (время: 1 – 199), 1 (200 – 299), 2 (300 – 309), 1 (310 – 399), 2 (400 – 499), 3 (500 – 509), 2 (510 – 599), 3 (600 – 699), 4 (700 – 729), 3 (720 – 799), 4 (800 – 899), 5 (900 – 939), 4 (940 – 999), 5 (1000).

Длина второй очереди: 0 (время: 1 – 399), 1 (400 – 409), 0 (409 – 599), 1 (600 – 619), 0 (620 – 799), 1 (800 – 829), 0 (830 – 999), 1 (1000).

Максимальная длина первой очереди = 5.

Максимальная длина второй очереди = 1.

Средняя длина первой очереди = (0*200 + 1*100 + 2*10 + 1*90 + 2*100 + 3*10 + 2*90 + 3*100 + 4*30 + 3*80 + 4*100 + 5*40 + 4*60 + 5*1)/1000 = 2,225.

Средняя длина второй очереди = (0*400 + 1*10 + 0*190 + 1*20 + 0*180 + 1*30 + 0*170 + 1*1)/1000 = 0,061.

Среднее время ожидания заявки в очереди определяется следующим образом:

,      (3)

где  – число обслуженных заявок за заданное время моделирования;

 – время ожидания i-й заявки в очереди, определяемое выражением:

,     (4)

где  – время начала обслуживания i-й заявки;

По формулам (3) и (4) вычислено среднее время ожидания заявки в первой очереди и второй очередях:

,

.

Среднее время ожидания заявки в первой очереди без учета нулевых входов = (110 + 220 + 330 + 440) / 4 = 275.

Среднее время ожидания заявки во второй очереди без учета нулевых входов = (10 + 20 + 30) / 3 = 20.

Коэффициент загрузки прибора = (0*100 + 1*900) / 1000 = 0,9.

3.2.2. Моделирование в GPSS

Определить:

1) Число попаданий пакетов в передатчик.

2) Процент использования передающего устройства.

3) Максимальные длины очередей.

4) Длины очередей на момент завершения моделирования.

5) Количество вхождений пакетов в очереди.

6) Количество нулевых вхождений пакетов в очереди.

7) Среднее количество пакетов в очередях.

8) Среднее время пребывания пакетов в очереди.

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

- пакет формируется;

- если необходимо, то пакет ждет своей очереди на передачу;

- пакет попадает в передающее устройство, который осуществляет его отправку в линию передачи данных;

- в случае успешной отправки пакет покидает систему. В случае же неудачи – попадает в FIFO на переотправку, затем – в передатчик, и в случае удачной переотправки покидает систему.

Модель системы показана на рис. 7. , где G1 – первый формирователь пакетов, G2 – второй формирователь пакетов, G3 – формирователь поломок прибора (т.е. передатчика пакетов), line2 – очередь для пакетов первого формирователя (с наинизшим приоритетом), line3 – очередь для пакетов второго формирователя (с наивысшим приоритетом), line1 – очередь для переотправки пакетов, находившихся в передатчике во время его поломки, Prib – передающее устройство.

Рис. 7. Структура модели вычислительного узла для передачи пакетов видеосообщений

Блок-схема программы показана на рис. 8.

Рисунок 8. Блок-схема программы

Текст программы:

; сегмент первого формирователя видеопакетов

01 generate 100,,,,2 ; генерация пакета

02 queue line2       ; постановка пакета в очередь

03 seize prib        ; попадание пакета в передатчик

04 depart line2      ; покидание пакета из очереди

05 advance 100       ; время передачи пакета в линию передачи данных

06 release prib      ; окончание передачи пакета

07 terminate         ; пакет покидает систему моделирования

; сегмент второго формирователя видеопакетов

08 generate 200,,,,3

09 queue line3

10 seize prib

11 depart line3

12 advance 110

13 release prib

14 terminate

; сегмент отказов

15 generate 1000,200,,,0     ; формирование поломок

16 preempt prib,,met1,,re    ; поломка захватывает передатчик

17 advance 130,20            ; задание времени поломки

18 return prib               ; окончание поломки

19 terminate                 ; поломка покидает систему

20 met1 queue line1          ; постановка в очередь пакета, находящегося в

; передатчике во время его поломки

21 seize prib                ; пакет поступает в передатчик

22 depart line1              ; пакет на переотправку покидает очередь

23 advance 110               ; задание времени передачи

24 release prib              ; пакет на переотправку покидает прибор

25 terminate                 ; пакет на переотправку покидает систему моделир-я

; сегмент таймера

26 generate 100000           ; задание времени моделирования

27 terminate 1               ; окончание моделирования

Результаты моделирования:

             GPSS World Simulation Report – Lab3_2s.14.1

                  Wednesday, February 27, 2008 12:31:20  

          START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

               0.000         100000.000    27        1          0

             NAME                       VALUE  

         LINE1                       10003.000

         LINE2                       10000.000

         LINE3                       10002.000

         MET1                           20.000

         PRIB                        10001.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                   1    GENERATE          1000             0       0

                   2    QUEUE             1000           698       0

                   3    SEIZE              302             0       0

                   4    DEPART             302             0       0

                   5    ADVANCE            302             1       0

                   6    RELEASE            247             0       0

                   7    TERMINATE          247             0       0

                   8    GENERATE           500             0       0

                   9    QUEUE              500             1       0

                  10    SEIZE              499             0       0

                  11    DEPART             499             0       0

                  12    ADVANCE            499             0       0

                  13    RELEASE            454             0       0

                  14    TERMINATE          454             0       0

                  15    GENERATE           102             0       0

                  16    PREEMPT            102             0       0

                  17    ADVANCE            102             0       0

                  18    RETURN             102             0       0

                  19    TERMINATE          102             0       0

MET1               20    QUEUE              102            42       0

                  21    SEIZE               60             0       0

                  22    DEPART              60             0       0

                  23    ADVANCE             60             0       0

                  24    RELEASE             57             0       0

                  25    TERMINATE           57             0       0

                  26    GENERATE             1             0       0

                  27    TERMINATE            1             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

PRIB               963    0.999     103.738  1      485    0    0     0    741

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 LINE2             698  698   1000      1   347.167  34716.734  34751.485   0

LINE3               2    1    500      1     0.341     68.245     68.382   0

LINE1              43   42    102      0    21.082  20668.415  20668.415   0

Анализ результатов моделирования:

1) Число попаданий пакетов в передатчик = 861.

2) Процент использования передающего устройства = 0.999.

3) Максимальные длины очередей = 698, 2 и 43.

4) Длины очередей на момент завершения моделирования = 698, 1 и 42.

5) Количество вхождений пакетов в очереди = 1000, 500 и 102.

6) Количество нулевых вхождений пакетов в очереди = 1, 1 и 0.

7) Среднее количество пакетов в очередях = 347.167, 0.341 и 21.082.

8) Среднее время пребывания пакетов в очереди = 34716.734, 68.245 и 20668.415.

3.2.3 Варианты заданий: (интенсивность формирования и времени передачи)

Вариант

1

-

110

150

80

-

2

-

105

145

85

-

3

-

120

140

90

-

4

-

115

135

95

-

5

130

130

100

145

6

-

125

125

110

-

7

140

120

115

155

8

135

115

120

140

9

150

110

125

135

10

145

105

130

160

Варианты заданий (продолжение): (интенсивность отказов и время отказа)

Вариант

1

210±20

2

205±30

3

220±40

4

215±50

5

230±60

6

225±70

7

240±80

8

235±90

9

250±75

10

245±65

3.3. Моделирование работы многоканального устройства

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

Пример выполнения работы

Задание:

Интенсивность формирования транзактов .

Длительность обслуживания транзактов .

Количество каналов устройства, требуемых для обслуживания транзакта k = 3.

Количество каналов многоканального устройства c = 5.

Определить:

1) Число попаданий пакетов в многоканальное устройство.

2) Процент использования многоканального устройства.

3) Максимальную длину очереди.

4) Длиныу очереди на момент завершения моделирования.

5) Количество вхождений транзактов в очередь.

6) Количество нулевых вхождений транзактов в очередь.

7) Среднее количество транзактов в очереди.

8) Среднее время пребывания пакетов в очереди.

Модель системы показана на рис. 9. На рисунке имеют место следующие обозначения: G1 – формирователь транзактов, line1 – очередь для транзактов, Prib – многоканальное устройство.

Рисунок 9. Структура модели с многоканальным прибором

Текст программы:

; сегмент транзактов

Prib storage 5 ; емкость многоканального устройства = 5

generate 100

queue line1

enter Prib,3 ; вход транзакта в многоканальное устройство Prib с занятием 3-х ;приборов

depart line1

advance 50

leave Prib,3 ; транзакт покидает 3 прибора многоканального устройства Prib

terminate

; сегмент таймера

generate 1000

terminate 1

 Результаты моделирования:

 GPSS World Simulation Report - laba6.1.1

                  Sunday, May 04, 2008 10:22:08  

          START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

               0.000           1000.000     9        0          1

             NAME                       VALUE  

         LINE1                       10001.000

         PRIB                        10000.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                   1    GENERATE             9             0       0

                   2    QUEUE                9             0       0

                   3    ENTER                9             0       0

                   4    DEPART               9             0       0

                   5    ADVANCE              9             0       0

                   6    LEAVE                9             0       0

                   7    TERMINATE            9             0       0

                   8    GENERATE             1             0       0

                   9    TERMINATE            1             0       0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

LINE1               1    0      9      9     0.000      0.000      0.000   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

PRIB                5    5   0     3       27   1    1.350  0.270    0    0

CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

   11    0        1000.000     11      0      1

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

   12    0        2000.000     12      0      8

Расшифровка результатов моделирования многоканального устройства:

STORAGE – имя (номер) прибора;

CAP – емкость многоканального устройства;

REMAIN – текущее содержимое (в момент остановки моделирования);

MIN – минимальное содержимое;

MAX – максимальное содержимое;

ENTRIES – общее число занятий приборов;

AVE.C – среднее содержимое;

UTIL – средняя загрузка.

Анализ результатов моделирования: (сделать самим)

Варианты заданий:

Вариант

1

5

6

2

4

7

3

7

8

4

6

9

5

8

10

6

9

11

7

10

12

8

11

13

9

12

14

10

13

15

PAGE  1


ui

wi

i

Кi

уi

Нi


 

А также другие работы, которые могут Вас заинтересовать

10387. Періодична система хімічних елементів Д. І. Менделєєва 243.5 KB
  Тема: Періодична система хімічних елементів д. і. менделєєва Навчальна мета: розгляути характер руху електрона; ввести поняття орбіталь енергетичний рівень і енергетичний підрівень; розглянути та проаналізувати правила заповнення електронних шарів атомів хімі
10388. Оксиген як хімічний елемент. Кисень проста речовина 43.5 KB
  Оксиген. Кисень Тема. Оксиген як хімічний елемент. Кисень проста речовина. Оксиген у природі. Фізіологічна дія кисню. Добування кисню в лабораторії. Каталізатори. Фізичні властивості кисню. Мета. Навчити учнів за планом давати характерис
10389. Хімія та екологія 82.5 KB
  Дата: Тема: €œХімія та екологія.€ Мета: навчальна: ознайомити учнів з екологічними проблемами дати поняття основним чинникам та джерелам забруднення їх впливу на довкілля; виховна: виховувати вміння вести бесіду самостійно конструювати свої знання орієн
10390. Ізомерія етиленових вуглеводнів, номенклатура. Розв’язування тренувальних вправ на написання ізомерів 36.5 KB
  Тема: Ізомерія етиленових вуглеводнів номенклатура. Розв’язування тренувальних вправ на написання ізомерів. Навчальна мета: ознайомити з новим видом ізомерії за положенням кратних зв’язків, продовжувати розвивати уміння складати структурні формули за назвами речо
10391. Нітратна кислота та її солі - нітрати 84.5 KB
  Мета: поглибити знання учнів про нітратну кислоту розглянути властивості нітратної кислоти зумовлені наявністю в її складі атома Нітрогену у найвищому ступені окиснення а саме її взаємодію з металами підкреслити небезпечність концентро...
10392. Бензен як представник ряду ароматичних вуглеводнів. Його склад, електронна і структурні формули, фізичні властивості. Хімічні властивості бензену 169 KB
  Дата: Тема: Бензен як представник ряду ароматичних вуглеводнів. Його склад електронна і структурні формули фізичні властивості. Хімічні властивості бензену€. Тип уроку: урок вивчення нового матеріалу. Навчальна мета: Ознайомити учнів з бензеном як предста...
10393. Будова електронних оболонок атомів елементів перших трьох періодів 97 KB
  Планконспект уроку з хімії На тему: Будова електронних оболонок атомів елементів перших трьох періодів Мета: Розкрити причину періодичної зміни властивостей елементів і їх сполук у світлі закономірної зміни будови електронних оболонок атомів. Розвивати пізнавальну...
10394. Відносна молекулярна маса речовини, обчислення її за хімічною формулою. Масова частка елемента у речовині. Обчислення масової частки елемента у складі речовини 6.95 MB
  Тема: Відносна молекулярна маса речовини обчислення її за хімічною формулою. Масова частка елемента у речовині. Обчислення масової частки елемента у складі речовини. Навчальна мета: 1 закріпити знання про хімічні формули й уміння обчислювати відносну молекулярну масу...
10395. Генетичний звязок між класами органічних сполук 41 KB
  Тема: Генетичний звязок між класами органічних сполук. Навчальна мета: узагальнити знання учнів про класи органічних сполук обґрунтувати твердження про єдність і взаємозв’язок усієї живої і неживої природи. Виховна мета: виховувати в учнів самостійність вміння вико...