You are on page 1of 13

Наука – виробництву

УДК 004.942

ДОСЛІДЖЕННЯ АЛГОРИТМІВ ДИСПЕТЧЕРИЗАЦІЇ


В КОМП'ЮТЕРНИХ СИСТЕМАХ
В.Б. Кропивницька, Б.В. Клим, А.Г. Романчук, М.O. Слабінога
ІФНТУНГ, 76019, м. Івано-Франківськ, вул. Карпатська, 15, тел. (03422) 46067,
e-mail: p u b l i c @ n u n g . e d u . u a

Розроблено систему імітаційного моделювання поведінки процесів в комп’ютерних системах (зокре-


ма, нафтогазового комплексу) з урахуванням заданих алгоритмів диспетчеризації, що дозволяє проводити
моделювання обробки даних процесів системою і тим самим визначити оптимальні характеристики та
стратегії диспетчера системи для роботи з заданим набором процесів.
Зроблено аналіз існуючих алгоритмів планування процесів, виділені їхні недоліки та переваги. Визначе-
но роль диспетчеризації в комп’ютерних системах, які тут розглядають як системи масового обслугову-
вання. Розглянуті основні алгоритми планування і проведено дослідження їхнього впливу на завершення
процесів в системі за допомогою розробленої програми імітаційного моделювання.
Ключові слова: алгоритми диспетчеризації, процес, комп’ютерна система, імітаційне моделювання.
Разработана система имитационного моделирования поведения процессов в компьютерных системах
(в частности нефтегазового комплекса) с учетом заданных алгоритмов диспетчеризации, что позволяет
проводить моделирование обработки данных процессов системой и тем самым определить оптимальные
характеристики и стратегии диспетчера системы для работы с заданным набором процессов.
Проанализированы существующие алгоритмы планирования процессов, выделены их достоинства и
недостатки. Определена роль диспетчеризации в компьютерных системах, которые рассматриваются
здесь как системы массового обслуживания. Рассмотрены основные алгоритмы планирования и проведены
исследования их влияния на завершение процессов в системе при помощи созданной программы имитацион-
ного моделирования.
Ключевые слова: алгоритмы диспетчеризации, процесс, компьютерная система, имитационное моде-
лирование.
Article deals with development of the simulation system of processes behavior in computer systems depending
on given scheduling algorithms. This allows to simulate processes execution and thereby to determine the system
scheduler’s optimal features and strategies for a given set of processes.
In the process existing queuing models that fully characterize the processing system were analysed. The
scheduling role in the systems of this type was determined. Basic scheduling algorithms were considered and their
оmpact on completion processes in the system was investigated wath a heep of the simulation program.
Keywords: algorithms of dispatcher, process, computer system, simulation modeling.

I Вступ. Комп’ютерні системи постійно Імітаційне моделювання є потужним ін-


