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), происходят возможные отказы введения транзакта в очередь, что соответствует ситуации отказа от исполнения транзактов, если суммарное время исполнения превышает общий эффективный фонд рабочего времени исполнителя. В состав исходных данных наряду с характеристиками очереди транзактов необходимо включить вероятность отказа. Для сопоставления допустимых величин с фактическими в модель вводится блок тестирования. При входе транзакта в этот блок проверяется длина очереди на допустимое значение. В случае выполнения теста транзакт проходит дальше, следовательно, встает в очередь и будет выполнен в момент освобождения исполнителя. При невыполнении теста транзакт переходит к альтернативной процедуре – уничтожение, и в модели более не отражается.
Имитационная модель конвейера с отказами представлена в прил. в.