Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

SELECT MAX 5,9, 14„ R

Дальнейшее занятие прибора осуществляется аналогично описанному выше.

5.4. Работа администратора по пополнению складских запасов

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

Рис. 5.1. Схема действий администратора по пополнению складских запасов

Если точку восстановления обозначим ROP, число восстановления – ROQ, а наличный запас оборудования – STOCK, то блок-схема GPSS – программы будет выглядеть так, как представлена на рис. 5.3

Фрагмент GPSS – программы, моделирующей действия администратора, показан на рис. 5.2

GENERATE,,,1

L1 TEST LE X$STOCK, X$ROP

ADVANCE FN$LTIME

SAVEVALUE STOCK+,X$ROQ

TRANSFER, L1

Рис. 5.2 Фрагмент GPSS – программы, моделирующей действия администратора

Здесь предполагается, что время задержки оборудования случайное, заданное функцией LTIME, которая должна быть описана в программе (рис. 5.3).

Рис. 5.3. Блок - схема GPSS – программы, моделирующей действия администратора

5.5. Подсчет убытков при торговле оборудованием

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

Если спрос не превышает имеющийся в наличии запас, то потери не заносятся в параметр транзакта (по умолчанию все параметры транзакта равны нулю), а запас уменьшается на величину дневного спроса. По прежнему будем обозначать запас переменной STOCK. Дневной спрос обозначим переменной DMND. Таблица потерь – LOSES, Таблица запасов – STOCK. Дневной спрос, определяемый случайной величиной DMND, занесем в параметр транзакта с номером 1 с помощью оператора ASSIGN.

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

Рис 5.4. Фрагмент GPSS – программы, реализующей подсчет текущих запасов и дневных потерь

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

DMND FVARIABLE 2#FN$SNORM+30.

Аппроксимация функции нормального распределения приведена в многочисленных работах и имеет следующий вид:

SNORM FUNCTION RN1,C25

0,-5/.00003,-4/.00135,-3/.00621,-2.5/.02275,-2

.06681,-1.5/.11507,-1.2/.15866,-1/.21186,-.8/.27425,-.6

.34458,-.4/.42074,-.2/.5,0/.57926,.2/.65542,.4/

.72575,.6/.78814,.8/.84134,1/.88493,1.2/.93319,1.5/

.97725,2/.99379,2.5/.99865,3/.99997,4/1,5

Описание таблицы потерь может иметь такой вид:

LOSES TABLE P2,0,1,17.

5.6. Замена вышедшего из строя устройства компьютера

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

наличии. На эти работы требуется определенное время. Если в процессе моделирования отказ устройства интерпретируется как уход транзакта из канала (прибора) и имеются запасные устройства – транзакты, ожидающие в очереди, то после ухода транзакта из канала очередной транзакт немедленно займет его место. Такое положение дел не соответствует реальной работе инженера по восстановлению компьютера. Чтобы создать правильную модель данной ситуации, необходимо на определенное время заблокировать продвижение очередного транзакта. Это достигается с помощью логических переключателей и блоков GATE. Фрагменты блок-схемы, на которых показана подобная конструкция, приведены на рис. 5.5.

Транзакт, который соответствует устройству компьютера, из очереди LINE1 проходит через блок GATE и, проходя блок LOGIC, устанавливает переключатель в положение SET, запрещая следующему транзакту (запасному устройству) проходить через блок GATE. Запрет снимается, когда неисправное устройство снимается с компьютера. Время задержки на установку блока и его снятие задается блоками ADVANCE (Т1 и Т2 соответственно).

НЕ нашли? Не то? Что вы ищете?

Запасные устройства, которые заменяют вышедшие из строя, вводятся в систему блоком GENERATE в начальный момент времени. Причем количество вводимых транзактов на единицу больше числа резервных устройств, поскольку один транзакт сразу же занимает обслуживающий канал, имитируя начальную установку устройства. Неисправные узлы – транзакты, проходя через блоки, изображенные в правой части рис. 5.5, сбрасывают логический переключатель NEED в ноль, разрешая установку резервных устройств.

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

5.7. Решение задач надежности оборудования

Для анализа надежности информационных систем методами имитационного моделирования можно использовать схему, предложенную Шрайбером [5] для решения задачи об управлении производством. Эта задача формулируется так. На фабрике работают 50 швейных машин. Любая из этих машин может в любой момент времени выйти из строя. В этом случае ее заменяют резервной, причем либо сразу, либо по мере ее появления. Сломанную машину отправляют в ремонтную мастерскую, где ее восстанавливают и возвращают в цех, но уже в качестве резервной.

В существующем замкнутом цикле движения машин можно выделить 4 фазы:

- машины, находящиеся в резерве;

- работающие машины;

- машины, ожидающие ремонта;

- ремонтируемые машины.

Для минимизации стоимости производства необходимо сбалансировать участки производства так, чтобы как можно выше была производительность цеха (т. е. увеличить коэффициент занятости многоканального устройства, которое имитирует швейный цех). При этом не держать незагруженных ремонтных рабочих и не иметь резервный запас машин больше необходимого. Схема такой системы (швейного производства) представлена на рис. 5.6

Рис. 5.6. Схема швейного производства

Нетрудно догадаться, что подобная схема справедлива и для других объектов. В частности, для вычислительного центра, имеющего в своем составе m основных компьютеров и n запасных и ремонтную группу, восстанавливающую вышедшую из строя вычислительную технику, при условии, что ВЦ получает прибыль от функционирования компьютеров.

Блок-схема GPSS – программы приведена на рис. 5.7. В блоке GENERATE в систему вводится одновременно 53 транзакта, при емкости многоканального устройства NOWON, равной 50, 50 транзактов занимают устройство (т. е запускаются в эксплуатацию), а 3 остаются в резерве. Пусть время исправной работы имеет равномерное распределение со средним значением 157 часов и половиной интервала – 25 часов. После того как первая неисправная машина покинет цех, ее место сразу же занимает резервная. Неисправная машина отправляется в ремонт. Если все механики, производящие ремонт, заняты, неисправная машина становится в очередь. В приведенном примере время ремонта также имеет равномерное распределение со средним значением 7 часов и половиной поля допуска, равной 3 часам. Отремонтированная машина направляется в резерв. По результатам моделирования (в примере время моделирования – 6240 часов) можно судить о средней загруженности многоканального устройства, или, что по существу то же самое, о среднем числе простаивающего оборудования.

Рис. 5.7. Блок-схема программы, моделирующей работу швейного цеха

Ниже (рис. 5.8) приведен текст программы на языке GPSS.

GENERATE,,,53

BACK ENTER NOWON

ADVANCE 157,25

LEAVE NOWON

ENTER MEN

ADVANCE 7,3

LEAVE MEN РЕМОНТНАЯ ГРУППА

TRANSFER, BACK

GENERATE 6240

TERMINATE 1

Рис. 5.8. GPSS – программа, моделирующая работу швейного цеха

Для решения задач надежности схему, представленную на рис. 5.5, следует изменять в соответствии с решаемыми задачами.

1)  Надежность систем с «холодным» резервированием без восстановления.

В этом случае из схемы (рис 5.6) удаляется ремонтная группа (многоканальное устройство MEN), а многоканальное устройство NOWON заменяется обслуживающим прибором (каналом обслуживания). Размер резерва (кратность резервирования) определяется числом транзактов, вводимых первым блоком GENERATE. Время, в которое определяется вероятность безотказной работы, задается блоком GENERATE во втором сегменте программы. Этот сегмент должен быть расширен таким образом. Транзакт, вошедший в систему, прежде чем покинуть ее должен произвести проверку (с помощью блока TEST и соответствующего системного атрибута) свободен ли прибор? Если прибор свободен, это означает, что система неисправна. В противном случае система работоспособна. В зависимости от результата проверки таймер – транзакт покидает систему через тот, или иной блок TERMINATE (эти блоки необходимо пометить). Запустив программу многократно с помощью оператора START (например, START 100000), можно определить какое число транзактов прошло через каждый из блоков TERMINATE. Пусть при времени моделирования, равном 15 часам, 95000 транзактов прошли через блок TERMINATE, соответствующий занятому прибору. Это означает, что через 15 часов работы системы, вероятность того, что она находится в исправном состоянии, равна 0,95

2) Надежность систем с «холодным» резервированием с восстановлением

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

3) Надежность систем с «горячим» резервированием без восстановления

