99662

Модели систем массового обслуживания (СМО) на примере СМО с круговой диспетчиризацией и замкнутой сетевой СМО

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

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

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

Русский

2016-10-06

159 KB

0 чел.

Содержание.


ЦЕЛЬ РАБОТЫ: Научиться работать с симулятором
GPSS PC. Изучить простейшие модели систем массового обслуживания (СМО) на примере СМО с круговой диспетчиризацией и замкнутой сетевой СМО.

Введение.

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

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

Транслятор языка GPSS является транслятором интерпретирующего типа.

Общие сведения о языке GPSS и описание основных операторов языка.

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

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

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

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

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

Запоминающие объекты: ячейки SAVEVALUE формата: байт, полуслово, слово, слово с плавающей точкой.

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

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

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

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

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

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

Операторы, связанные с динамическими объектами.

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

С динамическими объектами GPSS PC связаны пять операторов  GPSS: GENERATE, TERMINATE, ASSIGN, PRIORITY и START.

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

[name] GENERATE A,B,C,D,E,F,G

где

[name] - необязательное имя блока, расположенное в поле метки;

GENERATE - ключевое слово, расположенное в поле операторов;

A,...,G - операнды;

A - величина среднего интервала поступления транзактов в модель;

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

C - величина смещения интервалов поступления транзактов, определяющая момент поступления первого транзакта в модель;

D - ограничитель количества поступающих через данный оператор GENERATE в модель транзактов;

E - уровень приоритета транзактов, вошедших в модель через данный оператор;

F - количество параметров транзакта; G - тип параметров (H - полуслово, F - слово).

Все операнды оператора являются необязательными. По умолчанию значения всех операндов (кроме операнда D) устанавливаются в ноль. Значение D по умолчанию равно бесконечности. Уровень приоритета транзакта (операнд E) может принимать 128 различных значений (от 0 до 127). Чем больше число, тем выше приоритет. Следовательно, по умолчанию транзакту устанавливается наименьший приоритет. Ограничения на количество операторов GENERATE в одной модели не существуют.

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

GENERATE 4, 3, 15, 10;

GENERATE 7,, 3,,, 2, Н;

 

Первый пример устанавливает момент первого прихода транзакта на 15-й единице времени. После этого интервалы времени прибытия транзактов в модель находят из равномерного распределения 43, иначе говоря, от 1 до 7 включительно. Во втором примере время первого прибытия задано числом 3. После этого приход новых транзактов будет осуществляться через каждые семь единиц модельного времени. То есть поступление транзактов в модель будет происходить в моменты времени 3,10,17,24,31 и т. д. Транзакт имеет два байтовых параметра.

Оператором, выполняющим вывод транзактов из модели, является оператор TERMINATE (ЗАВЕРШИТЬ). В модели может быть любое число блоков TERMINATE. Оператор имеет единственный операнд А, который является указателем уменьшения счетчика числа завершений, определяюoим момент окончания процесса моделирования. Счетчик числа завершений устанавливается на шаге ассемблирования текста модели до начала моделирования управляющим оператором START.

START А

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

Оставшиеся два оператора, связанные с динамическими объектами GPSS PC - ASSIGN и PRIORITY, изменяют, соответственно, значение одного из параметров и уровень приоритета транзактов, проходящих через них.

Операторы, связанные с аппаратными объектами  типа прибор.

Понятию "прибор", используемому в теории массового обслуживания, при моделировании технических средств соответствуют устройства (узлы, блоки) вычислительной системы, выполняющие обработку или пересылку информации. С приборами связаны следующие пять операторов GPSS: SEIZE, RELEASE, ADVANCE, PREEMPT и RETURN. В рамках  данной работы будут рассмотрены первые три оператора.

Вход транзакта в оператор SEIZE (ЗАНЯТЬ) моделирует занятие прибора. Вход того же транзакта в оператор RELEASE (ОСВОБОДИТЬ) моделирует освобождение этого прибора. Назначением оператора RELEASE является изменение состояния ранее занятого прибора из положения "занято" в положение "свободно". Если один из транзактов прошел через оператор SEIZE, но не достиг оператора RELEASE одноименного прибора, никакой другой транзакт не может войти в прибор через оператор SEIZE. Ожидающий транзакт находится в операторе, предшествующем оператору SEIZE. В противоположность оператору SEIZE оператор RELEASE никогда не запрещает вход транзакта. Однако существует ситуация, когда вход в оператор RELEASE вызывает ошибку. Это происходит при попытке освободить свободный прибор или при попытке транзакта войти в оператор RELEASE без наличия у него отметки о прохождении одноименного оператора SEIZE.