розвиваються та стають більш потужними. В струментом, який дає змогу визначити оптима-
той же час розширюється набір задач, які ними льні стратегії диспетчера для певного набору
вирішуються, зростає їх кількість та потреба в процесів. Таке моделювання дає можливість
системних ресурсах. Це, зокрема, стосується отримати більш детальне уявлення про поведі-
об’єктів нафтогазового комплексу, які, як пра- нку процесів у системі, ніж прогнозні розраху-
вило, розподілені в просторі, що спричиняє збі- нки та розробка аналітичної моделі.
льшення трафіка в комп’ютерних мережах. Попри значний інтерес до проблеми обслу-
Однією з ключових концепцій багатозада- говування процесів у комп’ютерних системах,
чності, функціонування систем загального при- особливо при розробці та реалізації операцій-
значення та систем реального часу є диспетче- них систем, проблемі імітаційного моделюван-
ризація. Вона призначена для розподілу ресур- ня поведінки процесів у системі великої уваги
сів системи між багатьма задачами з потенцій- не приділялось. Можна виділити лише декілька
но конкуруючими вимогами. Кожна комп’ю- програмних продуктів, які використовуються
терна система, чи то система пакетної обробки, для цієї мети: MOSS Scheduling Simulator,
інтерактивна система чи система реального ча- CPUSS, Cheddar. Кожна із перелічених систем
су, розподіляє наявні ресурси між процесами моделювання має свої недоліки: незначна кіль-
так, щоб оптимізувати свою роботу відповідно кість алгоритмів диспетчеризації, роботу яких
до одного або декількох користувацьких чи си- можна зімітувати; неможливість налаштування
стемних критеріїв. Власне, розподілом систем- користувачем параметрів цих алгоритмів; мала
них ресурсів займається операційна система, а кількість статистичних показників, які врахо-
способами цього розподілу – її частина, відома вуються при визначенні характеристик систе-
як планувальник або диспетчер, який при цьо- ми; недорозвинений і незручний графічний ін-
му повинен задовольнити певні вимоги систе- терфейс або взагалі його відсутність, що вима-
ми, наприклад такі, як час відгуку певного про- гає часу на освоєння програми. Крім того, жо-
цесу, пропускну здатність чи коефіцієнт вико- ден із програмних продуктів не дозволяє прове-
ристання процесора.

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву
сти імітаційне моделювання поведінки процесів Таблиця 1 – Параметри процесів, що вико-
у багатопроцесорній системі. нуються з використанням стратегії FCFS
II Постановка завдання. Сформулюємо Процес Час прибуття Час виконання
завдання дослідити роботу процесів у опера- Р1 0 18
ційних системах при використанні різних алго- Р2 0 3
ритмів планування. Для дослідження процесів Р3 0 3
диспетчеризації в комп’ютерних системах по-
трібно розробити систему імітаційного моде-
лювання поведінки процесів, яка відтворює ро-
боту частини операційної системи, відомої як
диспетчер, що дозволило б проводити моделю-
вання обробки процесів системою в залежності
від різної кількості процесорів та з врахуванням
заданих алгоритмів.
ІІІ Результати. Основна мета диспетчери-
зації – це розподіл процесорного часу таким
чином, щоб оптимізувати один або декілька
аспектів поведінки системи. Загалом, існує до-
сить багато критеріїв оцінки різних стратегій
планування.
Найбільш популярні критерії можуть бути
класифіковані в двох площинах. По-перше їх
можна поділити на користувацькі та системні.
Користувацькі критерії пов’язані з поведінкою Рисунок 1 – Залежність середнього часу
системи стосовно окремого користувача або очікування від порядку виконання процесів
процесу. Системні критерії орієнтовані на ефе- для алгоритму FCFS
ктивність і повноту використання процесора,
тоді як користувацькі критерії важливі майже Інша складність при використанні стратегії
для всіх систем, системні критерії, скажімо, для FCFS пов’язана з тенденцією процесів, орієнто-
однокористувацьких систем не такі значущі. ваних на роботу з процесором, до отримання
Ще один спосіб розподілу критеріїв: ті, які переваги над процесами, орієнтованими на
пов’язані з продуктивністю системи, і ті, які з ввід-вивід. При роботі процесу, орієнтованого
продуктивністю безпосередньо не пов’язані. на процесор, решта процесів, що орієнтовані на
Критерії, орієнтовані на продуктивність, вира- ввід-вивід, вимушені знаходитися в стані очі-
жаються числовими значеннями і зазвичай їх кування. Деякі з них можуть знаходитися в чер-
досить легко виміряти. Критерії ж, не пов'язані зі вводу-виводу в заблокованому стані, або мо-
з продуктивністю або якісні за своєю приро- жуть повернутися в чергу готових до виконан-
дою, важко піддаються вимірюванню і аналізу ня процесів за той час, поки виконується про-
[1, 2]. цес, орієнтований на використання процесора.
Найпростіший алгоритм диспетчеризації Виникає ситуація, коли попри потенційну мож-
«першим прийшов – першим обслужений» – ливість роботи пристроїв вводу-виводу вони
First-Come, First-Served (FCFS). Як тільки про- знаходяться в стані простою. При перериванні
цес стає готовим до виконання, він приєднуєть- виконання поточного процесу готові процеси
ся до черги готових процесів. При зупинці ви- (орієнтовані на ввід-вивід) швидко проходять
конання поточного процесу для виконання ви- через стан виконання і тут же виявляються за-
бирається той процес, який знаходився в черзі блокованими черговою операцією вводу-
найдовше. Такий алгоритм здійснює невитіс- виводу. Якщо ж у цей момент опиниться забло-
няюче планування. кованим той процес, що орієнтований на вико-
Алгоритм FCFS є дуже простим у реаліза- ристання процесора, то процесор знаходитиметь-
ції, але він має ряд недоліків. Середній час очі- ся в стані простою і, таким чином, стратегія FCFS
кування і середній повний час виконання про- може спричинити неефективне використання як
цесу для цього алгоритму істотно залежать від пристроїв вводу-виводу, так і процесора. [2]
порядку розташування процесів у черзі. Якщо Очевидним шляхом підвищення ефектив-
виконується деякий тривалий процес, то корот- ності роботи з короткотривалими процесами в
котривалі процеси, що перейшли в стан готов- схемі FCFS є використання витіснення на осно-
ності після виконання тривалого процесу, бу- ві таймера. Проста стратегія, заснована на цій
дуть дуже довго чекати на початок виконання ідеї, – це стратегія кругового (карусельного)
[3]. Покажемо це на прикладі. Нехай до системи планування (Round Robin – RR). Таймер гене-
на виконання прибувають 3 процеси (табл. 1). рує переривання через певні інтервали часу. На
Залежність середнього часу очікування від час кожного переривання процес, що викону-
порядку виконання заданих процесів показано на ється в даний момент, поміщається в чергу го-
рис. 1. тових до виконання процесів, і починає вико-
нуватися черговий процес, вибраний відповідно
до стратегії FCFS. Ця методика відома також як

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

