Upload
bozapub
View
221
Download
3
Embed Size (px)
DESCRIPTION
Predavanje7 OS
Citation preview
Praktikum iz operativnih sistema
Lekcija 7: Rukovanje hibridnim skupovima poslova (I)
Prof. dr Branimir Trenkić
Hibridni skup poslova
Realni poslovi su pretežnoPeriodični poslovi
+Aperiodični poslovi
Raspoređivanje hibridnih sistema
Glavni pristupi:• Serveri sa statičkim prioritetom: raspoređivanje
periodičnih poslova se izvršava algoritmima sa statičkom dodelom prioriteta (tipično RM)
• Serveri sa dinamičkim prioritetom : raspoređivanjeperiodičnih zadataka se izvršava algoritmima sa dinamičkom dodelom prioriteta (tipično EDF)
Rukovanje periodičnim poslovima
• Periodični poslovi se tajmerski aktiviraju (time-driven)
• Izvršavaju (realizuju) vremenski kritične aktivnosti• Hard- vremenski zahtevi – u cilju garantovanja
regularne frekvencije aktiviranja
Rukovanje aperiodičnim poslovima
• Aperiodični poslovi se tipično aktiviraju (kroz interapte) eksternim događajima (event-driven)
• Sa hard, soft ili no-real-time zahtevima zavisno od konkretne aplikacije
Princip raspoređivanja:• S jedne strane, cilj je da se smanji vreme odziva
za aperiodične poslove• S druge strane, želja je da se ne ugrozi
rasporedljivost periodičnih poslova
HARD aperiodični poslovi
• Izvršenje aperiodičnih poslova sa HARD deadline-ovima mora se garantovati i pod uslovima najgoreg slučaja (worst-case)
• Off-line garancije su moguće samo u slučaju ako se mogu ograničiti vremena između zahteva (aktiviranja) – sporadični poslovi. Na taj način, garancije dodeljene sporadičnim poslovima su jednake kao u slučaju periodičnih poslova sa:
Ci = WCETi i Ti = MITi
Rukovanje kritičnim situacijama
• WCET – vreme izvršenja posla u najgorem slučaju (Worst Case Execution Time)
• MIT – minimalno vreme između aktiviranja (Minimum Interarrival Time)
FIRM aperiodični poslovi• Ako se frekvencija aktiviranja nekog događaja ne
može ograničiti – izvršenje pridruženog aperiodičnog posla se ne može off-line garantovati
• U tom slučaju, mogu se dati jedino on-line garancije- posebno za svaki zahtev (instancu)
• Aperiodični poslovi koji zahtevaju on-line garancijeza individualne instance se zovu firm poslovi
• Firm aperiodični zahtevi se u sistemu prvo propuštaju kroz test prihvatanja da se utvrdi može li se task izvršiti pre dedlajna. Ako ne može zahtev za izvršenjem taska se odbacuje
SOFT aperiodični poslovi
• Aperiodični poslovi sa SOFT deadline-ovima će biti izvršeni što je pre moguće, ali bez ugrožavanja HARD poslova
• Cilj raspoređivanja može biti:– minimiziranje srednjeg vremena odziva– omogućavanje on-line garancije
Periodično raspoređivanje EDF
Neodložna obrada sa EDF
Neodložna obrada aperiodičnog zadatka vodi probojudedlajna!
Obrada u pozadini(background schedulling)
Obrada u pozadiniBackground raspoređivanje• aperiodični taskovi se raspoređuju u background-u
(kad se periodični taskovi ne izvršavaju)• raspoređivanje periodičnih taskova se ne menja• glavni problem: veliko periodično opterećenje vodi ka
lošem vremenu odziva za aperiodične taskove
Obrada u pozadini• Background raspoređivanjePrimer background raspoređivanja aperiodičnihzahteva pri RMDa li je rasporedljiv skup periodičnih poslova?Analiza rasporedivosti: Dovoljan test za periodične!U = 0.72 (Ulub(2) = 0.83)
Obrada u pozadini
Background raspoređivanje - realizacijaRedovi(queues) potrebni za background raspoređivanje
Serveri aperiodičnih zahteva
• Kreira se server tj. periodični task za procesiranjeaperiodičkih zahteva. Server je aktivnost jezgra operativnog sistema sa ciljem kontrole izvršavanja aperiodičnih poslova
• Server je periodični task čija je svrha da servisira aperiodične zahteve što je moguće pre. Određen je sa dva parametra:– Cs vreme računanja tj. kapacitet (budžet) servera– Ts period servera
• U cilju zaštite periodičnih poslova, ne sme se više od Cs jedinica izvršavati u toku svake periode Ts
Niz(queue) aperiodične obrade
• Server se raspoređuje kao bilo koji periodični posao
• Aperiodični poslovi u nizu čekanja mogu biti selektovani bilo kojim načinom
Serveri sa statičkim prioritetimaKlasifikacija servera sa statičkim prioritetima:Server sa prozivkom (polling server)Server sa prolongiranjem (deferrable server)“Priority exchange” serverSporadični serverServer koji “krade” prazan hod procesora (slack)
Serveri sa dinamičkim prioritetima
Klasifikacija servera sa dinamičkim prioritetima:Dinamički server sa prozivkom (polling server)
Dinamički server sa prolongiranjem
Dinamički sporadični server
Server totalnog opsega
Server konstantnog opsega
Serveri sa fiksnim prioritetimapredpostavke i cilj:• periodični taskovi se raspoređuju sa algoritmima
fiksnog prioriteta tj. RM (Rate - Monotonic)• svi periodični taskovi startuju istovremeno u t = 0,
i relativni deadline = period• vremena prispeća aperiodičnih taskova nisu poznata• prekidnost(preemption)• cilj: zadovoljiti dedlajne periodičnih taskova i
minimizirati vreme odziva aperiodičnih taskova• redosled aperiodičnih taskova se ne razmatra (to se
radi u nekim aperiodičnim algoritmima raspoređivanja)
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS = polling server)• Formira se novi periodični task(server) i vrši se test za
raspoređivanje• Na početku svakog perioda servera, kapacitet servera
Cs se setuje na njegovu maksimalnu vrednost• Kako se posao izvršava tako se troši kapacitet• Kada server dođe na red da dobije procesor ako nema
aperiodičnih poslova koji čekaju na izvršenje, Cs resetuje svoju vrednost na 0
• Kada server dobije procesor i postoje aperiodični poslovi koji čekaju na izvršenje, oni se izvršavaju sve dok jeCs > 0
Loše je vreme odziva za aperiodične taskove
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS = Polling Server)RM + Server sa prozivkom (PS)
Po RM najviši prioritet mora imati τ1 pa PS pa τ2
Ci Ti
1 2 42 1 6
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS = polling server)Sličan primer
Isti primer sa komentarom
τ1
τ2
0 2 5 8 10
2 1A1 A2
0 4 8 12 16 20
2
13A3 A3
15 16 17 18
24
24
24
1 3 6 7 10 12 13 15 18 20
Aperiodični
taskovi
server postajeraspoloživ i
raspoređuje 2 jedinice
aperiodičnogtaska A1Čeka do t
= 10
server postajeraspoloživ i može
rasporediti 2 jedinice. Međutim, aperiodični task A2
zahteva samo 1 Čeka do t
= 15Prekinut
sa T1
Skup taskova: τi = (Ci, Ti)
τ1= (1,4) , τ2= (2,6) i τS= (2,5)
τS bi trebao biti raspoređen ovde po RMS. Međutim, pošto nema aperiodičnog taska za
raspoređivanje, Ts suspenduje sebe i biće opet
raspoloživ tek u t= 5
ovaj aperiodični task se sada ne može
rasporediti jer server nije raspoloživ do t = 5
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS = polling server)Analiza rasporedivosti obuhvata
– rasporedivost periodičnih taskova– rasporedivost aperiodičnih taskova
Ukupna rasporedivost se procenjuje uvođenjemperiodičnog taska ekvivalentnog serveru. Prema tome, test rasporedivosti pri RM (dovoljan uslov) je:
Up + Us <= Ulub(n+1)
∑i=1 to n (Ci / Ti) + (Cs / Ts) ≤ (n+1)[2 1/(n+1) -1]
Indeks s označava server
Serveri sa fiksnim prioritetima
• U najgorem slučaju, PS(polling server) se ponaša kao periodični posao sa faktorom iskorišćenosti procesora
Us = Cs/Ts
Aperiodični poslovi se izvršavaju sa najvišim prioritetom ako je Ts = min(T1, T2, …, Tn)
• Liu & Layland-ova analiza daje least upper bound iskorišćenosti procesora za garanciju izvodljivostiskupa hard periodičnih taskova i soft aperiodičnog taska
Server sa prozivkom (PS=polling server)Osobine PS-a
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)Scenario najgoreg slučaja po pitanju iskorišćenosti
max. 2 puta u T1
Serveri sa fiksnim prioritetima
Definišimo Ri = Ti+1/Ti i tada imao da je:1
1
1 TT
RP nn
ii ==∏
−
=
Server sa prozivkom (PS=polling server)Izračunavanje Ulub za n poslova
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)Izračunavanje Ulub za n poslova
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)RM + PS rasporedivost
0.69
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)• Garancije za firm aperiodični task (Ja):Neka je aperiodični task Ja, stigao u ra, sa vremenom izvršavanja Ca i dedlajnom Da. Pošto aperiodički task može čekati najviše jedan period TS pre opsluživanja, ako je Ca ≤ Cs zahtev je sigurno kompletiran u dve serverskeperiode. To je garantovano ako je 2Ts ≤ Da
CsTs Tsra
da
Ca
Da > Ts
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)• Garancije za firm aperiodični task (Ja):
Za proizvoljna vremena izvršavanja Ca, aperiodičnitask se sigurno kompletira u ceil(Ca/Cs) serverskihperioda; dakle garantuje se izvršenje aperiodičnogtaska ako je Ts + ceil(Ca/Cs) * Ts ≤ Da
a a
s s
C CceilC C
=
Serveri sa fiksnim prioritetima• Predhodni uslov je dovoljan jer ne razmatra kada se
server izvršava u periodi• Za server najvećeg prioriteta moguće je izvesti
potreban i dovoljan uslov za izvršivost jednogaperiodičnog taska
Serveri sa fiksnim prioritetima
Defferable Server (DS) (Server sa prolongiranjem)• Sličan PS-u, ali se budžet ne resetuje na 0 u slučaju
da nema poslova koji čekaju na izvršenje• Čuvanje budžeta poboljšava brzinu reagovanja
sistema, ali smanjuje granicu iskorišćenosti
Serveri sa fiksnim prioritetimaDefferable Server (DS)RM +DS
Ci Ti1 2 42 1 6
Deferrable Server: PrimerSkup taskova: τi = (Ci, Ti)
τ1 = (1,4) , τ2 = (2,6) i τS = (2,5)
τ1
τ2
0 2 4 8 9
2 1A1 A2
0 4 8 12 16 20 24
24
24
1 3 6 8 10 12 13 15 18 20Aperiodični
taskovi
Ne čeka se do t= 5
Ne čeka se do t = 10
Server zadržavasvoj kapacitet radi
obrade bilo kog aperiodičnog taska
Zašto A2 nije
raspoređenu t = 8 ???
τ1 radi od 8 do 9 a τS ima niži
prioritet pa ne može da radi do 9
Serveri sa fiksnim prioritetimaDefferable Server (DS)• Analiza izvodljivosti RM +DS je složena. Ima tri
različita slučaja• Analiza “najgoreg mogućeg slučaja” u prisustvu
DS-a je vrlo složena i zahteva analizu tri moguća slučaja
• Razmatramo samo najopštiji slučaj kada se DSizvršava tri puta u periodu periodičnog taska najvećeg prioriteta.
Serveri sa fiksnim prioritetimaDefferable Server (DS)Analiza RM +DS
n-broj taskova
Cs=T1-(Ts+Cs)Cs=(T1-Ts)/2
Serveri sa fiksnim prioritetimaDefferable Server (DS)PS vs. DS rasporedljivost
0.4