Операторы SEIZE и RELEASE имеют единственный обязательный операнд, задающий символическое или числовое имя прибора.

Для реализации задержки продвижения транзакта по модели (на время обработки или пересылки данных) в языке GPSS существует оператор ADVANCE (ЗАДЕРЖАТЬ). Информация, необходимая для описания времени обслуживания и его распределения, задается операндами A и B. В операнде A указывается среднее значение величины задержки в единицах модельного времени. Операнд B может быть задан двумя способами. При равномерном распределении в интервале, имеющем нечетную величину размера, в операнде B указывается половина поля допуска. Если величина задержки распределена неравномерно, то в операнде B указывается функция FN$i, описывающая данное распределение (задание функций в языке GPSS будет рассматриваться в одной из последующих лабораторных работ). В случае когда задержка не является случайной величиной, в операнде A указывается величина этой задержки, а операнд B опускается. По умолчанию значения операндов A и B оператора ADVANCE устанавливаются равными нулю.

Оператор ADVANCE можно использовать в качестве "фиктивного" ("пустого") оператора. При этом необходимо указать оператор без операндов.

Пример стандартной последовательности операторов SEIZE - ADVANCE - RELEASE:


SEIZE             PROC

ADVANCE    15, 5

RELEASE      PROC

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

Операторы ADVANCE необязательно располагать между операторами SEIZE и RELEASE. Они могут находиться в любом месте модели. Выбор места определяется логическими условиями возникновения задержек при обработке или передаче информации в моделируемой вычислительной системе.

В ходе моделирования интерпретатор GPSS обеспечивает автоматический сбор некоторых видов статистической информации о моделируемой системе. Для произвольного i-го прибора осуществляется сбор следующих данных, которые доступны пользователю в виде стандартных числовых атрибутов (СЧА):

FC$i - счетчик числа транзактов, вошедших в i-й прибор;

FT$i - среднее время обслуживания одного транзакта;

FR$i - коэффициент использования i-го прибора;

- F$i    - текущее состояние i-го прибора (1- занят, 0 - свободен).

При занятости прибора транзакт, совершивший попытку войти в него через оператор SEIZE, остается в предшествующем операторе. В общем случае в предшествующем операторе может организоваться очередь транзактов, ожидающих освобождение прибора. Порядок выхода транзактов из этой очереди и прохождения их через оператор SEIZE определяется дисциплиной обслуживания. В простейшем случае будем использовать дисциплину "первым пришел - первым обслужен". В GPSS эта дисциплина используется по умолчанию для транзактов одного приоритета. Уровень приоритета автоматически учитывается интерпретатором при выборе очередного транзакта на обслуживание.

Понятие очереди и статистическая информация об их формировании занимают одно из центральных мест при анализе сложных технических систем. В языке GPSS существует возможность автоматического сбора статистических данных об очередях при использовании в соответствующих местах модели специальных операторов.

Операторы, обеспечивающие сбор статистики при ожидании.

К операторам, обеспечивающим автоматический сбор статистических данных об очередях, возникающих в исследуемой системе, относятся операторы QUEUE, DEPART и QTABLE.

Элементы регистрации очередей во многом подобны такому элементу моделирования, как прибор. Как и при использовании приборов, в модели могут существовать несколько различных регистраторов очередей, имеющих различные имена. Разработчик вносит регистратор очереди в модель с помощью пары взаимодействующих операторов: QUEUE (СТАТЬ В ОЧЕРЕДЬ) и DEPART (ПОКИНУТЬ ОЧЕРЕДЬ). При вхождении транзакта в очередь увеличивается показание счетчика очереди. Оба оператора имеют по два операнда - A и B. В обязательном операнде A указывается символическое или числовое имя очереди, а в операнде B - величина, на которую изменяется счетчик очереди (увеличивается - при вхождении в QUEUE и уменьшается при вхождении в DEPART). Если операнд B опущен, значение счетчика очереди модифицируется на единицу.

При попадании транзакта в оператор QUEUE выполняется обработка соответствующей подпрограммы, включающей следующие действия:

