МОДЕЛЮВАННЯ ПРОЦЕСІВ ПЕРЕРИВАННІ ОБСЛУГОВУВАННІ

У завданнях дискретно-подієвого моделювання часто виникає ситуація переривання процесу обробки заявки (транзакта). Переривання процесу може бути викликано різними причинами. Наприклад, вихід з ладу (поломка) каналу обслуговування; прихід більш пріоритетною заявки, яка витісняє заявку з більш низьким пріоритетом; планове відключення обладнання і т.п.

У ExtendSim настройки процесу переривання задаються в блоці Activity. У діалоговому вікні блоку є дві вкладки Preemption (пріоритетність) і Shutdown (відключення) для опису процесу переривання.

У вкладці Preemption задаються настройки для моделювання ситуації приходу більш пріоритетною заявки. У разі її приходу, перервана заявка виводиться з блоку Activity через додатковий вихідний коннектор ( PEJtemOut ). Залежно від налаштувань може бути перервано виконання заявки з більш низьким пріоритетом ( the item with the lowest priority ); заявки, на завершення якої потрібно найбільше / найменше час ( the item furthest / closest to finishing ); всі поточні заявки (all items currently in processing ); тільки заявки з певним значенням атрибута (only items with a particular attribute value).

Також можна задати режим переривання тільки в разі зайнятості все каналів в блоці Activity (Preempt only if block is full) і задати атрибут, в якому буде зберігається залишився обробки заявки {Store remaining process time in attribute).

У внеску Shutdown задаються настройки для моделювання ситуації тимчасового блокування (відмови) блоку Activity. Блокування відбувається, коли на вхідний коннектор SD блоку Activity приходить сигнал (value) або елемент (item).

Для завдання розкладу роботи блоку Activity можна використовувати блок

Shutdown , в діалоговому вікні якого задаються закони розподілу інтервалів між блокуваннями (TBF - time between failures) і відновленням (777? - time to repair) блоку Activity. На вихідному коннекторе блоку Shutdown (SD ValueOut) генерується значення 1 (блокування) або 0 (робота). Цей коннектор зв'язується з коннектором SD блоку Activity і таким чином відбувається управління процесом обслуговування заявок.

У діалоговому вікні блоку Activity у вкладці Shutdown також можна задати що відбувається з заявкою в разі блокування блоку: заявка зберігається і її обслуговування відновлюється після відновлення (keep items, resume process after shutdown ); заявка зберігається і її обслуговування починається спочатку після відновлення (keep items, restart process after shutdown), завершується обробка поточної заявки, а потім тільки блок блокується (finish processing items before shutting down): заявка знищується ( discard items that are being processed).

Наведемо приклад, в якому ілюструються різні варіанти переривання процесу моделювання.

При заходів 14. У обчислювальну систему на обробку надходять два потоки пакетів з низьким і високим рівнями пріоритету. Інтенсивність надходження пакетів першого потоку - 0,2; другого потоку - 0,25. Пакети проходять два етапи обробки. Па першому етапі обробки задіяно один пристрій, середній інтервал обслуговування дорівнює 2 с. У разі надходження пакета з високим пріоритетом під час обслуговування пакета з низьким пріоритетом відбувається переривання обробки, пакет з низьким пріоритетом виводиться з системи і знову стає в чергу на обробку. На другому етапі відбувається обробка пакету равновероятно одним з двох пристроїв, середній інтервал обслуговування дорівнює 3 с. На другому етапі можливе блокування пристрою. Середній інтервал між блокуваннями - 100 с, середній інтервал відновлення - 10 с. Всі потоки, що протікають в системі, - пуассоновским.

Змоделювати систему протягом 1000 с. Визначити коефіцієнти завантаження всіх пристроїв, середню довжину черги пакетів на обслуговування на всіх етапах, загальна кількість переривань на першому етапі обробки, кількість і загальний час блокування пристроїв на другому етапі обробки.

Кінцевий вигляд моделі наведено на рис. 51.

Модель обчислювальної системи (приклад 14 ^

Мал. 51. Модель обчислювальної системи (приклад 14 ^

Налаштування основних блоків наступні.

  • 1. Поставити в діалоговому вікні блоків Create режим Create items randomly , розподіл Exponential з заданим середнім mean = 5 (4) і location = 0.
  • 2. Поставити в діалоговому вікні блоків Set в поле Property Name атрибут пріоритет: Item Priority рівний 1 і 2 відповідно для першого і другого потоків.
  • 3. Поставити в діалоговому вікні блоків Activity у вкладці Process режим Delay is: specified by a distribution розподіл Exponential c mean = 2 (3) і location = 0. У першому блоці Activity , у вкладці Preempt включити режим переривання: Enable preemption , задати режим переривання пакета з низьким пріоритетом: the item with the lowest priority , переривання тільки в разі повністю зайнятого пристрої: Preempt only if block is full, задати ім'я атрибута, в якому зберігається залишився обробки перерваного пакета: Store remaining process time in attribute - Remainingtime і його використання: Use this attribute as delay. Bo другому і третьому блоках Activity , у вкладці Shutdown включити режим блокування: Enable shutdown, опцію збереження перерваного пакета і відновлення його обслуговування після зняття блокування: When activity 'shuts down Keep items, resume process after shutdown.
  • 4. Поставити в діалоговому вікні першого блоку Select Item In режим select input based on: merge , у другому блоці Select Item In режим select input based on: random.
  • 5. Поставити в діалоговому вікні першого блоку Queue метод сортування черги за пріоритетом: Select sort method - Sort by Priority.
  • 6. Поставити в діалоговому вікні блоку Decision режим порівняння пріоритетів пакету, що знаходиться на обслуговуванні, і пакета, що стоїть в черзі на обслуговування: А -> В.
  • 7. Поставити в діалоговому вікні блоків Shutdown розподіл часу між блокуваннями (поломками): Set time between failures і часу відновлення: Set time to repair за експоненціальним законом Exponential з параметрами: mean = 100 (10) і location = 0.

Для інших блоків моделі використовуються настройки «за замовчуванням».

В результаті моделювання коефіцієнти використання пристроїв Utilization на першому і другому етапах обробки дорівнюють відповідно 0,95 (0,74; 0,76); середня довжина черги на обробку Length по етапах обслуговування: 11,3 (1,9; 2,4). Кількість переривань Preemptions обробки пакетів з низьким рівнем пріоритету на першому етапі обслуговування: 104. Кількість блокувань Total піт downs і сумарний час блокування пристроїв Total down time на другому етапі обслуговування: 11 (5) і 96,2 (52,7). В цілому, система справляється з обробкою потоку пакетів, найбільший коефіцієнт завантаження відповідає першому пристрою.

 
Переглянути оригінал
< Попер   ЗМІСТ   ОРИГІНАЛ   Наст >