- •А) Модель простого конвейера
- •Б) Модель древовидного конвейера
- •В) Модель конвейера с отказами
- •Г) Модель оптимизации производства
- •140 Generate f; задание модельного времени
- •Д) Модель синхронизации процесса
- •140 Generate f; задание модельного времени
- •150 Terminate 1; уничтожение транзакта (уменьшение счетчика)
- •Е) Транспортная модель
- •Ж) Модель пакетной обработки
Модель простого конвейера представляет собой линейную схему (рис. 1), построенную на принципах теории очередей. Процесс, моделируемый с помощью данной схемы, должен быть проанализирован по следующим временным показателям: период появления задачи – транзакта (A), модификатор интервала периода появления транзакта (ΔA), время его исполнения (B), модификатор интервала времени исполнения транзакта (ΔB).
В результате имитационного эксперимента появляется возможность определять очереди задач к исполнителю и среднее время ожидания начала исполнения (прил. а).
А) Модель простого конвейера
10 GENERATE A, ΔA; генерация транзактов
15 QUEUE 1; точка входа в очередь
20 SEIZE 1; занятие устройства
25 DEPART 1; точка выхода из очереди
30 ADVANCE B, ΔB; задержка транзакта на время его выполнения
40 RELEASE 1; освобождение устройства
50 TERMINATE ;уничтожение транзакта
*** Таймер модели ***
60 GENERATE F; задание модельного времени
70 TERMINATE 1; уничтожение транзакта (уменьшение счетчика)
START 1; счетчик модели
Построение модели начинается с генерации транзактов через случайные интервалы времени. Затем моделируется ситуация формирования очереди к исполнителю транзакта – из блока генерации транзактов они попадают в устройство, соответствующее исполнителю, и если транзакты появляются в момент, когда устройство занято, то формируется очередь к устройству. На следующем этапе моделирования необходимо обеспечить задержку транзакта на период, соответствующий среднему времени его исполнения (В±ΔВ).
По истечении этого времени транзакт переходит к устройству (исполнителю), и далее, после исполнения, уничтожается, что соответствует отказу от дальнейшего отслеживания данного транзакта в силу ненужности описания его дальнейшего движения. В момент освобождения транзактом устройства, в него поступает следующий транзакт, бывший в очереди, которая формируется генерированием. Таким образом, одновременно в модели движутся несколько транзактов, совершая различные операции.
Для имитационного моделирования необходимо собирать статистику об очереди транзактов в зависимости от того, какой участок системы нуждается в более детальном анализе. Данная задача решается с помощью внедрения в модель точек входа в очередь и точек выхода из очереди. Транзакт входит в очередь в момент его появления в системе, а выходит из очереди в момент, когда ему удалось занять устройство. В реальной системе это соответствует моменту появления необходимости выполнения какого-либо действия (точка входа), и момент начала его выполнения исполнителем (точка выхода).
Для управления временем моделирования необходимо формировать таймер модели, задавая те временные рамки, в течение которых прослеживается работа реальной системы. Модельное время в этом случае в тысячи раз меньше реального времени работы описываемой системы.
Модель древовидного конвейера (рис. 2) является вариантом предыдущей модели простого конвейера, отличие которого заключается в наличии нескольких устройств, что в реальности соответствует нескольким исполнителям транзактов (производственных задач, управленческих функций). Имитационная модель древовидного конвейера представлена в прил. б.
Б) Модель древовидного конвейера
10 MEMO STORAGE N; определение памяти МЕМО на N единиц
20 GENERATE A, ΔA; генерация транзактов
30 QUEUE 1; точка входа в очередь
40 ENTER MEMO; занятие места в памяти
50 DEPART 1; точка выхода из очереди
60 ADVANCE B, ΔB; задержка транзакта на время его выполнения
70 LEAVE MEMO; освобождение памяти
80 TERMINATE ;уничтожение транзакта
*** Таймер модели ***
60 GENERATE F; задание модельного времени
70 TERMINATE 1; уничтожение транзакта (уменьшение счетчика)
START 1; счетчик модели
Транзакты в данной модели ведут себя аналогично поведению в модели простого конвейера. Отличительной чертой данной модели является то, что множество исполнителей транзактов будет соответствовать количеству устройств в модели и емкости памяти при программировании соответствующего варианта действий. Когда все исполнители заняты, т.е. память заполнена, генерируемые транзакты не могут войти в блок выполнения транзакта, и ожидают освобождения памяти. В момент, когда устройство освобождается, тем самым, показывая, что предыдущий транзакт выполнен, стоящий в очереди транзакт занимает любое свободное устройство.
Простая схема древовидного конвейера может быть модифицирована ещё и в направлении распределения транзактов между исполнителями в соответствии с определенными условиями, критериями. Таким образом, модель будет формировать сложную схему разветвления очередей к каждому исполнителю из общей очереди транзактов в соответствии с предварительно выбранными критериями (уровень квалификации, допустимое время загрузки исполнителя и т.д.).
Модель конвейера с отказами (рис. 3) также выступает усовершенствованным вариантом простого конвейера и простого древовидного конвейера.
В данной модели отражаются новые условия, учитывающие возможности отказа исполнителя от транзакта или ситуации, когда необходимость выполнения транзакта отпадает.
В оперативном планировании времени данная модель отражает ситуацию формирования базы данных перенесенных транзактов. В ситуации, когда очередь (Q1) достигает определенного значения длины (D), происходят возможные отказы введения транзакта в очередь, что соответствует ситуации отказа от исполнения транзактов, если суммарное время исполнения превышает общий эффективный фонд рабочего времени исполнителя. В состав исходных данных наряду с характеристиками очереди транзактов необходимо включить вероятность отказа. Для сопоставления допустимых величин с фактическими в модель вводится блок тестирования. При входе транзакта в этот блок проверяется длина очереди на допустимое значение. В случае выполнения теста транзакт проходит дальше, следовательно, встает в очередь и будет выполнен в момент освобождения исполнителя. При невыполнении теста транзакт переходит к альтернативной процедуре – уничтожение, и в модели более не отражается.
Имитационная модель конвейера с отказами представлена в прил. в.