увеличение на значение операнда В счетчика входов очереди, указанной в операнде А;

увеличение счетчика текущего содержимого очереди на значение, указанное в операнде В;

в  транзакте   фиксируется   имя  очереди, указанное  в  операнде А;

в транзакте фиксируется текущее модельное время как время вхождения в очередь.

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

уменьшение счетчика текущего содержимого очереди, указанной в операнде А оператора DEPART, на значение операнда В;

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

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

В конце моделирования интерпретатор автоматически распечатывает следующие элементы статистики о произвольной i-й очереди, которые доступны пользователю как СЧА:

QC$i - показания счетчика числа входов в i-ю очередь;

QZ$i - показания счетчика нулевых вхождений;

QM$i - максимальное содержимое i-й очереди;

QA$i - среднее содержимое i-й очереди;

QT$i - среднее время пребывания транзакта в i-й очереди;

QX$i - среднее время пребывания транзакта в i-й очереди без учета нулевых вхождений;   

Q$i - текущее содержимое i-й очереди.

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

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

Во-вторых, независимо от того, остается транзакт в блоке QUEUE или покидает его, он остается элементом очереди до тех пор, пока не войдет в блок DEPART соответствующей очереди.

Кроме того, в языке GPSS накладывается ограничение на количество очередей, в которые вошел транзакт. Это объясняется конечным числом полей для записи имен очередей в каждом транзакте. Транзакт не может присутствовать одновременно более чем в пяти очередях.

При исследовании системы часто кроме показателя среднего времени пребывания транзакта в очереди требуется знать распределение этой величины. Для оценки распределения времени пребывания транзакта в очереди в языке GPSS существует специальный оператор QTABLE. Сам оператор QTABLE, описывающий таблицу распределения, располагается, как правило, до первого оператора GENERATE. Занесение значений в таблицу происходит при каждом вхождении транзакта в оператор DEPART очереди, для которой определен оператор QTABLE. Оператор имеет следующий формат:

name QTABLE A,B,C,D,

где name - символическое или числовое имя таблицы; А - имя очереди, для которой производится сбор статистики; В - первое граничное значение интервалов таблицы; С - ширина интервалов таблицы; D - количество интервалов таблицы, включая левый и правый. Значение операндов B,C,D должны определяться целыми неотрицательными конcтантами.

Выводимая на печать Q-таблица содержит следующие столбцы:

величина верхней границы интервала;

количество "попадания" значений в данный интервал;

частота (в процентах) "попадания в интервал";

суммарный процент "попадания" значений в интервал от 0 до верхней границы текущего интервала;

суммарный остаток, вычисляемый как дополнение результата из столбца 4 до 100 %;

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

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

Кроме того, выводятся общие для очереди статистические характеристики, СЧА для которых указаны в Приложении:

количество элементов (входов) таблицы;

среднее значение времени пребывания в очереди;

стандартное (квадратичное) отклонение;

сумма аргументов таблицы.

При отклонении моделирования вывод таблицы осуществляется только не для пустых интервалов. Интервалы, в которые не попало ни одного транзакта, в листинг результатов не включаются. Необходимо помнить, что качество полученного распределения зависит от выбора пользователем GPSS PC размеров интервалов, их количества и границ. Как правило, для получения удовлетворительного графика требуется несколько прогонов модели с различными операторами QTABLE.


Краткое описание среды моделирования GPSS PC.

Программа моделирования состоит из двух исполняемых файлов GPSSPC.EXE и GPSSREPT.EXE и служебных файлов: POSITION.GPS, REPORT.GPS, SETTINGS.GPS, STARTUP.GPS.

Файл GPSSPC.EXE – это непосредственно среда в которой пользователь может загружать уже имеющиеся на диске программы, вводить новые, редактировать их, сохранять, а также выполнять моделирование.  После загрузки среды экран оказывается разделенным на два поля: верхнее и нижнее. В верхнем размещается оттранслированный текст программы, а в нижнем вводятся строки исходного текста и служебные команды. В первой позиции нижнего поля высвечивается приглашение для ввода в виде: «>».

В процессе ввода переход между полями осуществляется нажатием клавиши ПРОБЕЛ. При этом переход происходит только при условии корректности ввода. При попытке ввода недопустимого символа курсор начинает мигать и снизу текущей позиции появляется символ «^».

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