а) квант часу, більший б) Квант часу,


типового часу обслуговування менший типового часу обслуговування
Рисунок 2 – Вплив довжини кванта часу на час відгуку

квантування часу, оскільки перед витісненням Крім того, використовувати даний алгоритм в
кожен процес отримує квант часу на виконання. системах з розподіленням часу або системах
При круговому плануванні принциповим обробки транзакцій недоцільно через відсут-
постає питання про тривалість кванта часу. Од- ність витіснення.
не з емпіричних правил у цьому випадку зву- Стратегія найменшого часу, що залишаєть-
чить так: квант часу має бути трохи більшим, ся (Shortest Remaining Time), є витісняючою
ніж час, потрібний для типового повного об- версією стратегії SJF. В цьому випадку диспет-
слуговування. На рисунку 2 проілюстровано чер вибирає процес з найменшим очікуваним
вплив тривалості кванта часу на час відгуку. В часом до закінчення процесу. При приєднанні
граничному випадку, коли квант часу переви- нового процесу до черги процесів може вияви-
щує час виконання найдовшого процесу, круго- тися, що його час виконання, що залишився,
ве планування вироджується в планування насправді менше, ніж час виконання процесу,
FCFS [3]. що в даний момент виконується. Диспетчер,
Щоб виявити один із основних недоліків відповідно, може застосувати витіснення при
даного алгоритму, розглянемо роботу з набо- готовності нового процесу. Як і при викорис-
ром процесів, орієнтованих як на процесор, так танні стратегії SJF, планувальник для коректної
і на операції вводу-виводу. Як правило, в про- роботи функції вибору повинен оцінювати час
цесів з інтенсивним вводом-виводом проміжок виконання процесу; в цьому випадку також є
часу між двома операціями вводу-виводу, коли ризик “голодування” довгих процесів.
процес використовує процесор, менше, ніж в У випадку використання стратегії SRT не-
процесу, орієнтованого на використання проце- має таких великих перекосів на користь довгих
сора. В результаті можлива така ситуація: про- процесів, як при використанні стратегії FCFS; на
цес з інтенсивним вводом-виводом використо- відміну від стратегії RR, тут не генеруються до-
вує процесор протягом короткого проміжку даткові переривання, що знижують накладні ви-
часу і опиняється в заблокованому стані в очі- трати. Проте в цьому випадку відбувається збі-
куванні завершення операції вводу-виводу. Пі- льшення накладних витрат через необхідність у
сля закінчення цієї операції він знову приєдну- фіксуванні і записі часу виконання процесів. У
ється до черги готових до виконання процесів. зв’язку з тим, що короткі завдання миттєво
З іншого боку, процес з інтенсивним викорис- отримують перевагу над довготривалими за-
танням процесора зазвичай використовує від- вданнями, які виконуються, стратегія SRT має
пущений йому квант часу повністю і миттєво істотну перевагу над стратегією SJF за часом
повертається в чергу готових до виконання обігу та очікування [1]. Продемонструємо це на
процесів. Отже, процес, орієнтований на роботу такому прикладі. Нехай до системи на виконан-
з процесором, отримує значно більший проце- ня надходять 4 процеси (табл. 2).
сорний час, що спричиняє зниження продукти- Середній час очікування процесів для не-
вності процесів з інтенсивним вводом-виводом, витісняючого алгоритму SJF та витісняючого
неефективне використання пристроїв вводу- SRT показано на рис. 3.
виводу і збільшення часу відгуку [1]. При використанні алгоритму планування з
Алгоритм вибору найкоротшого процесу пріоритетами кожному процесу присвоюється
(Shortest Job First) – це невитісняюча стратегія, певне числове значення – пріоритет, відповідно
при якій для виконання вибирається процес з до якого йому виділяється процесорний час. Як
найменшим очікуваним часом виконання. Ос- правило, менше числове значення пріоритету
новна складність алгоритму SJF полягає в тому, означає, що процес має більш високий пріори-
що для його реалізації необхідна оцінка часу тет. Алгоритм пріоритетного планування може
виконання, потрібного кожному процесу. Ос- бути як витісняючим, так і невитісняючим.
новна проблема при використанні стратегії SJF Процеси з однаковими пріоритетами планують-
полягає в тому, що при стабільній роботі коро- ся в порядку FCFS (рис. 4). Діаграма спрощена
тких процесів і їх постійному надходженні час і ігнорує існування декількох черг заблокова-
очікування та відгуку довгих процесів сильно них або призупинених процесів. Замість однієї
зростає, що може спричинити їх “голодування”. черги готових до виконання процесів ми маємо
ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)
Наука – виробництву
декілька таких черг, посортованих за зменшен- Головна проблема пріоритетного плану-
ням пріоритету: RQ0, RQ1, ..., RQn, тобто: вання полягає в тому, що при неналежному ви-
Пріоритет [RQi] > Пріоритет [RQj] борі механізму призначення і зміни пріоритетів
при i < j. низькопріоритетні процеси можуть не запуска-
тися невизначено довгий час. Це буде відбува-
При виборі процесу диспетчер починає з тися при постійному поступленні нових гото-
черги процесів, яка має найвищим пріоритет вих до виконання процесів з високим пріорите-
(RQ0). Якщо в черзі знаходиться один або декі- том. Вирішення цієї проблеми може бути дося-
лька процесів, для роботи вибирається процес з гнуте за допомогою збільшення пріоритету
використанням певної стратегії планування. процесу через певний час [3].
Якщо черга RQ0 порожня, розглядається черга Для систем, у яких процеси можуть бути
RQ1 і т. д. легко розсортовані по різних групах, був роз-
Таблиця 2 – Параметри процесів, що вико- роблений інший клас алгоритмів планування:
нуються за стратегією SJF та SRT багаторівневі черги зі зворотнім зв’язком. Його
суть полягає в тому, що для кожної групи про-
Процес Час прибуття Час виконання цесів створюється своя черга процесів, яка зна-
Р1 0 8 ходяться в стані готовності. Цим чергам припи-
Р2 3 3 суються фіксовані пріоритети. Виконується ви-
тісняюче планування з використанням динамі-
Р3 4 7 чного механізму.
Р4 8 4 При надходженні процесу в систему він
поміщається в чергу RQO (рис. 5). Після пер-
шого виконання і повернення в стан готовності
процес поміщається в чергу RQ1. Надалі при
кожному витісненні цього процесу він вносить-
ся до черги із все меншим пріоритетом. Відпо-
відно, короткі процеси, що швидко виконують-
ся, не можуть далеко зайти в ієрархії пріорите-
тів, тоді як довгі процеси поступово втрачають
свій пріоритет. Таким чином, нові короткі про-
цеси отримують перевагу у виконанні над ста-
рими довгими процесами [1].
Особливістю даного алгоритму є те, що
всередині черг кожного рівня можуть застосо-
вуватися різні алгоритми планування. Багаторі-
вневі черги із зворотним зв’язком є найбільш
загальним підходом до планування процесів.
Вони найважчі в реалізації, але в той же час
володіють найбільшою гнучкістю, оскільки для
Рисунок 3 – Середній час очікування процесів з різними характеристиками застосо-
процесів для алгоритму SJF та SRT вується найбільш вдалий алгоритм.

