Professional Documents
Culture Documents
Yurzuniv, 11kvbdks
Yurzuniv, 11kvbdks
УДК 004.942
квантування часу, оскільки перед витісненням Крім того, використовувати даний алгоритм в
кожен процес отримує квант часу на виконання. системах з розподіленням часу або системах
При круговому плануванні принциповим обробки транзакцій недоцільно через відсут-
постає питання про тривалість кванта часу. Од- ність витіснення.
не з емпіричних правил у цьому випадку зву- Стратегія найменшого часу, що залишаєть-
чить так: квант часу має бути трохи більшим, ся (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 вується найбільш вдалий алгоритм.
– середній час обігу (повний час, який про- коротких, так і для довготривалих процесів
цес проводить у системі); (рис. 6).
– середній час очікування (час, протягом При збільшенні кількості процесорів про-
якого процес чекає на виконання в черзі); дуктивність алгоритму значно підвищується і
– середній нормалізований час обігу, що процеси майже не затримуються в черзі, а від-
вказує відносну затримку процесу в системі і разу ж виконуються. Причому система із спіль-
визначається як відношення часу обігу до часу ною чергою до декількох процесорів працює
виконання. Мінімальне значення цього відно- набагато ефективніше, ніж система із окремими
шення дорівнює 1. Збільшення цього значення чергами до кожного процесора.
відповідає зниженню рівня обслуговування. При дослідженні системи із стратегією
Зважаючи на випадковий розподіл вхідних кругового планування додатково визначався
характеристик процесів, для одержання сталих вплив довжини кванта часу на роботу заданої
результатів доцільно провести декілька дослі- стратегії. Розглядалося такі три випадки:
джень із заданим набором параметрів системи. Квант часу менший від середнього часу
Першим було проведено експеримент, у обслуговування – 30 мс;
якому поведінка процесів системи визначалась Квант часу дорівнює середньому часу об-
алгоритмом «першим прийшов – першим об- слуговування – 45 мс;
служений». Моделювання здійснювалось 10 Квант часу більший за середній час обслу-
разів. Отримані результати подані в таблиці 3. говування – 60 мс.
Для однопроцесорної системи продуктив- Результати експерименту наведено в таб-
ність алгоритму «першим прийшов – першим лиці 4. Як видно із одержаних результатів, оп-
обслужений» дуже низька, адже середній час тимальна величина кванта часу, при якій алго-
обігу процесу в системі майже в 10 разів пере- ритм циклічної диспетчеризації працює найе-
вищує час обслуговування. При цьому короткі фективніше, становить 45 мс, тобто дорівнює
процеси страждають найбільше – їх відносна середньому часу обслуговування процесу. Для
затримка в системі досягає 300 одиниць. З ін- двопроцесорної системи вибір кванта часу вже
шого боку, хоча час очікування достатньо ве- не відіграє такого вагомого значення, оскільки
ликий, проте він практично однаковий як для процеси дуже швидко обслуговуються.
роткими процесами (рис. 10), проте час очіку- дення моделювання системи з окремою чергою
вання близько 40% найдовших процесів дуже до кожного із процесорів викликана тим, що в
великий. проведених експериментах даний підхід був
Для отримання узагальнених результатів неефективним і лише знижував вихідні показ-
по всіх алгоритмах диспетчеризації було про- ники системи для всіх алгоритмів диспетчери-
ведено ще один експеримент. В систему на об- зації. Отримані в результаті проведення експе-
слуговування надходило 1000 процесів із сере- рименту дані занесені до загальної таблиці 7.
дньою швидкістю 15 процесів/секунду та сере- Як видно, для заданого набору процесів
днім часом обслуговування 60 мс. Інтервали алгоритм SJF, а точніше його витісняючий ва-
часу між надходженнями процесів в систему та ріант, є оптимальним з погляду мінімізації се-
час обслуговування розподілені екпоненціаль- реднього часу обігу та середнього часу очіку-
но. Для алгоритмів кругового планування та вання процесів серед усіх алгоритмів диспетче-
багаторівневої черги із зворотнім зв’язком ризації (табл. 7). Відносна затримка процесу в
квант часу задали рівним середньому часу об- системі (середній нормалізований час обігу)
слуговування. Алгоритм вибору найкоротшого для даного алгоритму також є найнижчою
процесу працює в ефективнішому витісняючо- (табл. 7). Оскільки алгоритм SJF надає перевагу
му варіанті, а для алгоритму пріоритетного коротким процесам, час очікування приблизно
планування задано 3 групи пріоритетів. 5% найдовших процесів сильно розтягується
Проведено три досліди: в першому коефі- (рис. 11), і може викликати “голодування” цих
цієнт завантаження процесора дорівнював 90%, процесів.
у другому – 45%, в третьому – 30%, причому в Подібно до цього діє й алгоритм багаторі-
останніх двох випадках використовується спі- вневої черги із зворотнім зв’язком (MFQ). По-
льна черга до процесорів. Відмова від прове- при низьку відносну затримку процесу в систе-
мі (рис. 12), час очікування приблизно 35% но ефективніше справляється з короткими про-
найдовших процесів є найбільшим серед усіх цесами. Щодо довготривалих процесів, то сере-
алгоритмів (рис. 11), що дає підставу говорити дній час очікування приблизно 35% найдовших
про можливе виникнення “голодування”. процесів для даного алгоритму більший за час
На відміну від двох попередніх алгоритмів, очікування цих же ж процесів у стратегії FCFS
алгоритм «першим прийшов – першим обслу- (рис. 12).
жений» (FCFS) віддає перевагу довгим проце- Алгоритм витісняючого пріоритетного
сам. Хоча середній нормалізований час обігу планування (PP) має подібні статистичні показ-
процесів є найбільшим для даного алгоритму ники до алгоритмів FCFS та RR (табл. 7). Пове-
(табл. 7), затримка близько 10% найдовших дінка цього алгоритму значною мірою визнача-
процесів у системі є найменшою серед усіх ал- ється порядком надходження процесів з вищим
горитмів (рис. 12) Ще однією особливістю, яка пріоритетом, а тому його вплив на короткі та
вирізняє цей алгоритм, є середній час очікуван- довгі процеси може бути різним в залежності
ня, який практично однаковий як для коротких, від цього фактору, що і демонструють рис. 11
так і для довгих процесів (рис. 11). та рис. 12.
Подібно до FCFS працює й алгоритм кру- На рис. 13 зображено динаміку росту черги
гового планування (RR) (табл. 7), проте він яв- в часі. Видно, що при використанні витісняю-
Рисунок 13 – Динаміка росту черги в часі при використанні різних стратегій планування
Рисунок 14 – Зміна кількості виконаних процесів в часі при використанні різних стратегій
планування при 90% завантаженості процесора
чої стратегії SJF середня кількість процесів, що постійно зростатиме, допоки всі процеси не
очікують виконання, є найменшою серед всіх надійдуть до системи (рис. 15).
алгоритмів. Це зумовлено тим, що короткі про- У цьому випадку алгоритм вибору найко-
цеси виконуються відразу, і в черзі залишають- ротшого процесу (SJF) завершує процеси шви-
ся лише довгі процеси, на відміну від решти дше від інших алгоритмів до моменту, коли
алгоритмів, де короткі процеси змушені чекати черга досягне свого максимуму. Очевидно, що
закінчення виконання довготривалих. таке збільшення пропускної здатності,
Цікавою є також зміна кількості виконаних пов’язано з тим, що дана стратегія завершує
процесів у часі для кожного із алгоритмів дис- спочатку коротші процеси з черги.
петчеризації. З рисунку 14 видно, що всі стра- При дослідженні двопроцесорної системи з
тегії планування працюють практично рівномі- коефіцієнтом завантаженості 45%, помітно, що
рно і завершують процеси в однакові терміни. вплив алгоритмів диспетчеризації на продукти-
Зміни даної картини можна домогтися ли- вність значно зменшився (таблиці 4, 5). Сама ж
ше при перевантаженні системи, скажімо збі- продуктивність системи зросла в рази. Так, на-
льшенням вхідної швидкості надходження про- приклад, для алгоритму FCFS середній час обі-
цесів вдвічі, при якому коефіцієнт використан- гу процесу зменшився у 9 разів, середній час
ня процесора стане дорівнювати 100%, а черга очікування у 51 раз, а нормалізований час обігу
Рисунок 15 – Зміна кількості виконаних процесів у часі при використанні різних стратегій
планування при 100% завантаженості процесора
став практично рівним 1. Всі стратегії в даному відповідно процеси, поступаючи в систему,
випадку працюють майже однаково ефективно відразу ж виконуються.
по всіх критеріях. Виняток складає середній час
очікування приблизно 5% найдовших процесів, ІV Висновок. В ході проведення імітацій-
для яких оптимальним залишається алгоритм ного експерименту було зроблено порівняльний
«першим прийшов – першим обслужений» аналіз продуктивності системи для заданих
(рис. 16). стратегій диспетчеризації з точки зору оптимі-
Відносна затримка процесів у двопроцесо- зації вибраних системних критеріїв, таких як
рній системі значно перевищує середнє значен- середній час обігу процесу, середній час очіку-
ня лише для 2% найкоротших процесів для всіх вання та середній нормалізований час обігу, з
алгоритмів, за винятком SJF (рис. 17). якого слідує, що не існує універсального алго-
При моделюванні аналогічної системи з ритму диспетчеризації, тому при застосуванні
коефіцієнтом завантаженості 30% (три проце- будь-якого з них необхідно враховувати пара-
сори) вплив стратегій планування на систему метри процесів, з якими вони працюють, та
нівелюється. Для всіх алгоритмів середній час критерії результату, що має бути досягнутим.
обігу стає рівним середньому часу обслугову- Дослідження ж впливу алгоритмів планування
вання, час очікування становить близько 1 мс, і на багатопроцесорні системи виявило, що з ро-
стом кількості процесорів різниця в їх продук- 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 с: ил.