Из «базовой» схемы (рис. 5.6) удаляются элементы, соответствующие «холодному» резерву. Емкость многоканального устройства полагается равной общему числу резервированных устройств в системе (т. е. числу резервных элементов плюс 1 – рабочий). Отсутствует и ремонтная группа. Таймер – транзакт, прежде чем покинуть систему, проверяет, свободно ли многоканальное устройство. Далее процесс определения вероятности исправной работы системы аналогичен описанному в пункте 1.

4) Надежность систем с «горячим» резервированием с восстановлением

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

5.8. Моделирование систем массового обслуживания с «нетерпеливыми» заявками

Нетерпеливыми называются заявки, время пребывания которых в системе ограничено. По истечению отведенного времени заявка покидает систему независимо от того, в каком месте она находится: в очереди или в канале обслуживания. Имитационное моделирование таких систем имеет ряд особенностей. Рассмотрим процесс моделирования СМО с «нетерпеливыми заявками» на конкретном примере.

Пусть рассматривается информационно-измерительная система, состоящая из 3 процессоров и 100 датчиков. Интервалы времени между сигналами прерывания от датчиков распределены экспоненциально. Среднее время составляет 5 минут. Все процессоры равноценны. Каждый из них обслуживает сигнал прерывания в среднем за 0,04 минуты. Время обслуживания также имеет экспоненциальное распределение. Если все процессоры заняты, запросы заносятся в буфер. Емкость буфера – 4 запроса. Если буфер занят, запрос покидает систему не обслуженным. Время пребывания заявки в системе ограничено и подчиняется нормальному распределению со средним значением 3 минуты и средним квадратичным отклонением 0,5 минуты. Приоритеты запросов одинаковы. Дисциплина обслуживания – FIFO.

Логическая схема такой системы приведена на рис. 5.9

При моделировании многомерный входной поток заменяется эквивалентным одномерным потоком, интенсивность которого равна суммарной интенсивности многомерного потока. В таком случае блок – схема GPSS – программы может выглядеть так, как это представлено на рис. 5.10

Краткое описание блок-схемы

Первый сегмент

Производится генерация транзактов (сигналы прерывания от 100 датчиков). Эта операция осуществляется с помощью блока GENERATE. Распределение сигналов - экспоненциальное со средним временем 5 минут для одного датчика. Поскольку сигналы приходят от 100 датчиков, соответственно среднее время прихода заявки в систему равно 0,05 минут.

 

Рис. 5.9. Логическая схема информационно-измерительной системы

С помощью блока ASSIGN присваивается одному из параметров транзакта имя LifeT («Время пребывания в системе») и значение этого времени, распределенное по нормальному закону со средним 3 минуты и СКО=0,5 минуты.

Транзакт пытается встать в очередь, представленную в системе многоканальным устройством BUFER с четырьмя каналами. Если вся очередь занята, заявка отправляется на метку LostBuf («Заявки, потерянные из-за переполненной очереди») и выводится из системы с помощью блока TERMINATE. Эта переадресация транзакта осуществляется блоком TRANSFER, установленным в режиме BOTH.

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

Попав в очередь, заявка пытается попасть на обслуживание в какой-либо из свободных процессоров, представленных в системе многоканальным устройством COMPS (3 канала). Если все процессоры заняты, блок TRANSFER, работающий в режиме BOTH отправляет заявку на метку EndBufTime (Время вышло в очереди). Иначе транзакт (заявка)занимает свободный процессор при помощи блока ENTER.

В случае перехода по метке EndBufTime проверяется условие: не закончилось ли время жизни заявки в системе. Осуществляется эта проверка блоком TEST. Если время действительно вышло, заявка движется дальше по этой цепи. Транзакт покидает очередь (LEAVE BUFER) и выводится из системы блоком TERMINATE. Сосчитав сколько раз транзакт пересек метку LostBufTime, которой отмечен этот блок, можно определить количество нетерпеливых заявок, покинувших очередь. Если процессор свободен, заявка немедленно покидает очередь (LEAVE BUFER).

Рис. 5.10. Блок-схема программы моделирования информационно - измерительной системы

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