Рисунок 4 – Планування з використанням пріоритетів

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Рисунок 5 – Схема багаторівневої черги із зворотнім зв’язком

Незважаючи на значний інтерес до проб- його допомогою програмне забезпечення на


леми обслуговування процесів в комп’ютерних більшості сучасних операційних систем шля-
системах, особливо при розробці та реалізації хом простої компіляції тексту програми для
операційних систем, проблемі імітаційного мо- кожної ОС без зміни початкового коду. Воно
делювання поведінки процесів у системі вели- включає всі основні класи, які можуть бути по-
кої уваги не приділялось. Існуючі програмні трібні при розробці прикладного програмного
продукти, які використовують MOSS, CPUSS, забезпечення, починаючи з елементів графічно-
Cheddar, мають ряд недоліків: невелике число го інтерфейсу і закінчуючи класами для роботи
алгоритмів диспетчеризації, роботу яких можна з мережею, базами даних, і т. д. [6].
зімітувати; неможливість налаштування корис- Програма дозволяє імітувати поведінку си-
тувачем параметрів цих алгоритмів; низька кі- стеми масового обслуговування, а саме
лькість статистичних показників, які характе- комп’ютерної системи із заданою кількістю
ризують роботу системи; нерозвинений і не- обслуговуючих пристроїв (процесорів), що об-
зручний графічний інтерфейс; проведення імі- робляє деякий набір задач (процесів), згідно
таційного експерименту тільки для однопроце- вказаних алгоритмів диспетчеризації. Процеси,
сорної системи [4]. Тому доцільно розробити що поступають в систему на виконання, харак-
систему імітаційного моделювання поведінки теризуються певними властивостями, насампе-
процесів, яка б дозволяла проводити моделю- ред швидкістю надходження в систему та сере-
вання обробки процесів системою залежно від днім часом обслуговування. Статистичні пока-
різної кількості процесорів та з врахуванням зники, отримані в результаті імітаційного екс-
заданих алгоритмів планування, і тим самим перименту, дають змогу оцінити вплив різних
визначити оптимальні характеристики та стра- стратегій планування на виконання процесів
тегії диспетчера системи для роботи із заданим системи.
набором процесів. Програма імітаційного мо- В основу проведення експерименту покла-
делювання повинна дозволяти проектувати демо систему із одним процесором, на обслуго-
комп’ютерну систему шляхом задання кількос- вування до якого надходять 1000 процесів із
ті процесорів та характеристик процесів, що середньою швидкістю 20 процесів/секунду та
надходять в систему на обробку, проводити середнім часом обслуговування 45 мс. Таким
імітаційне моделювання ініціалізації та обслу- чином, коефіцієнт використання процесора до-
говування процесів з використанням заданих рівнює 90%. Вважаємо, що інтервали між над-
алгоритмів диспетчеризації, а також виводити ходженнями процесів в систему та час обслуго-
статистичні показники та графічні результати вування розподілені екпоненціально. Експери-
моделювання [5]. Також необхідно розробити мент проводиться як для системи з коефіцієн-
зручний користувацький інтерфейс програми, том завантаження 90% (один процесор), так і
що дозволило б проводити дослідження та ана- для системи з коефіцієнтом 45% (2 процесори)
ліз результатів без застосування додаткових та 30% (3 процесори). Причому для багатопро-
засобів програмування. Програма моделювання цесорних систем розглядається два варіанти
процесів диспетчеризації в комп’ютерних сис- організації черг: спільна черга до всіх процесо-
темах написана мовою програмування С++ за рів та окрема черга до кожного процесора.
допомогою крос-платформенного інструмента- Критеріями оцінки даного експерименту
рію розробки Qt версії 4.6.0. Це середовище слугують:
зручне тим, що дозволяє запускати написане за

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Таблиця 3 – Результати експерименту для алгоритму