Табл.1 Обобщенный список полей:

0

1

2

3

4

5

>

Номер строки

Метка

Оператор

Операнды

Комментарий

L

V

[A][B][C][D][E][F]

;

Описание полей:

0 – Приглашение для ввода, Всегда присутствует на экране.

1 – Номер строки. Здесь вводится номер строки программы. Поле обязательно должно быть заполнено. Вводится только для операторов языка GPSS, но не для команд среды.

2 – Метка. Необязательное поле.

3 – Оператор. Обязательное поле. Содержит оператор программы.

4 – Операнды. Их число может быть >=0, в зависимости от вводимой команды.

5 – Комментарий. При его вводе перед текстом автоматически добавляется символ «;»

Трансляция введенной строки производится после нажатия клавиши ENTER. При этом она переходит в верхнее поле экрана.

Рассмотрим некоторые наиболее часто используемые команды среды GPSS PC:

EDIT А

где А – номер редактируемой строки. Редактировать строку программы перенесенную в верхнее поле. После выполнения команды, строка с указанным номером помещается в нижнее поле для редактирования.

  

где А – имя файла. Загрузить имеющуюся на диске программу. При загрузке происходит ее трансляция.

  SAVE А

где А – имя файла, Сохранить набранную пользователем программу в файле на диске.

 START А

где А – начальное значение счетчика завершений. Начать моделирование, после набора последней строки программы.

  END

Выход из среды моделирования.

Программы GPSS PC, как результат моделирования формирует стандартный файл отчета REPORT.GPS.

Для просмотра стандартного статистического отчета необходимо загрузить файл GPSSREPT.EXE.


Описание используемых в лабораторной работе моделей.

Модель СМО с круговой диспетчирезацией.

Рис. Модель СМО с круговой диспетчеризацией

Общее описание модели СМО с круговой диспетчеризацией.

СМО с круговой диспетчеризацией, графически представленная на рис.1, содержит три источника заявок G1, G2, G3, очередь QOPR, организованную на основе приоритетов, обслуживающий прибор OPR.

Источники заявок (генераторы) вырабатывают заявки (транзакты) независимо друг от друга через случайные интервалы времени и передают их на обработку в устройство OPR. Поскольку устройство OPR одновременно может обрабатывать только одну заявку, то остальные заявки помещаются в очередь QOPR, организованную на входе устройства OPR. Все заявки в очереди располагаются в соответствии со своим приоритетом – наивысший приоритет = 0. Заявки с большими приоритетами помещаются в начало очереди.

Каждая заявка характеризуется временем обслуживания  i, необходимым для ее обслуживания в устройстве OPR и приоритетом Pi. На обслуживание каждой заявки устройство OPR выделяет квант процессорного времени Q. Если обслуживаемая заявка не успевает выполниться за этот квант времени Q, то из времени обслуживания заявки  i вычитается квант времени Q, а заявка помещается обратно в очередь, в соответствии со своим приоритетом. Если заявка обслужена полностью, то она с выхода устройства OPR уходит из модели. Процесс генерации, обслуживания и удаления заявок продолжается до тех пор, пока не истечет время, отведенное на моделирование, или не будет обслужено N заявок.

Пример модели СМО с круговой диспетчеризацией.

Источники заявок G1, G2, G3 генерируют заявки с приоритетами 1, 2, 3, соответственно. Интервалы между заявками Ti и необходимые времена обслуживания i полагаются случайными с экспоненциальным законом распределния. M(T1) =200, M(T2)=100, M(T3)=240, M(1)=40, M(2)=50, M(3)=30 единиц времени. Значения i записываются в первый параметр транзактов, моделирующих заявки. Каждому транзакту, занявшему OPR, выделяется квант процессорного времени, равный 5 единицам. После ухода транзакта из OPR, из значенияего первого параметра вычитается 5. Если остаток больше 0 (заявка не обслужена полностью), транзакт возвращается в очередь в соответствии с приоритетом (контроль приоритетов осуществляется автоматически), в противном случае происходит увеличение счетчика обслуженных заявок, а сама заявка уничтожается. Программа на языке GPSS реализующая рассмотренную модель имеет вид:


10 EXP FUNCTION RN1,C24 ;Задание функции EXP 0,0/.1,.104/.2,.222/.3,.335/.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

;Генератор заявок с приоритетом = 1, M(T1)=200, M(1)=40

20  GENERATE 200,FN$EXP,,,1  ;Генерируем заявки c приоритетом 1, через

   ;интервалы времени (EXP,M(T1)=200)

30  ASSIGN 1,40,EXP ;Присваиваем первому параметру транзакта

   ;(заявки) время обслуживания(EXP, M(1)=40)

40  TRANSFER ,MET1 ;Пересылаем транзакт в очередь (безусловная

   ;передача транзакта на метку MET1)

;Генератор заявок с приоритетом = 2, M(T2)=100, M(2)=50

50  GENERATE 100,FN$EXP,,,2 ;Генерируем заявки c приоритетом 2, через

   ;интервалы времени (EXP,M(T1)=100)

60  ASSIGN 1,50,EXP ;Присваиваем первому параметру транзакта

   ;(заявки) время обслуживания(EXP, M(1)=50)

70  TRANSFER ,MET1 ;Пересылаем транзакт в очередь (безусловная

   ;передача транзакта на метку MET1)

;Генератор заявок с приоритетом = 3, M(T3)=240, M(3)=30

80  GENERATE 240,FN$EXP,,,3 ;Генерируем заявки c приоритетом 3, через

   ;интервалы времени (EXP,M(T1)=240)

90  ASSIGN 1,30,EXP ;Присваиваем первому параметру транзакта

   ;(заявки) время обслуживания(EXP, M(1)=30) 

100 MET1 SEIZE OPR ;занимаем устройство OPR

110  ADVANCE 5 ;задерживаем заявку на 5 единиц времени

120  RELEASE OPR ;освобождаем устройство OPR

130  ASSIGN 1-,5 ;вычитаем из времени заявки i 

   ;квант времени Q = 5

140  TEST G P1,0,FIN ;сравниваем i>0, если да, то передаем заявку на

   ;следующий блок, если нет – на блок с меткой FIN

150  TRANSFER ,MET1 ;передаем недообслуженный транзакт в очередь

160 FIN TERMINATE 1 ;Регистрация обслуженной заявки (увеличение

   ;счетчика обслуженных заявок и удаление заявки)


Замкнутая сетевая модель СМО.

Общее описание замкнутой сетевой модели СМО.

 

 

Рис 2. Замкнутая сетевая модель СМО с постоянным количеством заявок.

Замкнутая сетевая модель СМО с постоянным количеством заявок N (рис. 2) содержит три обслуживающих прибора OPR1, OPR2, OPR3 и очереди к ним QOPR1, QOPR2, QOPR3.

Первоначально в очередь QOPR1 помещается N заявок с одинаковыми приоритетами. Далее заявки попадают на обслуживание в устройство OPR1. Здесь заявка, захватившая устройство, обслуживается некоторое время 1. Затем с некоторой вероятностью W заявка передается на обслуживание в устройство OPR2, в противном случае заявка передается на обслуживание в устройство OPR3. В устройствах OPR2 и OPR3 заявки обслуживаются некоторое время 2 и 3, соответственно. После чего заявки вновь попадают в OPR1. Так заявки будут циркулировать до бесконечности.

Пример замкнутой сетевой модели.

Пусть время обслуживания заявок случайно и распределено по экспоненциальному закону. M(1)=100, M(2)=200, M(3)=50.

Программа на языке GPSS без управляющих операторов имеет вид:

10 EXP FUNCTION RN1,C24 ;Задание функции EXP

0,0/.1,.104/.2,.222/.3,.335/.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

20  GENERATE ,,,3  ;Генерируем три заявки, которые

    ;поступают в очередь устройства OPR1

30 MET1 SEIZE OPR1  ;Занимаем устройство OPR1

40  ADVANCE 100,FN$EXP  ;Обслуживаем заявку в OPR1

50        RELEASE OPR1  ;Освобождаем устройство OPR1

60  TRANSFER 0.900,,MET3  ;Передаем заявку в устройство OPR2 с

    ;вероятностью 0.9 и в устройство OPR3

    ;с вероятностью 0.1

70  SEIZE OPR2  ;Занимаем устройство OPR2

80  ADVANCE 200,FN$EXP  ;Обслуживаем заявку в OPR2

90       RELEASE OPR2  ;Освобождаем устройство OPR2

100  TRANSFER   ,MET1  ;Передаем заявку обратно в устройство

    ; OPR1

