39
Praktikum iz operativnih sistema Lekcija 7: Rukovanje hibridnim skupovima poslova (I) Prof. dr Branimir Trenkić

Lecture 7

  • Upload
    bozapub

  • View
    221

  • Download
    3

Embed Size (px)

DESCRIPTION

Predavanje7 OS

Citation preview

Page 1: Lecture 7

Praktikum iz operativnih sistema

Lekcija 7: Rukovanje hibridnim skupovima poslova (I)

Prof. dr Branimir Trenkić

Page 2: Lecture 7

Hibridni skup poslova

Realni poslovi su pretežnoPeriodični poslovi

+Aperiodični poslovi

Page 3: Lecture 7

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

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

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

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

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

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

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

Periodično raspoređivanje EDF

Page 11: Lecture 7

Neodložna obrada sa EDF

Neodložna obrada aperiodičnog zadatka vodi probojudedlajna!

Page 12: Lecture 7

Obrada u pozadini(background schedulling)

Page 13: Lecture 7

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

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

Obrada u pozadini

Background raspoređivanje - realizacijaRedovi(queues) potrebni za background raspoređivanje

Page 16: Lecture 7

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

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

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

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

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

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

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

Serveri sa fiksnim prioritetimaServer sa prozivkom (PS = polling server)Sličan primer

Page 24: Lecture 7

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

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

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

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

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

Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)Izračunavanje Ulub za n poslova

Page 30: Lecture 7

Serveri sa fiksnim prioritetimaServer sa prozivkom (PS=polling server)RM + PS rasporedivost

0.69

Page 31: Lecture 7

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

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

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

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

Serveri sa fiksnim prioritetimaDefferable Server (DS)RM +DS

Ci Ti1 2 42 1 6

Page 36: Lecture 7

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

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

Serveri sa fiksnim prioritetimaDefferable Server (DS)Analiza RM +DS

n-broj taskova

Cs=T1-(Ts+Cs)Cs=(T1-Ts)/2

Page 39: Lecture 7

Serveri sa fiksnim prioritetimaDefferable Server (DS)PS vs. DS rasporedljivost

0.4