«першим прийшов – першим обслужений»
Коефіцієнт Схема Середній час Середній час Нормалізований
завантаження, % системи обігу, мс очікування, мс час обігу
90 М/М/1 412 366 33
М/М/2 53 9 1.8
45
2 М/М/1 71 24 2.9
М/М/3 46 1 1.1
30
3 М/М/1 53 7 1.9

Рисунок 6 – Залежність часу очікування від часу обслуговування процесів


для алгоритму «першим прийшов – першим обслужений»

– середній час обігу (повний час, який про- коротких, так і для довготривалих процесів
цес проводить у системі); (рис. 6).
– середній час очікування (час, протягом При збільшенні кількості процесорів про-
якого процес чекає на виконання в черзі); дуктивність алгоритму значно підвищується і
– середній нормалізований час обігу, що процеси майже не затримуються в черзі, а від-
вказує відносну затримку процесу в системі і разу ж виконуються. Причому система із спіль-
визначається як відношення часу обігу до часу ною чергою до декількох процесорів працює
виконання. Мінімальне значення цього відно- набагато ефективніше, ніж система із окремими
шення дорівнює 1. Збільшення цього значення чергами до кожного процесора.
відповідає зниженню рівня обслуговування. При дослідженні системи із стратегією
Зважаючи на випадковий розподіл вхідних кругового планування додатково визначався
характеристик процесів, для одержання сталих вплив довжини кванта часу на роботу заданої
результатів доцільно провести декілька дослі- стратегії. Розглядалося такі три випадки:
джень із заданим набором параметрів системи. Квант часу менший від середнього часу
Першим було проведено експеримент, у обслуговування – 30 мс;
якому поведінка процесів системи визначалась Квант часу дорівнює середньому часу об-
алгоритмом «першим прийшов – першим об- слуговування – 45 мс;
служений». Моделювання здійснювалось 10 Квант часу більший за середній час обслу-
разів. Отримані результати подані в таблиці 3. говування – 60 мс.
Для однопроцесорної системи продуктив- Результати експерименту наведено в таб-
ність алгоритму «першим прийшов – першим лиці 4. Як видно із одержаних результатів, оп-
обслужений» дуже низька, адже середній час тимальна величина кванта часу, при якій алго-
обігу процесу в системі майже в 10 разів пере- ритм циклічної диспетчеризації працює найе-
вищує час обслуговування. При цьому короткі фективніше, становить 45 мс, тобто дорівнює
процеси страждають найбільше – їх відносна середньому часу обслуговування процесу. Для
затримка в системі досягає 300 одиниць. З ін- двопроцесорної системи вибір кванта часу вже
шого боку, хоча час очікування достатньо ве- не відіграє такого вагомого значення, оскільки
ликий, проте він практично однаковий як для процеси дуже швидко обслуговуються.

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Таблиця 4 – Результати експерименту для алгоритму кругового планування


Коефіцієнт Квант часу, Середній час Середній час Нормалізований
завантаження, % мс обігу, мс очікування, мс час обігу
30 457 415 21
90 45 421 368 19
60 449 403 26
30 60 14 1.4
45 45 58 12 1.4
60 57 12 1.6

Рисунок 7 – Залежність нормалізованого часу обігу від часу обслуговування процесів


для стратегії кругового планування

Рисунок 8 – Залежність часу очікування від часу обслуговування процесів


для алгоритму кругового планування

За винятком найкоротших процесів, час Проте внаслідок цієї безпристрасності час


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

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву
Таблиця 5 – Результати експерименту для алгоритму вибору найкоротшого процесу
Коефіцієнт Витіснення Середній час Середній час Нормалізований
завантаження, % обігу, мс очікування, мс час обігу
ні 190 144 4.7
90
так 160 114 1.7
ні 54 9 1.4
45
так 50 6 1

Рисунок 9 – Залежність нормалізованого часу обігу від часу обслуговування процесів


для алгоритму вибору найкоротшого процесу

Таблиця 6 – Результати експерименту для алгоритму багаторівневої черги


із зворотнім зв’язком
Коефіцієнт Квант часу, Середній час Середній час Нормалізований
завантаження, % мс обігу, мс очікування, мс час обігу
30 417 372 5.6
90
45 410 365 6.4
30 59 13 1.1
45
45 58 13 1.1

невитісняючого варіантів. Результати моделю- ритетів (при проведенні даного експерименту


вання представлені в таблиці 5. вважається, що всі процеси рівноправні). Дов-
Продуктивність при використанні витіс- жина кванта часу була вибрана 45 мс згідно
няючого варіанту алгоритму (алгоритм вибору проведеного дослідження для алгоритму круго-
найменшого часу, що залишився) є вищою, ніж вого планування. Але, зважаючи на те, що з
при використанні невитісняючої стратегії. На переходом на кожен нижчий рівень черги про-
рис. 9 показано графік залежності середнього цес отримував у своє розпорядження процесор
нормалізованого часу обігу від процентилів по протягом двох квантів часу попереднього рівня,
часу обслуговування для обох варіантів алгори- було цікаво прослідкувати вплив коротшого
тму (світлішим позначено невитісняючу стра- кванта часу на продуктивність алгоритму.
тегію, темнішим – витісняючу). Як видно з ри- Отримані результати дослідження подано в
сунка, невитісняючий алгоритм краще обслу- таблиці 6.
говує 10% найдовших процесів, на відміну від Як виявилось, при такій стратегії диспет-
витісняючого, що краще справляється з корот- черизації квант часу не має настільки вагомого
кими процесами. впливу на продуктивність, як у випадку круго-
При моделюванні стратегії багаторівневих вого планування, адже у кожному наступному
черг із зворотнім зв’язком, кількість рівнів черг підході до процесора йому надається вдвічі бі-
дорівнювала 3 (достатнє число для того, щоб льший час для виконання.
довгі процеси переходили на нижчі рівні), а Алгоритм багаторівневої черги із зворот-
процеси вважалися такими, що не мають пріо- нім зв’язком достатньо непогано працює із ко-

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Рисунок 10 – Залежність часу очікування від часу обслуговування процесів


для алгоритму багаторівневої черги із зворотнім зв'язком

Таблиця 7 – Результати експерименту для всіх алгоритмів диспетчеризації


FCFS RR SJF PP MFQ
Коефіцієнт завантаження ρ = 90%
Середній час обігу, мс 622 653 235 657 650
Середній час очікування, мс 563 593 176 598 591
Нормалізований час обігу 39 27 2 32 7
Коефіцієнт завантаження ρ = 45%
Середній час обігу, мс 71 71 66 72 71
Середній час очікування, мс 11 11 6 12 11
Нормалізований час обігу 1.6 1.3 1 1.3 1.2
Коефіцієнт завантаження ρ = 30%
Середній час обігу, мс 62 62 62 62 62
Середній час очікування, мс 1.3 1.5 1.2 1.5 1.5
Нормалізований час обігу 1 1 1 1 1

роткими процесами (рис. 10), проте час очіку- дення моделювання системи з окремою чергою
вання близько 40% найдовших процесів дуже до кожного із процесорів викликана тим, що в
великий. проведених експериментах даний підхід був
Для отримання узагальнених результатів неефективним і лише знижував вихідні показ-
по всіх алгоритмах диспетчеризації було про- ники системи для всіх алгоритмів диспетчери-
ведено ще один експеримент. В систему на об- зації. Отримані в результаті проведення експе-
слуговування надходило 1000 процесів із сере- рименту дані занесені до загальної таблиці 7.
дньою швидкістю 15 процесів/секунду та сере- Як видно, для заданого набору процесів
днім часом обслуговування 60 мс. Інтервали алгоритм SJF, а точніше його витісняючий ва-
часу між надходженнями процесів в систему та ріант, є оптимальним з погляду мінімізації се-
час обслуговування розподілені екпоненціаль- реднього часу обігу та середнього часу очіку-
но. Для алгоритмів кругового планування та вання процесів серед усіх алгоритмів диспетче-
багаторівневої черги із зворотнім зв’язком ризації (табл. 7). Відносна затримка процесу в
квант часу задали рівним середньому часу об- системі (середній нормалізований час обігу)
слуговування. Алгоритм вибору найкоротшого для даного алгоритму також є найнижчою
процесу працює в ефективнішому витісняючо- (табл. 7). Оскільки алгоритм SJF надає перевагу
му варіанті, а для алгоритму пріоритетного коротким процесам, час очікування приблизно
планування задано 3 групи пріоритетів. 5% найдовших процесів сильно розтягується
Проведено три досліди: в першому коефі- (рис. 11), і може викликати “голодування” цих
цієнт завантаження процесора дорівнював 90%, процесів.
у другому – 45%, в третьому – 30%, причому в Подібно до цього діє й алгоритм багаторі-
останніх двох випадках використовується спі- вневої черги із зворотнім зв’язком (MFQ). По-
льна черга до процесорів. Відмова від прове- при низьку відносну затримку процесу в систе-

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Рисунок 11 – Залежність часу очікування від часу обслуговування процесів


для різних алгоритмів диспетчеризації при 90% завантаженні процесора

Рисунок 12 – Залежність нормалізованого часу обігу від часу обслуговування процесів


для різних алгоритмів диспетчеризації при 90% завантаженні процесора

мі (рис. 12), час очікування приблизно 35% но ефективніше справляється з короткими про-
найдовших процесів є найбільшим серед усіх цесами. Щодо довготривалих процесів, то сере-
алгоритмів (рис. 11), що дає підставу говорити дній час очікування приблизно 35% найдовших
про можливе виникнення “голодування”. процесів для даного алгоритму більший за час
На відміну від двох попередніх алгоритмів, очікування цих же ж процесів у стратегії FCFS
алгоритм «першим прийшов – першим обслу- (рис. 12).
жений» (FCFS) віддає перевагу довгим проце- Алгоритм витісняючого пріоритетного
сам. Хоча середній нормалізований час обігу планування (PP) має подібні статистичні показ-
процесів є найбільшим для даного алгоритму ники до алгоритмів FCFS та RR (табл. 7). Пове-
(табл. 7), затримка близько 10% найдовших дінка цього алгоритму значною мірою визнача-
процесів у системі є найменшою серед усіх ал- ється порядком надходження процесів з вищим
горитмів (рис. 12) Ще однією особливістю, яка пріоритетом, а тому його вплив на короткі та
вирізняє цей алгоритм, є середній час очікуван- довгі процеси може бути різним в залежності
ня, який практично однаковий як для коротких, від цього фактору, що і демонструють рис. 11
так і для довгих процесів (рис. 11). та рис. 12.
Подібно до FCFS працює й алгоритм кру- На рис. 13 зображено динаміку росту черги
гового планування (RR) (табл. 7), проте він яв- в часі. Видно, що при використанні витісняю-

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Рисунок 13 – Динаміка росту черги в часі при використанні різних стратегій планування

Рисунок 14 – Зміна кількості виконаних процесів в часі при використанні різних стратегій
планування при 90% завантаженості процесора