110 MET3 SEIZE      OPR3  ;Занимаем устройство OPR3

120  ADVANCE  50,FN$EXP  ;Обслуживаем заявку в устройстве OPR3

130  RELEASE OPR3  ;Освобождаем устройство OPR3

140  TRANSFER ,MET1  ;Возвращаем заявку в устройство OPR1


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

  1.  Ознакомиться с работой симулятора языка GPSS, генератором отчетов,  операторами и командами языка GPSS.
  2.  Ознакомиться с двумя моделями СМО, представленными выше. (СМО с круговой диспетчеризацией и замкнутая сетевая модель СМО.)
  3.  Провести моделирование СМО с круговой диспетчеризацией, в следующем порядке:
    •  Запустить на выполнение файл GPSSPC.EXE – симулятор языка GPSS. Загрузить в симулятор файл с описанием модели СМО с круговой диспетчеризацией, для чего ввести команду @LAB11.GPS;
    •  Вставить операторы для сбора статистики об очереди, операторы для табулирования времени пребывания заявки в СМО;
    •  Запустить программу на выполнение, задав значение счетчика завершений равным 100¸250;
    •  Сформировать стандартный файл отчета по выполненному моделированию с помощью программы GPSSREPT.EXE
    •  Проанализировать полученные результататы и записать результаты моделирования и выводы в отчет по выполнению лабораторной работы.
  4.  Провести моделирование замкнутой сетевой модели СМО, в следующем порядке:
    •  Запустить на выполнение файл GPSSPC.EXE – симулятор языка GPSS. Загрузить в симулятор файл с описанием замкнутой сетевой модели СМО, для чего ввести команду @LAB12.GPS;
    •  Вставить операторы для сбора статистики об очередях, операторы для табулирования интервалов между транзактами в узле S0;
    •  Запустить программу на выполнение, задав значение счетчика завершений равным 100¸250;
    •  Сформировать стандартный файл отчета по выполненному моделированию с помощью программы GPSSREPT.EXE
    •  Проанализировать полученные результататы и записать результаты моделирования (загрузку для каждого устройства, среднюю длину очереди, среднее время ожидания, таблицу распределения интервалов между заявками в узле S0) и выводы в отчет по выполнению лабораторной работы.


Содержание отчета.

  1.  
  2.  


Контрольные вопросы.

  1.  Назовите категории объектов модели дискретной системы и дайте их краткую характеристику.
  2.  Дайте краткую характеристику операторам Generate, Terminate и Start, поясните назначение их операндов.
  3.  Опишите операторы связанные с представленим модели аппаратного объекта типа «прибор».
  4.  Раскройте назначение операторов сбора статистической информации и особенности их применения.
  5.  Назовите команды среды GPSS PC,  их назначение и особенности.
  6.  Опишите работу с программой генерации стандартных отчетов GPSSREPT. Как осуществляется вывод отчета в файл и на экран.


Список литературы.

  1.  Шрайбер Т. Дж., Моделирование на GPSS, Москва, «Машиностроение», 1980. 592с.
  2.  Феррари Д., Оценка производительности вычислительных систем, Москва, «МИР», 1981, 576 с.
  3.  Кипарисова Н.Г., Сарычев Н.А., Моделирование, Методические указания к лабораторным работам, 1306, Рязань, РРТИ, 1987, 44с

15


QOPR

G1

G2

G3

OPR1

P=0.1

P=0.9

S0

OPR1

OPR1

QOPR

OPR1

QOPR

QOPR

  1.  

 

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

48115. Соціологія як наука. Предмет, структура і функції соціології 1.46 MB
  Наявність спільних проблем дослідження інтереси соціальні установки та цінності орієнтації думки настрої людей. Нині переважаючою стає тенденція до комплексного всебічного дослідження явищ і процесів суспільного життя до спільного дослідження з точки зору декількох наук до комбінування поєднання їх пізнавальних можливостей. Дослідження соціальної структури суспільства і вироблення поняття соціальна стратифікація як постійної характеристики будьякого організованого суспільства. Перенесення акцентів на дослідження систем держав з...
