Transfer all,5,15,5

Результат моделювання буде той самий.

Варто зазначити, що транзакт, затриманий у блоках TRANSFER BOTH або TRANSFER ALL, просувається, починаючи із блоку В. Отже, у режимі BOTH, коли можливий перехід до обох блоків В і С, блок В має деяку перевагу. Аналогічно й у режимі ALL, коли можливий перехід до декількох блоків, блоки з меншими номерами мають деяку перевагу над блоками з більшими номерами. Підтвердимо це результатами моделювання розглянутого прикладу (рис. 5.4).

Рис. 5.4. Результати моделювання системи з використанням блоку
TRANSFER, що працює в режимі ALL

Результати моделювання показують, що найбільший коефіцієнт використання має ОКП KAN1, а найменший – ОКП KAN3. Це незважаючи на те, що середній час обслуговування ОКП KAN3 менший, ніж ОКП KAN1 і він за той самий час міг би обслужити більше число транзактів.

Блок TRANSFER у режимі ALL також виконує роль “диспетчера”, але на відміну від режиму BOTH він розподіляє транзакти між декількома ОКП.

Робота блоку TRANSFER у режимі PICK передбачає використання ключового слова PICK в операнді А. У цьому режимі з послідовності блоків з номерами v, v + 1, v + 2,..., п випадковим чином вибирається номер одного блоку, до якого спрямовується транзакт(v – номер блоку, зазначеного операндом В, а п – номер блоку, зазначеного операндом С). Всі блоки, включаючи й ті, що зазначені операндами В і С, вибираються з рівною ймовірністю 1 / [ п - v + 1]. Транзакт намагається перейти тільки до обраного для нього блоку. Якщо транзакт не може відразу перейти до наступного блоку, то він буде чекати в блоці TRANSFER доти, поки не буде знята умова блокування. Номер блоку С повинен бути більшим або рівним v + 1.

У функціональному режимі блок TRANSFER працює тоді, коли замість операнда А використовується ключове слово FN. Із входом транзакта в блок TRANSFER обчислюється значення функції, назва якої задана операндом В. Якщо результат не цілий, то від нього береться ціла частина. Для визначення номера наступного блоку отримане ціле значення додається до операнда С (значення операнда С може бути рівне нулю). Якщо блок з обчисленим номером зайнятий, тоді транзакт залишається в блоці TRANSFER доти, поки не зможе перейти саме до блоку з обчисленим номером. Наприклад:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: