Повна версія

Головна arrow Інформатика arrow ІМІТАЦІЙНЕ МОДЕЛЮВАННЯ СИСТЕМ В СЕРЕДОВИЩІ EXTENDSIM

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

ІНСТРУМЕНТИ ДЛЯ УПРАВЛІННЯ ПОТОКОМ ЗАЯВОК

Маршрутизація заявок

У ExtendSim реалізований інструментарій для управління потоком заявок, що дозволяє розділяти або об'єднувати потоки в залежності від заданих умов (критеріїв). Маршрутизація потоків реалізується блоками Select Пет

In і Select Item Out.

Блок Select Немає In виконує злиття декількох потоків заявок в один потік, вибирає заявку з одного з вхідних конекторів в залежності від умов і посилає заявку на вихідний коннектор. Доступні різні режими роботи блоку:

  • - по пріоритет) ' {Item priority). Вибирається вхідний коннектор (вхід), на якому доступна заявка з найвищим пріоритетом (відповідає найменшому числовим значенням пріоритету);
  • - за ймовірністю (Random). Вхід вибирається по ймовірності, заданої в діалоговому вікні блоку. Ймовірності вводяться в десятковому форматі (наприклад, можна ввести 0.25 або 25%), сума ймовірностей повинна дорівнювати одиниці. Нелі обрана опція Select from: all input , то вхід буде обраний випадковим чином незалежно від того, доступна чи ні заявка на даному вході. Подібна ситуація може потенційно привести до зависання. У разі вибору опції Select from: only inputs with available items , блок буде вибирати тільки входи з доступними заявками;
  • - за значенням на коннекторе блоку (Select connector). Значення, отримане на коннекторе select , визначає, який вибирається вхід. У діалоговому вікні блоку є иоле введення для значення, що відповідає верхньому входу; але умовчанням встановлений 0. Нижні коннектори будуть пронумеровані послідовно від верхнього коннектора. Тобто, якщо верхній вхід визначається значенням I, то другий вхід буде пронумерований як 2, наступний нижній вхід як 3,

і так далі. В цьому випадку, значення 3 на коннекторе select приведе до вибору заявки з третього входу. Навіть якщо доступні заявки на інших входах, блок очікує заявки на вході 3;

послідовно ( Sequential ). Вибираються входи в строго послідовному порядку, починаючи зверху. Его також відомо, як вибір але методу «round robin» - циклічний перебір;

- об'єднання (Merge). Заявки вибираються в міру доступності. У загальному випадку, даний режим використовується для об'єднання потоків заявок, де відсутня блокування заявок, що надходять на блок Select Item In. Входи вибираються в порядку циклічного перебору, починаючи зверху; після отримання заявки з входу вибір буде продовжений з наступного входу.

Блок Select Item Out розділяє потік заявок і направляє їх по якомусь конкретному шляху в залежності від умов. Можна налаштувати режим роботи блоку:

за властивостями (Property). Вихід визначається з використанням параметрів заявки - атрибута або пріоритету;

  • - за пріоритетом конекторів (Connector priority). Робиться спроба відправити заявку на кожен коннектор в порядку їх пріоритету, поки заявка не буде прийнята приєднаним блоком. Пріоритет для конекторів вводиться в таблиці в діалоговому вікні блоку. Найвищий пріоритет відповідає найменшому числу;
  • - за ймовірністю (Random). Виходи вибираються за ймовірністю відповідала установкам, заданих в таблиці ймовірності блоку. При виборі режиму If output is blocked: item will try unblocked outputs, блок буде випадковим чином вибирати вихід для відправлення заявки. При виборі режиму If output is blocked: item will wait for blocked output, блок буде вибирати вихід, і заявка буде в стані очікування, поки вихід не зможе прийняти заявку;
  • - за значенням на коннекторе блоку (Select connector). Значення, отримане на коннекторе select, визначає, який вибирається вихід. У діалоговому вікні блоку є поле введення для значення, що відповідає верхньому виходу; але умовчанням встановлений 0. Нижні коннектори будуть пронумеровані послідовно після верхнього коннектора. Блок утримує заявку, поки вихідний канал зайнятий;

послідовно ( Sequential ). Виходи вибираються в послідовному порядку, починаючи з верхнього (режим циклічного вибору «round robin»). При виборі пункту If output is blocked: item will tty unblocked outputs , блок буде перевіряти послідовно всі коннектори, поки не знайде вільний вихід. У разі вибору опції If output is blocked: item will wail for blocked output, блок вибере вихід і заявка буде чекати до тих пір, поки вихід не зможе прийняти заявку.

Блоки Select Item In і Select Item Out працює тільки з цілими числами. Тому, якщо обраний режим select connector , то числа 0,001 і 0,999, отримані на вході select , будуть приведені до 0.

При заходів 9. Спеціалізована обчислювальна система отримує на вхід завдання. Завдання надходять в систему відповідно до нормального закону розподілу із середнім значенням 20 мс і середнім квадратичним відхиленням (СКВ) - 2 мс. Завдання розподіляються на два комп'ютери з можливостями: 0,8 і 0,2. Час обробки завдання на кожному з комп'ютерів розподілено по рівномірному закону в діапазоні відповідно: 8-12 мс; 6-10 мс. Промоделювати роботу системи по обробці 2000 заявок.

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

Модель системи (приклад 9)

Мал. 43. Модель системи (приклад 9)

Для побудови моделі необхідно виконати наступні кроки:

  • 1. Створити, розмістити і з'єднати блоки, як показано на схемі (рис. 43).
  • 2. Поставити в блоці Executive режим закінчення моделювання: Stop simulation: when count connector value = 2000.
  • 3. Поставити в діалоговому вікні блоку Create режим Create items randomly , розподіл Normal з параметрами mean = 20 і Std.dev = 2.
  • 4. Поставити в діалоговому вікні блоку Select Немає Out режим Select output based on: random опцію if output is bloked: item will wait for blocked output і таблицю ймовірностей Probability : 0,8 - перший вихід, 0,2 - другий вихід.
  • 5. Поставити в діалоговому вікні блоків Activity режим Delay is: specified by a distribution розподіл Uniform, Real з параметрами Min = 8 (6) і Max = 12 (10) і винести в область модельного вікна вихідну характеристику Utilization (коефіцієнт використання пристрою).

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

В результаті моделювання видається інформація про за1рузке пристроїв: 0,4 (для першого комп'ютера) і 0,08 (для другого), яка дозволяє зробити висновок про нерівномірному завантаженні комп'ютерів системи і неповне використання обчислювальних ресурсів системи в цілому. Система має резерви обчислювальної потужності і вхідний потік заявок може бути значно збільшений.

Приклад 10. На обробку в обчислювальну систему надходять завдання. Середній інтервал між надходженням двох завдань підпорядковується рівномірному закону розподілу в діапазоні 10-14 мс. Завдання обробляються одним з трьох комп'ютерів. Час обробки - 36 мс. Якщо в черзі на обробку коштує 3 завдання, то знову надійшла завдання виводиться з системи без обробки. Промоделювати роботу системи протягом 200 мс.

Кінцевий вигляд моделі з обмеженням черги наведено на рис. 44.

Модель системи (приклад 10)

Мал. 44. Модель системи (приклад 10)

Послідовність розробки моделі наступна.

  • 1. Створити, розмістити і з'єднати блоки, як показано на схемі (рис. 44).
  • 2. Поставити в блоці Executive режим закінчення моделювання: Stop simulation: at end time. У пункті меню Run -> Simulation Setup задати End time = 200.
  • 3. Поставити в діалоговому вікні блоку Create режим Create items randomly, розподіл Uniform, Real з параметрами Min = 10 і Max = 14.
  • 4. Поставити в діалоговому вікні блоку Select Item Ош режим Select output based on: select connect.
  • 5. Поставити в діалоговому вікні блоків Activity режим Delay is: a constant. Delay (D) - 36 time units, Maximum items in activity = 3.
  • 6. Поставити в діалоговому вікні блоку Decision (бібліотека Value.Іх) опцію Outputs 1 at Y (TRUE) and 0 at N (FALSE) if: A <= В and В is: 3.

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

У блоці Decision аналізується довжина черги. Якщо довжина черги менше ніж або дорівнює порогової величиною, визначеною в діалоговому вікні блоку Decision (3 заявки) на виході Y буде видано значення 1. Це вкаже блоку Select Item Out направляти заявки через нижній вихідний коннектор. Якщо довжина черги більше порогового значення, вихід N блоку Decision видасть 0, і заявки будуть спрямовані на вихід, ігноруючи чергу.

В результаті моделювання видається графік зміни часу очікування заявки в черзі і кількості необслужених заявок в часі (див. Рис. 45). Аналіз вихідних характеристик дозволяє зробити висновок про низьку ефективність системи, що моделюється: обробляється тільки приблизно половина, що надходять заявок (9 з 17 заявок але результатами одного прогону моделі), інші заявки виводяться з системи без обробки.

Графік зміни вихідних характеристик системи (приклад 10)

Мал. 45. Графік зміни вихідних характеристик системи (приклад 10)

 
<<   ЗМІСТ   >>