В блоке TEST производится проверка: хватит ли заявке времени получить полное обслуживание с учетом уже «прожитого» в системе времени. Если времени не хватит, заявка отправляется на метку LostComp (Потери во время обслуживания). Здесь блоком ASSIGN параметру транзакта с именем «TimeAv» присваивается значение «Оставшееся время жизни заявки». Блок ADVANCE задерживает заявку на это время, после чего транзакт покидает прибор (LEAVE COMPS) не обслуженным и уходит из системы (блок TERMINATE).

Если времени на обслуживание достаточно, то транзакт задерживается блоком ADVANCE на время обслуживания, затем покидает устройство (LEAVE COMPS) и выводится из системы через блок TERMINATE, помеченный этикеткой Sucsessfull (успешно обслуженные заявки). Подсчитав количество транзактов, прошедших через эту метку, т. е. число обслуженных заявок, можно определить вероятность обслуживания заявок в системе и, следовательно, вероятность того, что заявка покинет систему не обслуженной. При достаточном времени моделирования эти вероятности совпадают с результатами аналитического моделирования с высокой степенью точности (расхождение имеет порядок 0,01).

Второй сегмент (ТАЙМЕР) определяет время моделирования.

5.9. Моделирование работы двух узлов коммутации [6]

Необходимо провести моделирование с целью получения оценок вероятностно-временных характеристик процесса функционирования фрагмента сети передачи данных (СПД).

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

Логическая схема моделируемой системы

Рассмотрим процесс функционирования фрагмента СПД, представляющий собой взаимодействие двух соседних узлов коммутации СПД, обозначенных УК1 и УК2. Эти узлы соединены между собой дуплексным дискретным каналом связи (ДКС), позволяющим одновременно передавать данные во встречных направлениях, т. е. имеется два автономных однонаправленных ДКС. Будем считать, что все сообщения, поступающие в СПД, являются однопакетными.

Рис. 5.11. Структурная схема варианта УК

На рис.5.11 обозначено: ВхБН и ВыхБН – входные и выходные буферные накопители соответственно; К – коммутаторы; ЦП – центральный процессор. Этот УК функционирует следующим образом. После поступления пакета из одного из входных КС узла он помещается в ВхБН. Затем ЦП на основе заголовка пакета и хранимой в УК маршрутной таблицы определяет требуемое направление дальнейшей передачи пакета и помещает его в соответствующий ВыхБН для последующей передачи по выходному КС.

Рис. 5.12. Структурная схема варианта ДКС с решающей обратной связью

На рис.5.12 обозначено: КУ и ДКУкодирующее и декодирующее устройства соответственно; УУКустройство управления каналом; КА - каналообразующая аппаратура. На передающей стороне пакет из ВыхБН узла коммутации попадает в КУ, где производится кодирование, т. е. внесение избыточности, необходимой для обеспечения помехоустойчивой передачи по КС. Согласование с конкретной средой распространения реализуется КА. На приемной стороне из КА пакет попадает в ДКУ, которое настроено на обнаружение и/или исправление ошибок. Все функции управления КУ, ДКУ (в том числе и принятие решений о необходимости повторного переспроса копии пакета с передающего УК) и взаимодействия с центральной частью узла реализуются УУК, которое является либо автономным, либо представляет собой часть процедур, выполняемых ЦП узла.

Таким образом, общая структурная схема модели процесса взаимодействия двух узлов коммутации (УК1 и УК2) через дискретный канал связи (ДКС) будет выглядеть следующим образом (рис. 5.13):

На рис. 5.13 обозначено: Иисточник, К — канал, Ннакопитель. Поступление пакетов данных в моделируемый фрагмент СПД на входы имитируется источниками И1 и И2. Пакеты буферируются накопителями Н4 и Н2, т. е. ожидают освобождения каналов в УК1 и УК2 соответственно. После обслуживания каналами К1 и КЗ, т. е. после обработки ЦП УК1 и УК2 соответственно, пакеты поступают в выходные накопители HI и НЗ этих узлов. Далее, в порядке очереди, копии пакетов обслуживаются каналами К2 и К4, имитирующими процесс передачи по ДКС.

Рис 5.13. Структурная схема модели процесса взаимодействия двух узлов коммутации

При приеме копии пакета без ошибки, т. е. их поступлении в 112 и Н4, формируется подтверждение приема, которое в виде короткого пакета поступает в соответствующий выходной для данного узла накопитель HI и НЗ для передачи на другой УК, т. е. снова реализуется обслуживание каналами К2 и К4. После подтверждения в узле-источнике правильного приема уничтожается пакет, хранящийся в HI и НЗ. Выходам соответствуют точки 3 и 4 на структурной схеме модели процесса взаимодействия двух узлов коммутации СПД.

Блок – схема моделируемой системы

Так как для моделирования выбран пакет GPSS, то необходимо разработать блок-схему модели, по сути представляющую собой логическую схему, адаптированную к особенностям использования для машинной реализации модели GPSS. Блок-схема модели процесса функционирования фрагмента СПД приведена на рис. 5.14, где для структурных элементов модели, показанных на рис.5.13, введены следующие обозначения:

для накопителей HI, Н2, НЗ и Н4 соответственно, BUF1, BUF2, BUF3 и BUF4;

для источников И1 и И2 соответственно, GEN1 и GEN2;

для каналов обслуживания:

в узлах коммутации для ЦП Kl - CPU1 и КЗ - CPU2,

в каналах связи при дуплексной передаче К2 - DCH1 и К4 - DCH2.

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

Блок SPLIT

Блок SPLIT имеет следующий формат:

SPLIT <A>,[<B>],[<C>]

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

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

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

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

Счетчик общего числа входов (Nj) и счетчик текущего числа сообщений (Wj) блока SPLIT увеличиваются на единицу каждым исходным транзактом и каждой копией. Счетчик числа транзактов уменьшается на единицу при каждом выходе исходного транзакта или копии из блока SPLIT.

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

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

Блок ASSEMBLE

Блок ASSEMBLE имеет следующий формат:

ASSEMBLE <A>

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

Поле А задает число транзактов, участвующих в сборке. Операнд А может быть именем, положительным целым. Первоначальное значение аргумента поля А не должно быть больше или равно единице. Если при входе исходного транзакта в блок ASSEMBLE, значение счетчика стало равным нулю (т. е. нужно было «объединить» только один транзакт), транзакт немедленно покидает блок ASSEMBLE и переходит в следующий по номеру блок.

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

Счетчики Nj и Wi блока ASSEMBLE увеличиваются на единицу. Затем интерпретатор переходит к обработке следующего транзакта списка текущих событий. При входе транзакта того же семейства в блок ASSEMBLE счетчик сборки уменьшается на единицу. Вновь прибывшее сообщение уничтожается. Если значение счетчика сборки все еще больше нуля, интерпретатор переходит к обработке следующего сообщения из списка текущих событий.

Если значение счетчика после вычитания единицы стало равным нулю, то исходный транзакта возвращается в список текущих событий и становится последним транзактом в своем приоритетном классе. Следовательно, может получиться так, что интерпретатор обработает ряд транзактов до того, как приступит к обработке транзакта, вышедшего из блока ASSEMBLE. Индикатор синхронизации устанавливается в «О», завершение сборки отмечается установкой флага изменения состояния. После возвращения исходного сообщения в список текущих событий, интерпретатор начинает просмотр с начала списка. Это обеспечит обработку исходного транзакта в тот же момент условного времени, когда заканчивается сборка. Даже если исходный транзакт не может войти в следующий по номеру блок, он больше не считается участвующим в процессе сборки. Это связано с тем, что индикатор синхронизации транзактов устанавливается в «О». Следовательно, если другой транзакт из того же семейства поступит в блок ASSEMBLE, он будет рассматриваться как ис­ходный транзакт, и начнется новый процесс сборки. Счетчик Wj уменьшается на единицу при каждом выходе транзакта из блока ASSEMBLE.

Блок MATCH

Блок MATCH имеет следующий формат:

MATCH <A>

Блок используется для синхронизации движения двух транзактов, принадлежащих к одному семейству, без удаления этих транзактов из модели.

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

Поле А задает имя или номер другого блока MATCH, называемого «сопряженным блоком MATCH». Если такого блока нет, происходит останов по ошибке. Операнд А может быть именем, положительным целым. Когда транзакт входит в блок LEAVE, то ищется многоканальное устройство, заданное в поле А. Если такое многоканальное устройство не существует, то возникает ошибка выполнения.

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

Рис. 5.14. Блок-схема программы моделирования работы двух узлов коммутации

.

Листинг программы.

RMULT 111

EXPON FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.83

.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

*Определение емкости буферов

BUF1 STORAGE 20

BUF2 STORAGE 20

BUF3 STORAGE 20

BUF4 STORAGE 20

*Задание таблиц переменных

TIME TABLE V$TIME,0,20,16

TIME FVARIABLE C1-P3

MET1 ENTER BUF4

SEIZE CPU1

ADVANCE 2

LEAVE BUF4

RELEASE CPU1

ENTER BUF1

TEST E P2,1,MET4

TEST E P1,20,COP1

SPLIT 1,NEX1

COP1 MATCH COP1

LEAVE BUF1

ASSEMBLE 2

TABULATE TIME

TERMINATE

MET4 SEIZE DCH1

LEAVE BUF1

TRANSFER, NEX11

NEX1 SEIZE DCH1

NEX11 ADVANCE P1

RELEASE DCH1

ASSIGN 1,1

MET2 ENTER BUF2

SEIZE CPU2

ADVANCE 2

LEAVE BUF2

RELEASE CPU2

ENTER BUF3

TEST E P2,2,MET5

TEST E P1,20,COR2

SPLIT 1,NEX2

COP2 MATCH COP2

LEAVE BUF3

ASSEMBLE 2

TABULATE TIME

TERMINATE

MET5 SEIZE DCH2

LEAVE BUF3

TRANSFER, NEX21

NEX2 SEIZE DCH2

NEX21 ADVANCE P1

RELEASE DCH2

ASSIGN 1,1

TRANSFER, MET1

GEN2 GENERATE 25,FN$EXPON

ASSIGN 1,20

ASSIGN 2,2

ASSIGN 3,C1

TRANSFER, MET2

GEN1 GENERATE 25,FN$EXPON

ASSIGN 1,20

ASSIGN 1,2

ASSIGN 3,C1

TRANSFER, MET1

GENERATE 1,,10000

TERMINATE 1

6.  Лабораторные работы по курсу «Моделирование»

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

Моделирование одноканальной системы массового обслуживания с одномерным входным потоком

Провести моделирование одноканальной системы массового обслуживания с одномерным потоком заявок. Интенсивность входного потока –λi задается формулой

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

= 10*i ,

i – номер варианта. Номер варианта совпадает с номером в списке группы. Интенсивность обслуживания µ = 1/tоб.i ,

где tоб среднее время обслуживания заявки, tоб= 0,6 ti .

Интервалы между поступлением заявок и время обслуживания заявок распределены по экспоненциальному закону.

Провести моделирование системы, изменяя величину a =l /µ= tоб / ti

с 0.6 до 1.1 через 0.1 т. е провести исследование системы при tоб= 0.6 ti,0,7ti,, 0.8 ti,, 0.9 ti,, 1.0 ti,, 1.1 ti,

Время моделирования положить равным 500 ti.

Объяснить результаты моделирования.

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

1.   Какие системы массового обслуживания называются одномерными?

2.   Что определяет величина a ?

3.   Как ведет себя очередь при увеличении a ?

4.   Сколько транзактов будет введено в систему, если tоб = 0.8 ti,, а время моделирования равно 500 ti ?

5. Каким образом можно изменить последовательность временных интервалов между приходом заявок в систему?

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

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

Провести моделирование системы с многомерным входным потоком. Количество входных потоков3. Потоки независимы и распределены по экспоненциальному закону. Суммарная интенсивность потоков, т. е. равна интенсивности одномерного потока, заданной в работе №1, т. е. Других ограничений на величины не налагается.

Интенсивность обслуживания задана в работе №1. Время моделирования положить равным . Сравнить результаты моделирования с результатами, полученными в работе №1.

Объяснить полученные результаты.

Провести моделирование, убрав из программы все операторы QUEUE и DEPART

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

1.   Должны ли совпадать результаты моделирования СМО с одномерным и многомерным входными потоками, если суммарная интенсивность входного многомерного потока совпадает с интенсивностью одномерного потока?

2.   Будет ли возрастать очередь, если при увеличении l пропорционально возрастает ?

3.   Как изменятся (и изменятся ли) результаты моделирования, если из программы убрать операторы ?

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

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

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9