LECH JAMROŻ, JERZY RASZKA SZEREGOWANIE ZADAŃ CYKLICZNYCH Z WYKORZYSANIEM ALGORYMÓW PRIORYEOWYCH ON SCHEDULING OF CYCLIC ASKS USING PRIORIY ALGORIHMS S t r e s z c z e n e A b s t r a c t W artykule przedstawone jest zagadnene szeregowana zadań cyklcznych w systemach czasu rzeczywstego. Oprogramowane aplkacyjne systemów, najczęścej składa sę z tego typu zadań o różnych ogranczenach czasowych, które ne mogą być przekroczone. Stosowaną metodą szeregowana nezależnych zadań cyklcznych jest przydzelane m prorytetów. Stratega doboru prorytetów oraz zasada posługwana sę nm określona jest algorytmem szeregowana. Rozważane są prorytetowe algorytmy RMS, DMS oraz EDF, dla których przedstawone są warunk szeregowalnośc. Słowa kluczowe: szeregowane, algorytmy prorytetowe, zadana cyklczne hs paper s devoted to the schedulng of cyclc tasks n real-tme systems. he applcaton programs of such systems have been defned as those contanng cyclc tasks that have deadlnes that cannot be mssed. he prorty algorthms: RMS, DMS and EDF for schedulng set of ndependent cyclc tasks are consdered. here are several rules basng on whch the prortes are assgned to the tasks and then the tasks are beng scheduled. Schedulablty constrans are consdered whch guarantee the deadlnes of cyclc tasks. Keywords: schedulng, prorty algorthms, cyclc tasks Dr nż. Lech Jamroż, dr nż. Jerzy Raszka, Instytut Informatyk, Wydzał Fzyk, Matematyk Informatyk, Poltechnka Krakowska.
142 1. Wstęp Wele aplkacj wykorzystywanych w systemach czasu rzeczywstego składa sę ze zboru zadań wykonywanych cyklczne (np. odczyt danych sensorycznych, pętle sterowana, montorowane). Aplkacje te są zorentowane ne tylko na poprawność dostarczanych wynków, ale równeż na koneczność zagwarantowana, żeby każda perodyczna nstancja była regularne aktywowana z prawdłową częstotlwoścą kończyła swoje oblczena przed upływem neprzekraczalnego termnu (deadlne). W welu przypadkach zapewnene punktualnośc przewdywalnośc systemów można uzyskać poprzez podzał oprogramowana aplkacyjnego na nezależne zadana cyklczne, wykonywane z rożnym ogranczenam czasowym [2, 3, 7, 10]. W celu uporządkowana zboru tych zadań nadaje sę m prorytety, które mogą zapewnć spełnene żądanych uwarunkowań czasowych. Stratega doboru prorytetów oraz zasada posługwana sę nm w wykonywanu zadań określona jest algorytmem szeregowana. Ze względu na sposób podejmowana decyzj, wyróżnamy dwe podstawowe stratege szeregowana: szeregowane statyczne (pre-run-tme schedulng) oraz szeregowane dynamczne (run-tme schedulng). Szeregowane statyczne odbywa sę przed uruchomenem systemu jego rezultatem jest Plan Aktywacj Procesów (PAP), nterpretowany jako pewna funkcja określająca zadane, które w danej chwl ma być wykonywane (PAP może być pamętany w postac tablcy lub lsty). Warunkem stosowalnośc metody jest aproryczna znajomość zadań wraz z ch charakterystykam czasowym. Przykładem tej strateg szeregowana są algorytmy RMS oraz DMS [1, 2, 8]. Szeregowane dynamczne odbywa sę na beżąco w trakce pracy systemu. Podstawą dzałana tego szeregowana są prorytety, określające względną ważność zadań. Metoda może być stosowana, gdy charakterystyk czasowe zadań ne są z góry znane. Przykładem tej strateg szeregowana jest algorytm EDF [6, 3]. Ze względu na przyczynę podejmowana decyzj szeregujących wyróżna sę: szeregowane wymuszane czasem (clock drven schedulng) oraz szeregowane wymuszane zdarzenam (event drven schedulng). Dla szeregowana wymuszanego czasem decyzje szeregujące podejmowane są w specyfcznych, często z góry ustalonych chwlach czasu. Gdy parametry zadań są znane a pror, plan szeregowana można ułożyć w postac tablcy (szeregowane cyklczne). W przypadku szeregowana wymuszanego zdarzenam, decyzje szeregujące podejmowane są na beżąco, kedy zachodzą ścśle określone zdarzena np. zadane staje sę gotowe do wykonana, zmena sę jego prorytet albo następuje zwolnene procesora przez zadane beżące. Procedura szeregująca najczęścej jest uaktywnana gdy wystąpło przerwane sprzętowe lub proces beżący wykonał wywołane systemowe. Algorytm prorytetowy może pracować w trybe wywłaszczana (preemptve schedulng) lub ne wywłaszczana (non-preemptve schedulng) [11]. Krytyczne zadana aperodyczne (wywoływane przerwanam) traktuje sę jako cyklczne o pewnej maksymalnej częstotlwośc wznawana. Zadana sporadyczne uruchamane są w neregularnych odstępach czasowych, czas kolejnej aktywacj oblczany jest w trakce aktywacj beżącej Problem szeregowana cyklcznych zadań zależnych można rozwązać poprzez mplementowane protokołu synchronzacj [4, 5, 11].
2. Model zadana cyklcznego 143 Algorytmy szeregowana zadań cyklcznych operają sę na podstawowym modelu zadna, w którym czas dyskretny begne od chwl początkowej t 0 [6]. Zadane (task) Z = (p,, d,, r ) scharakteryzowane jest przez następujące parametry: p czas wykonana zadana (processng tme), okres (perod) występowana zadana, d względne ogranczene czasowe zadana (relatve deadlne), względny ostateczny termn zakończena zadana. r faza zadana, czas perwszego wywołana (release tme). Względne ogranczene czasowe zadana oznacza lmt czasu, przed upływem którego procesor pownen zakończyć jego wykonane. Zwykle take ogranczene czasowe jest mnejsze lub równe okresow występowana zadana. Okres występowana zadana, czas jego wykonana p oraz względne ogranczene czasowe d pownny spełnać warunek: p < d < (1) Parametry czasowe zadana cyklcznego przedstawono na rysunku 1. Rys. 1. Parametry czasowe zadana cyklcznego Fg. 1. mng parameters of cyclc task Własnośc zadań cyklcznych: wszystke zadana są cyklczne ze znanym okresem pomędzy kolejnym wystąpenam, zadana są od sebe nezależne, dopuszcza sę ch wywłaszczane, wszystke nstancje zadana mają nezmenny czas wykonana p, zadana wykonywane są cyklczne z założoną częstotlwoścą, określoną na podstawe wymagań danej aplkacj (np. wolna, szybka pętla oblczeń). Implementacją zadana nazywamy sekwencyjny program uruchamany w dyskretnych chwlach t takch, że t +1 = t +. Każde wywołane zadana powoduje jego wykonane w chwl t e określonej przez algorytm szeregujący. Jeżel t określa moment -tego wywołana zadana, to wykonywane mus rozpocząć sę ne wcześnej nż w chwl t a zakończyć ne późnej nż w chwl t d = t + d. Początek -tego wykonana zadana mus spełnać warunek t t e t d p. W algorytmach prorytetowych często zakładamy, że = d, wówczas t d = t +. Instancje (kolejne wystąpena) zadana cyklcznego są regularne aktywowane ze stałą częstotlwoścą mają ten sam najdłuższy czas wykonywana WCE (Worst Case
144 Executon me). Wszystke nstancje zadana mają tą samą wartość względnego ostatecznego termnu zakończena. Współczynnk wykorzystana procesora U [7]: n p U = (2) = 1 opsuje obcążene procesora podczas wykonywana zboru zadań cyklcznych. Dla różnych algorytmów szeregowana, współczynnk może przyjmować różne granczne wartośc, dla których dany zbór zadań jest szeregowalny (tzn. może wykonać wszystke swoje oblczena w zadanych ogranczenach czasowych). Jeżel współczynnk wykorzystana procesora jest wększy od 1, to dany zbór zadań może ne być szeregowany przez żaden algorytm prorytetowy [8]. Celem algorytmu szeregowana zadań jest take ustalene kolejnośc ch wykonywana, aby żadne zadane ne przekroczyło swojego grancznego termnu zakończena. Jeżel stneje taka kolejność to zbór zadań jest szeregowalny. Ewentualne włączane nowego zadana do systemu odbywa sę według ścśle określonej procedury (mode change protocol). W przypadku występowana zadań sporadycznych, w prowadzonych analzach zadana te są uwzględnane, lecz są one traktowane tak jak zadana cyklczne, o okrese równym mnmalnemu czasow pomędzy kolejnym wystąpenam tego samego zadana sporadycznego. 3. Klasyfkacja algorytmów prorytetowych Podstawową deą prorytetowych algorytmów szeregowana jest przyjęce określonej reguły przydzelana każdemu zadanu prorytetu. W danej chwl jest uruchamane zadane o najwyższym prorytece. Najczęścej mplementowane algorytmy szeregowana zadań cyklcznych to: 1. RMS (Rate Monotonc Schedulng) statyczny algorytm monotonczny w częstotlwośc, 2. DMS (Deadlne Monotonc Schedulng) statyczny algorytm monotonczny we względnym ogranczenu czasowym, 3. EDF (Earlest Deadlne Frst) dynamczny algorytm najwcześnejsza lna krytyczna najperw, 4. CES (Cyclc Executve Schedulng) - statyczny algorytm wykonywane cyklczne. 3.1. Algorytm RMS Algorytm RMS jest algorytmem statycznym. Dzałane algorytmu oparte jest na systeme prorytetów przydzelanych do poszczególnych zadań w ten sposób, że m krótszy okres, tym wyższy prorytet. Stosowane tej zasady wynka z faktu, że zadana występujące częścej zazwyczaj są ważnejsze od zadań występujących rzadzej. Ponadto ogranczena czasowe oraz najgorszy przypadek czasu odpowedz dla zadań występujących częścej są krótsze, co dodatkowo uzasadna stosowane tej metody.
145 Zbór nezależnych, wywłaszczalnych zadań cyklcznych ze względnym ogranczenam czasowym równym ch okresom tj. d =, może meć poprawny harmonogram na jednym procesorze utworzony przez algorytm RMS, jeśl współczynnk wykorzystana procesora spełna następujący warunek koneczny [8]: n p 1 (3) = 1 Powyższy warunek na szeregowalność zadań wynka z faktu, że łączny stopeń wykorzystana czasu pracy procesora przez wszystke zadana ne może być wększy nż 100%. Warunek wystarczający pozwalający na weryfkację spełnena warunków czasu rzeczywstego (real tme) gwarantujący, że n zadań zostane wykonanych przed upływem ch ogranczena czasowego został podany przez Lu C. Laylanda J. (1973 r.) wyraża sę wzorem [8]: U gr n p 1/ n n(2 1) (4) = 1 = Dla dużych wartośc n, U gr = ln 2 0,69, co oznacza, że każdy zbór zadań cyklcznych, dla którego współczynnk wykorzystana procesora jest 0,69 zawsze będze szeregowalny [1]. Jeśl dla danego zboru zadań współczynnk wykorzystana procesora U meśc sę w przedzale U gr U 1, to zbór ten może ne być szeregowalny. Wówczas dla rozstrzygnęca należy rozważyć przypadek najgorszy (worst case), którego wszystke zadana podlegające szeregowanu wchodzą jednocześne w stan gotowośc. Jeżel każde z rozważanych zadań zostane zakończone przed upływem swego ogranczena czasowego, to dany zbór zadań jest szeregowalny. Z kole warunek koneczny wystarczający na szeregowalność zboru zadań został podany przez Sha L. (1988 r.) wyraża sę zależnoścą [1]: gdze 1 p j j l k p :1 n, mn + 1 ( k, l) R j 1 j lk j l = k (5) R = ( k, l) :1 k, l = 1,... k Powyższe testy szeregowalnośc różną sę złożonoścą oblczenową. est (4) posada złożoność oblczenowa rzędu O(n). Złożoność oblczenowa testu (5) jest wększa zależna od danych nstancj zadań [7]. W przypadku występowana zadań zależnych, warunek (4) staje sę łagodnejszy, poneważ w prawdłowo funkcjonującym systeme ne pownna wystąpć sytuacja, w której aktywne są wszystke zadana. Wynka to z sekwencj następujących po sobe zadań, a węc spełnene tego warunku jest łatwejsze do osągnęca. Algorytm RMS spośród prorytetowych algorytmów statycznych, wyznacza uszeregowane optymalne, w tym sense że jeżel ne są utrzymywane ogranczena czasowe, to żaden nny algorytm z tej klasy równeż ch ne dotrzymuje [2].
146 3.2. Algorytm DMS Dzałane statycznego algorytmu DMS oparte jest na systeme prorytetów, przydzelanych na podstawe względnego ogranczena czasowego według zasady: mnejsza wartość ogranczena czasowego, wększy prorytet. Przyjmowane jest założene, że p d. Warunek wystarczający na stnene rozwązana dopuszczalnego wyraża sę zależnoścą [1]: gdze p I :1 n : 1 d + d (6) 1 d I = p j j= 1 j Szeregowane zadań według algorytmu DMS, jeżel stneje, to jest optymalne [1]. 3.3. Algorytm EDF Systemy, w których podczas pracy prorytet przydzelany zadanu, może zostać zmenony nazywamy systemam z dynamcznym prorytetowanem. Przykładem dynamcznego przydzału prorytetu jest algorytm EDF wykorzystujący zasadę, zgodne z którą najwyższy prorytet otrzymuje zadane, któremu najwcześnej kończy sę ogranczene czasowe. Algorytm EDF jest ogólnym algorytmem szeregującym zbory zadań w oparcu o jeden procesor, przy czym żądany termn wykonana każdego z zadań jest równy jego okresow, ponadto zadana ne są wywłaszczalne. Zbór zadań jest szeregowalny, jeżel spełnone są następujące warunk [6]: n = 1 p 1 (7) 1 L 1 : 2 n, L, 1 < L < : L p + p j j= 1 j (8) Warunek (7) odzwercedla wymagane, aby średne obcążene procesora w systeme jednoprocesorowym ne przekraczało 100%, warunek ten dotyczy szeregowana zarówno zdań wywłaszczalnych, jak newywłaszczalnych dowolnym algorytmem szeregującym. Warunek (8) jest specyfczny dla algorytmu EDF zapewna, że obcążene procesora w przedzale czasu o długośc z zakresu ( 1, ) rozpoczynającym sę w chwl wywołana zadana Z ne przekracza 100%. Zbór zadań jest szeregowalny algorytmem EDF, gdy spełnone są warunk (7) (8) [6]. W systemach z dynamcznym prorytetowanem przydzelene prorytetu rozpoczęce wykonywana zadana jest realzowane wówczas, kedy pojawa sę nowe zadane lub kończy sę wykonywane aktualnego zadana. Zaletą metody dynamcznego przydzału prorytetu EDF, w porównanu do metod statycznego przydzału RMS DMS jest lepsze wykorzystane procesora. Natomast jej wadą jest wększe obcążene procesora czynnoścam szeregowana podczas pracy. Podstawą dzałana algorytmu EDF jest regularne
147 aktualzowane termnów zakończena zadań. Czynność ta wykonywana jest po wystąpenu każdego przerwana obsługwanego przez moduł szeregujący przerwana zegarowego, pojawena sę nowego zadana lub zakończena wykonywana zadana aktualnego. Pojawające sę w systeme neokresowe zadana traktowane są przez algorytm analogczne do zadań okresowych. Jedyną różncą jest brak cyklcznego ch wykonywana. Reguły FIFO LIFO oraz LS (Least Slack me Frst) są równeż algorytmam dynamcznego przydzału prorytetów [12]. 3.4. Algorytm CES Podejśce do szeregowana według algorytmu CES polega na specyfcznym wywoływanu zestawu procedur zgodne z utworzoną tablcą wykonywana cyklcznego. ablca obejmuje główny cykl systemu (major cycle) podzelony zwykle na pośredne cykle o stałej długośc. Pośredne cykle (mnor cycles) decydują o mnmalnym cyklu w systeme, natomast główny cykl określa cykl maksymalny [12]. Procedura szeregująca wywoływana jest w cyklu mnmalnym. Cyklem głównym jest najmnejsza wspólna welokrotność z cykl poszczególnych zadań ( 1, 2,..., n ). Plan szeregowana zadań sporządzany jest dla cyklu głównego, w którym wszystke zadana przyporządkowane do procesora pownny być wykonane tak, aby ch ogranczena czasowe ne zostały przekroczone. Względny żądany termn zakończena zadana jest równy jego okresow. Cechy charakterystyczne algorytmu to determnzm (ze względu na utworzoną tablcę) brak wywłaszczeń. Opracowane tablcy wykonywana cyklcznego jest ogólne trudne (problem NP trudny), żmudna aktualzacja, powstaje problem z włączenem zadań o długm okrese a także zadań sporadycznych. Cechy szeregowana według algorytmu CES: Wyelmnowany jest zestaw procesów (zadań) z systemu. Każdy z pośrednch cyklów jest sekwencją wywołań procedur; Procedury współdzelą wspólną przestrzeń adresową skąd mogą wymenać dane; Dane ne muszą być chronone (np. przez semafory), poneważ ne stneje współbeżny dostęp do zasobów; Wszystke okresy zadań muszą być welokrotnoścą cyklu pośrednego. Mogą pojawć sę problemy z włączenem zadań o długm okrese. Główny cykl jest zarazem maksymalnym cyklem w systeme bez konecznośc włączana dodatkowych modułów szeregujących. Podejśce to praktyczne unemożlwa zastosowane nnych, bardzej elastycznych metod szeregowana [12]. 4. Wynk badań symulacyjnych Do badań symulacyjnych wybrano algorytmy RMS EDF, które porównano wg wybranych wskaźnków, ocenając dla nch wykonywalność zadań (możlwość uszeregowana) oraz stopeń wywłaszczana zadań. Symulację przeprowadzono, przyjmując dla wszystkch zadań zerową fazę zgodność zakończena cyklu z przedzałem ogranczena czasowego, czyl odpowedno r = 0 = d dla = 1,..., n oraz przedzały czasu symulacj od początkowego czasu t 0 = 0 do czasowych ogranczeń t max >> max( ). 1... = n
148 W zwązku z przyjętym założenam zadana zdefnowane ogólne w pkt. 2, opsano uproszczoną postacą Z = (p, ). W celu porównana stopna wykonywalnośc wywłaszczana zadań, uwzględnono w zadanym przedzale w symulacj [t 0, t max ]: p rzeczywsty czas trwana tylko dla wykonanego zadana, p W czas trwana zadana od jego początku aż do zakończena (uwzględna także ewentualne wywłaszczene przez zadane o wyższym prorytece np p k na rys. 2). Do każdego przypadku zestawu n zadań oblczono na postawe uzyskanych symulacyjne czasów p p W, odpowedno: U z wartość wskaźnka określającego względny stopeń wykonywana wszystkch zadań, U w wartość wskaźnka ocenającego względny stopeń wszystkch wykonanych zadań z ch wywłaszczanem. Względność czasów wykonywana odnesono do czasu cyklu, przez analoge do ogólne przyjętego wskaźnka U wykorzystana procesora (2). W uzyskanych wynkach także w celach porównawczych ujęto wartość wskaźnka U. Rys. 2. Parametry czasowe zadana w warunkach wywłaszczana Fg. 2. mng parameters wth preempton of task Wynk szeregowana przykładu testującego dla dwóch zadań {Z 1 ( 1, p 1 ), Z 2 ( 2, p 2 )} = = {(2, 5), (4, 7)} współczynnka wykorzystana procesora U = 0,97 przedstawa rys. 3. Pogrubona przedłużona lna ponowa oznacza przekroczene przez zadane Z 2 ogranczena wynkającego z założonego czasu cyklu 2. {Z1(1, p1), Z2(2, p2)} = {(2, 5), (4, 7)} Rys. 3. Przykład testujący ex00 Fg. 3. est of example ex00
149 Dla kolejnych czterech przykładów symulacj procesów przyjęto trzy zadana, ch dane przedstawa tabela 1, a wybrany przykład uszeregowana przestawa rys 4. Zborcze wynk dla wszystkch przykładów przedstawono na rys. 5. Dane przykładów Przykład Z 1 ( 1, p 1 ) Z 2 ( 2, p 2 ) Z 3 ( 3, p 3 ) ex01 {5, 2} {7, 3} {12, 2} ex02 {7, 3} {11, 3} {15, 3} ex03 {11, 3} {14, 6} {19, 5} ex04 {11, 4} {14, 6} {19, 5} a b e l a 1 Z = {5, 2}, {7, 3}, {12, 2} Rys. 4. Przykład ex01 Fg. 4. Example ex01 Rys. 5. Wynk przykładów Fg. 5. Examples of results
150 5. Wnosk W artykule przedstawono przegląd podstawowych algorytmów prorytetowych do szeregowana zadań cyklcznych w systemach czasu rzeczywstego. Algorytmy ze stałym prorytetam są łatwejsze w mplementacj. W przypadku przecążena zachowane algorytmów RMS, DMS jest bardzej przewdywalne, ne wykonają sę zadana o nższym prorytece. Algorytmy ze stałym prorytetam umożlwają poprawne szeregowane, pommo przekroczonego teoretycznego współczynnka wykorzystana procesora. System z wykonywanem cyklcznym wg algorytmu CES jest w pełn determnstyczny, mogą pojawać sę jednak problemy z aktualzacją tablcy oraz z włączenem zadań o długm okrese wykonywana lub zadań sporadycznych. Wększość systemów czasu rzeczywstego o twardych ogranczenach czasowych wykorzystuje szeregowane statyczne. Dynamczne przydzelane prorytetów według algorytmu EDF jest mnej przewdywalne, może występować nwersja prorytetów. Szeregowane dynamczne daje zazwyczaj lepsze średne wykorzystane procesora. Potwerdzają to uzyskane wynk, dla których dynamczny algorytm EDF w stosunku do statycznego algorytmu RMS dla tych samych danych zadań, uzyskał mnejszy stopeń wywłaszczana U w przy równocześne wększym stopnu wykonywalnośc U z. L t e r a t u r a [1] A u d s l e y N.C., Deadlne Monotonc Schedulng, YCS 146, Department of Computer Scence, Unwersty of York, 1990. [2] B u h r R., B a l e y D., An Introducton to Real-me Systems, Prentce Hall, 1999. [3] G a j P., K w e c eń A [red]., Systemy nformatyczne z ogranczenam czasowym, Wydawnctwo Komunkacj Łącznośc, Warszawa 2006, 115-126. [4] J a m r oż L., R a s z k a J., Performance model of cyclc processes, Czasopsmo echnczne, 1-NP/2010, Wydawnctwo PK, Kraków 2010. [5] J a m r oż L., R a s z k a J., he use of a max-plus algebra n a schedulng of cyclc processe, Zeszyty Naukowe Poltechnk Śląskej, Automatyka, No. 151, 2008. [6] J e s t r a t j e w A., K w e c eń A., [w:] Systemy czasu rzeczywstego. Projektowane aplkacj, Gaj P. (red.), Wydawnctwo Komunkacj Łącznośc, Warszawa 2005. [7] L u J., Real me Systems, Prentce Hall, 2000. [8] L u C., L a y l a n d J., Schedulng Algorthms for Multprogrammng n a Hard-Real-me envronment, Journal of the ACM, No. 1, 1973. [9] S m u t n c k Cz., Algorytmy Szeregowana, Akademcka Ofcyna Wydawncza Ext, Warszawa 2002. [10] S z m u c., Specyfkacja projektowane oprogramowana systemów czasu rzeczywstego, Uczelnane Wydawnctwo Naukowo-Dydaktyczne, AGH, Kraków 2000. [11] a n e n b a u m A., Rozproszone systemy operacyjne, PWN, Warszawa 1997. [12] U ł a s e w c z J., Systemy czasu rzeczywstego, Wydawnctwo BC, Warszawa 2007.