48116. Культура фахового мовлення. Навчальний посібник 792 KB
  Черкаси ЧДТУ 2010 ПЕРЕДМОВА Оскільки мова використовується в усіх сферах сучасного суспільного життя то майбутні фахівці з гуманітарних і негуманітарних спеціальностей мають досконало знати державну мову вільно володіти лексичним і фразеологічним багатством української літературної мови розуміти норми орфоепії орфографії граматики стилістики та вміти застосовувати їх на практиці. Метою пропонованого посібника є підвищення загальномовного рівня студентів ознайомлення з особливостями ділової української мови офіційноділового стилю їх...
48118. Корреляционно–регрессионный анализ связей социально–экономических явлений 405 KB
  В среднем по совокупности 20 9525 ПОЛЕ КОРРЕЛЯЦИИ Рисунок 3 – Зависимость производственной себестоимости 1 ц зерна от объема ЭМПИРИЧЕСКАЯ ЛИНИЯ РЕГРЕССИИ Рисунок 4 – Зависимость уровня заработной платы рабочих сельскохозяйственных предприятий региона от производительного стажа их работы ПОКАЗАТЕЛИ ТЕСНОТЫ СВЯЗИ 1 Коэффициент корреляции знаков Фехнера: где nа число совпадений знаков отклонений индивидуальных значений признаков от их среднего значения; nв число несовпадений...
48119. Показатели вариации и анализ вариационных рядов 244.5 KB
  Ширина интервала Число кредитных организаций Плотность распределения до 3 3 150 50 3– 10 7 254 363 10– 30 20 316 158 30– 60 30 256 85 60– 150 90 144 16 150–300 150 90 06 300 и выше 150 112 07 Итого – 1322 – ПОКАЗАТЕЛИ ЦЕНТРА РАСПРЕДЕЛЕНИЯ Средняя арифметическая для дискретного ряда распределения: где –варианты значений признака; – частота повторения данного варианта. Средняя арифметическая для интервального ряда распределения: где – середина соответствующего интервала; – частота или частость ряда. 1 –...
48120. Основы алгоритмизации. Основы программирования 2.4 MB
  Для ввода данных в компьютер используется: клавиатура набор данных вручную; жесткий диск ввод данных из файла. Для вывода данных из компьютера используется: экран монитора для визуализации; принтер для документирования; жесткий диск для сохранения данных в файле. Алгоритм как вычислительный процесс – это точное предписание определяющее вычислительный процесс ведущий от варьируемых исходных данных к искомому результату рис. Определенность – предписания алгоритма должны быть точными и понятными обеспечивать...
48121. РЯДЫ ДИНАМИКИ 514.5 KB
  –Виды рядов динамики Таблица 1– Показатели размера крестьянских фермерских хозяйств в Тамбовской области в 20032007 годы Показатели Вид ряда 2003 г. 1594 104 843 802 691 649 Приемы приведения уровней динамического ряда к сопоставимому виду: смыкание рядов динамики; приведение уровней к одному основанию; приведение сравниваемых показателей к однородной структуре; замена абсолютных показателей относительными; приведение...
48122. СТАТИСТИЧЕСКИЕ ТАБЛИЦЫ И ГРАФИКИ 319.5 KB
  ПЕРЕЧНЕВАЯ ТАБЛИЦА ПО ВИДОВОМУ ПРИЗНАКУ Таблица 2 Ресурсы ФГУП учхозплемзавода Комсомолец Мичуринского района Тамбовской области. ПЕРЕЧНЕВАЯ ТАБЛИЦА ПО ТЕРРИТОРИАЛЬНОМУ ПРИЗНАКУ Таблица 3– Потребление основных продуктов питания населением областей Центрально–Чернозёмного района в 2010 году на душу населения; килограммов Область Мясо и мясопродукты Молоко и молокопродукты Хлебные продукты Фрукты и ягоды Белгородская 62 249 140 46...
48123. Статистические показатели 155.5 KB
  Индивидуальные значения признака частота повторения значений признака в совокупности весы Методика расчёта различных видов степенных средних величин Вид степенной средней Показатель степени Формула расчёта простая взвешенная Средняя гармоническая 1 Средняя геометрическая 0 Средняя арифметическая 1 Средняя квадратическая 2 ПРАВИЛО МАЖОРАНТНОСТИ СРЕДНИХ СВОЙСТВА СРЕДНЕЙ АРИФМЕТИЧЕСКОЙ ВЕЛИЧИНЫ средняя арифметическая постоянной величины равна этой постоянной: нулевое алгебраическая сумма линейных отклонений...