чої стратегії SJF середня кількість процесів, що постійно зростатиме, допоки всі процеси не
очікують виконання, є найменшою серед всіх надійдуть до системи (рис. 15).
алгоритмів. Це зумовлено тим, що короткі про- У цьому випадку алгоритм вибору найко-
цеси виконуються відразу, і в черзі залишають- ротшого процесу (SJF) завершує процеси шви-
ся лише довгі процеси, на відміну від решти дше від інших алгоритмів до моменту, коли
алгоритмів, де короткі процеси змушені чекати черга досягне свого максимуму. Очевидно, що
закінчення виконання довготривалих. таке збільшення пропускної здатності,
Цікавою є також зміна кількості виконаних пов’язано з тим, що дана стратегія завершує
процесів у часі для кожного із алгоритмів дис- спочатку коротші процеси з черги.
петчеризації. З рисунку 14 видно, що всі стра- При дослідженні двопроцесорної системи з
тегії планування працюють практично рівномі- коефіцієнтом завантаженості 45%, помітно, що
рно і завершують процеси в однакові терміни. вплив алгоритмів диспетчеризації на продукти-
Зміни даної картини можна домогтися ли- вність значно зменшився (таблиці 4, 5). Сама ж
ше при перевантаженні системи, скажімо збі- продуктивність системи зросла в рази. Так, на-
льшенням вхідної швидкості надходження про- приклад, для алгоритму FCFS середній час обі-
цесів вдвічі, при якому коефіцієнт використан- гу процесу зменшився у 9 разів, середній час
ня процесора стане дорівнювати 100%, а черга очікування у 51 раз, а нормалізований час обігу

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Рисунок 15 – Зміна кількості виконаних процесів у часі при використанні різних стратегій
планування при 100% завантаженості процесора

Рисунок 16 – Залежність часу очікування від часу обслуговування процесів


для різних алгоритмів диспетчеризації при 45% завантаженні процесора

став практично рівним 1. Всі стратегії в даному відповідно процеси, поступаючи в систему,
випадку працюють майже однаково ефективно відразу ж виконуються.
по всіх критеріях. Виняток складає середній час
очікування приблизно 5% найдовших процесів, ІV Висновок. В ході проведення імітацій-
для яких оптимальним залишається алгоритм ного експерименту було зроблено порівняльний
«першим прийшов – першим обслужений» аналіз продуктивності системи для заданих
(рис. 16). стратегій диспетчеризації з точки зору оптимі-
Відносна затримка процесів у двопроцесо- зації вибраних системних критеріїв, таких як
рній системі значно перевищує середнє значен- середній час обігу процесу, середній час очіку-
ня лише для 2% найкоротших процесів для всіх вання та середній нормалізований час обігу, з
алгоритмів, за винятком SJF (рис. 17). якого слідує, що не існує універсального алго-
При моделюванні аналогічної системи з ритму диспетчеризації, тому при застосуванні
коефіцієнтом завантаженості 30% (три проце- будь-якого з них необхідно враховувати пара-
сори) вплив стратегій планування на систему метри процесів, з якими вони працюють, та
нівелюється. Для всіх алгоритмів середній час критерії результату, що має бути досягнутим.
обігу стає рівним середньому часу обслугову- Дослідження ж впливу алгоритмів планування
вання, час очікування становить близько 1 мс, і на багатопроцесорні системи виявило, що з ро-

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)


Наука – виробництву

Рисунок 17 – Залежність нормалізованого часу обігу від часу обслуговування процесів


для різних алгоритмів диспетчеризації при 45% завантаженні процесора

стом кількості процесорів різниця в їх продук- 4 Averill M., Law W., David Kelton.
тивності та вплив на роботу системи різко зни- Simulation Modeling and Analysis. – Mc
жується. GrawHill, 2000. – 635 р.
5 Строгалев В.П. Имитационное модели-
Література рование / В.П. Строгалев, Толкачева. – М.:
МГТУ им. Баумана, 2008. – 737c.
1 Crowley C. Operating Systems: A Design- 6 Джосьютис Н. С++ стандартная библио-
Oriented Approach. — Chicago: Irwin, 1997. – тека для профессионалов. – СПб: Питер, 2004.
579 p. – 730 с.
2 Столлингс В. Операционные системы.
4-е издание. – М.: Издательский дом «Виль-
ямс», 2004. – 848 с.: ил. Стаття надійшла до редакційної колегії
3 Таненбаум Э. Операционные системы. 12.05.11
Разработка и реализация. Классика CS .⁄ Э. Та- Рекомендована до друку професором
ненбаум, А. Вудхалл. 3-е изд. — СПб.: Питер, Горбійчуком М.І.
2007. – 704 с: ил.

ISSN 1993—9973. Розвідка та розробка нафтових і газових родовищ. 2011. № 2(39)

You might also like