Download - Lecture 7
![Page 1: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/1.jpg)
Praktikum iz operativnih sistema
Lekcija 7: Rukovanje hibridnim skupovima poslova (I)
Prof. dr Branimir Trenkić
![Page 2: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/2.jpg)
Hibridni skup poslova
Realni poslovi su pretežnoPeriodični poslovi
+Aperiodični poslovi
![Page 3: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/3.jpg)
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)
![Page 4: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/4.jpg)
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
![Page 5: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/5.jpg)
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
![Page 6: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/6.jpg)
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
![Page 7: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/7.jpg)
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)
![Page 8: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/8.jpg)
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
![Page 9: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/9.jpg)
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
![Page 10: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/10.jpg)
Periodično raspoređivanje EDF
![Page 11: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/11.jpg)
Neodložna obrada sa EDF
Neodložna obrada aperiodičnog zadatka vodi probojudedlajna!
![Page 12: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/12.jpg)
Obrada u pozadini(background schedulling)
![Page 13: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/13.jpg)
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
![Page 14: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/14.jpg)
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)
![Page 15: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/15.jpg)
Obrada u pozadini
Background raspoređivanje - realizacijaRedovi(queues) potrebni za background raspoređivanje
![Page 16: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/16.jpg)
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
![Page 17: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/17.jpg)
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
![Page 18: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/18.jpg)
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)
![Page 19: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/19.jpg)
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
![Page 20: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/20.jpg)
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)
![Page 21: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/21.jpg)
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
![Page 22: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/22.jpg)
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
![Page 23: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/23.jpg)
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS = polling server)Sličan primer
![Page 24: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/24.jpg)
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
![Page 25: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/25.jpg)
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
![Page 26: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/26.jpg)
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
![Page 27: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/27.jpg)
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)Scenario najgoreg slučaja po pitanju iskorišćenosti
max. 2 puta u T1
![Page 28: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/28.jpg)
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
![Page 29: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/29.jpg)
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)Izračunavanje Ulub za n poslova
![Page 30: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/30.jpg)
Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)RM + PS rasporedivost
0.69
![Page 31: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/31.jpg)
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
![Page 32: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/32.jpg)
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
=
![Page 33: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/33.jpg)
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
![Page 34: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/34.jpg)
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
![Page 35: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/35.jpg)
Serveri sa fiksnim prioritetimaDefferable Server (DS)RM +DS
Ci Ti1 2 42 1 6
![Page 36: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/36.jpg)
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
![Page 37: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/37.jpg)
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.
![Page 38: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/38.jpg)
Serveri sa fiksnim prioritetimaDefferable Server (DS)Analiza RM +DS
n-broj taskova
Cs=T1-(Ts+Cs)Cs=(T1-Ts)/2
![Page 39: Lecture 7](https://reader036.vdocuments.pub/reader036/viewer/2022062320/563db8f1550346aa9a986deb/html5/thumbnails/39.jpg)
Serveri sa fiksnim prioritetimaDefferable Server (DS)PS vs. DS rasporedljivost
0.4