360 likes | 542 Views
Razvrščanje opravil v realnem času. Matjaž Colnarič. Opis problema. V splošnem imamo v sistemu v vsakem trenutku množico opravil, ki so pripravljena za obdelavo in ki konkurirajo za dodelitev procesorja. Opravila so lahko aperiodična ali periodična.
E N D
Razvrščanje opravil v realnem času Matjaž Colnarič Real-Time Systems Laboratory, Institute of Informatics
Opis problema • V splošnem imamo v sistemu v vsakem trenutku množico opravil, ki so pripravljena za obdelavo in ki konkurirajo za dodelitev procesorja. • Opravila so lahko aperiodična ali periodična. • Treba je zagotoviti mehanizem dodeljevanja procesorja tako, da bodo vsa opravila zadovoljena in procesor optimalno izkoriščen. • Razvrstitev je zaporedje opravil, po katerem jim bo dodeljen procesor. Real-Time Systems Laboratory, Institute of Informatics
Tipi razvrščanj opravil • statično (vnaprejšnje, a priori): npr. radar, PLC. Ciklični urniki na osnovi metod operacijskih raziskav. • dinamično (sprotno, on-line): primerno za asinhrone večopravilne sisteme, ki delujejo na osnovi procesnih prekinitev • Glede na možnost odvzema procesorja ali drugih sredstev: • neprekinjevalne (brez možnosti odvzema) • prekinjevalne (z možnostjo predčasnega odvzema sredstva, preden je opravilo gotovo, če je to potrebno) • naključno razvrščanje (random, dice) • dodeljevanje časa (time slicing) - enake pravice, time sharing • dodeljevanje po času prihoda (first come first served) • po statičnih ali dinamičnih prioritetah • po skrajnih rokih za zaključek opravila (deadline driven) Real-Time Systems Laboratory, Institute of Informatics
Izvedljivost • Razvrstitev je izvedljiva (feasible), če zagotavlja, da vsa opravila končajo obdelavo pred svojimi skrajnimi roki. • Preizkus izvedljivosti mora biti izveden med fazo načrtovanja oz. odločanja o zmogljivosti sistema. • Med izvajanjem skrbi za izbiro izvedljive razvrstitve OS, ki mora imeti vgrajeno strategijo (algoritem) dodeljevanja. • Strategija razvrščanja je izvedljiva, če generira izvedljivo razvrstitev vedno, ko je ta mogoča (za vsak razvrstljiv nabor opravil) Real-Time Systems Laboratory, Institute of Informatics
Definicije • response time: odzivni čas, čas do skrajnega roka • (residual) execution time: (preostali) čas izvajanja • laxity (slack): rezerva • Timeliness: pravočasnost Real-Time Systems Laboratory, Institute of Informatics
Klasifikacija strategij • a) Prioritete in s tem relativna pomembnost je kostantna. Praviloma se prioritete izberejo obratno sorazmerno pomembnosti posameznih opravil. • b) Prioritete in s tem relativno pomembnost lahko spreminja uporabnik. • c) Relativno pomembnost lahko spremeni uporabniški program ali situacija v sistemu (npr. pojavi se novo opravilo) • d) relativne pomembnosti opravil so funkcije časa Real-Time Systems Laboratory, Institute of Informatics
t1 t3 t2 Statične prioritete Najobičajnejša zaradi preproste izvedbe. Slabosti: slab izkoristek, razvrstitev ni izvedljiva. • Najobičajnejša zaradi preproste izvedbe. Slabosti: slab izkoristek, razvrstitev ni izvedljiva. t3: prio: 1 Prihod:2 Trajanje:3 Rok: čez 8 t2: prio: 2 Prihod:1 Trajanje:2 Rok: čez 6 t1: prio: 0 Prihod:0 Trajanje:3 Rok: čez 8 Prio 0 Prio 1 Prio 2 Real-Time Systems Laboratory, Institute of Informatics
t1 t3 t2 Statične prioritete Najobičajnejša zaradi preproste izvedbe. Slabosti: slab izkoristek, razvrstitev ni izvedljiva. • Najobičajnejša zaradi preproste izvedbe. Slabosti: slab izkoristek, razvrstitev ni izvedljiva. t3: prio: 2 Prihod:2 Trajanje:3 Rok: čez 8 t2: prio: 1 Prihod:1 Trajanje:2 Rok: čez 6 t1: prio: 0 Prihod:0 Trajanje:3 Rok: čez 8 Prio 0 Prio 2 Prio 1 Real-Time Systems Laboratory, Institute of Informatics
Statične prioritete Primera: Real-Time Systems Laboratory, Institute of Informatics
Dodatni problemi prioritetnih razvrščanj • V primeru statičnih prioritet, ko opravila lahko zasedajo skupna sredstva, lahko pride do problema inverzije prioritete: • Nizkoprioritetno opravilo A zasede sredstvo, prekine ga visokoprioritetno B, ki zahteva isto sredstvo. Zato mora B na čakanje in s tem omogoči delo A. Če pridejo medtem zahteve opravil s prioriteto med obema, izrinejo A iz obdelave. Visokoprioritetno B je torej privzelo najnižjo prioriteto in mora čakati ne glede na svojo dodeljeno prioriteto. • Rešitve: • vršne prioritete: ko opravilo A zasede sredstvo, pridobi prioriteto najvišjega opravila, ki lahko zahteva to sredstvo. • dedovanje prioritete: prioriteta opravila A, ki blokira sredstvo, pridobi vrednost prioritete blokiranega opravila B Real-Time Systems Laboratory, Institute of Informatics
Statične prioritete Real-Time Systems Laboratory, Institute of Informatics
Določanje prioritet po naraščajoči periodi (Rate monotonic scheduling) • Rate monotonic (Liu, Layland, 1973) za periodična opravila: • opravilu z najkrajšo periodo dodelimo najvišjo prioriteto. • Če želimo zagotoviti razvrstljivost za vsa opravila v vseh primerih, je lahko izkoriščenost procesorja λ največ okoli 0,693 (ln 2). Tudi aperiodičnim opravilom lahko pripišemo periodo (omejitev, kako pogosto se smejo pojaviti) Real-Time Systems Laboratory, Institute of Informatics
Določanje prioritet po naraščajoči periodi (Rate monotonic scheduling) Uspešni primer: Real-Time Systems Laboratory, Institute of Informatics
Določanje prioritet po naraščajoči periodi (Rate monotonic scheduling) Primer prekoračitve: Real-Time Systems Laboratory, Institute of Informatics
Določanje prioritet po naraščajoči periodi (Rate monotonic scheduling) • Ilustracija, zakaj ne moremo doseči izkoristka 1: Če je τ2 opravilo s krajšo periodo (višjo prioriteto), je največji možni čas obdelave C1=(T2-C2) Neizkoriščen procesor Neizkoriščen procesor τ1 3*T1 2*T1 T1 τ2 3*T2 T2 2*T2 4*T2 Izkoristek 1 lahko dosežemo, ko je T1 mnogokratnik T2 ali ob ugodnih celoštevilskih razmerjih T1, T2, C1 in C2. Real-Time Systems Laboratory, Institute of Informatics
B: Dinamične prioritete • Uporabnik lahko dinamično spreminja prioritete. • V principu lahko torej izvede katerokoli strategijo. • Pristop je optimalen, vendar: • vsa odgovornost je na uporabniku • izvedba je nefleksibilna (se je ne da prilagajati na nivoju operacijskega sistema, vsa opravila imajo isto strategijo) • Sredstvo za izvedbo razvrščanja. Real-Time Systems Laboratory, Institute of Informatics
D: Razvrščanje po skrajnih rokih • V skupini so izvedljive strategije, npr. po najmanjši rezervi (minimum laxity). Ta strategija je primerna za homogene multiprocesorske sisteme. • Za opravila z isto rezervo se izvede round robin s kratko časovno rezino. • Slabosti: • težavna implementacija in visoka režija. • Vzrok: neprestano spreminjanje relativne pomembnosti za izravnavo preostale rezerve, ko se neko opravilo izvaja in drugo čaka. Zaradi tega prihaja do pogostih preklopov. Real-Time Systems Laboratory, Institute of Informatics
Primer: T1 : arrival 0, deadline 7, run-time 3 T2 : arrival 1, deadline 2, run-time 1 T3 : arrival 3, deadline 6, run-time 3 T4 : arrival 4, deadline 1,5 run-time 1 round-robin cycle: 0,5 Področji enake rezerve opravil T1 in T3: round robin Real-Time Systems Laboratory, Institute of Informatics
Razvrščanje po najbližjem roku • Earliest deadline first - dinamično razvrščanje za periodična in aperiodična opravila: • opravilu z najbližjim skrajnim rokom (oz. zaključkom periode) dodelimo najvišjo prioriteto. • Relativna prioriteta opravil je konstantna, vendar tistim, ki čakajo na obdelavo, narašča, ker se skrajni rok bliža. • Preklopi so možni le ob dogodkih, ko se pojavi novo opravilo ali se neko opravilo nadaljuje. • Najučinkovitejša strategija: če obstaja izvedljiva razvrstitev, jo ta gotovo najde. Izkoriščenost procesorja je lahko 1. Real-Time Systems Laboratory, Institute of Informatics
Definicija • Če je teoretično mogoče izpolniti zahteve nekega nabora opravil, potem EDF generira izvedljivo razvrstitev. Strategija minimizira število potrebnih preklopov in omogoča poln izkoristek procesorja. • Primer: T1 : arrival 0, deadline 5, run-time 3 T2 : arrival 1, deadline 2, run-time 1 T3 : arrival 3, deadline 4, run-time 3 Real-Time Systems Laboratory, Institute of Informatics
Primer: kot pri LLF T1 : arrival 0, deadline 7, run-time 3 T2 : arrival 1, deadline 2, run-time 1 T3 : arrival 3, deadline 6, run-time 3 T4 : arrival 4, deadline 1,5 run-time 1 Primerjaj število preklopov! Real-Time Systems Laboratory, Institute of Informatics
Primer: T1 : arrival 0, deadline 7, run-time 3 T2 : arrival 1, deadline 2, run-time 1 T3 : arrival 3, deadline 6, run-time 3 T4 : arrival 4, deadline 1,5 run-time 1 round-robin cycle: 0,5 Real-Time Systems Laboratory, Institute of Informatics
Primerjava LLF vs. EDF Real-Time Systems Laboratory, Institute of Informatics
Primerjava LLF vs. EDF Real-Time Systems Laboratory, Institute of Informatics
Primerjava RM vs. EDF Real-Time Systems Laboratory, Institute of Informatics
Primerjava RM vs. EDF Real-Time Systems Laboratory, Institute of Informatics
Razvrstljivost EDF • EDF je primerna za enoprocesorske sisteme. Obstaja razširitev za večprocesorske (throwforward algoritem, Henn), ki pa je manj praktična. • Pogoj za izvedljivo razvrstitev: • odzivni čas akvsakega opravila k, ki čaka na obdelavo, je večji ali enak vsoti (ostankov) njegovega in časov izvajanja vseh opravil, ki so razvrščena pred njim. Real-Time Systems Laboratory, Institute of Informatics
Razširitev: kritična območja • Če je opravilo, ki se izvaja, znotraj kritičnega območja, ga ne prekinemo, tudi če pride opravilo s krajšim skrajnim rokom. • Pogoj za razvrstljivost je tedaj: čas izvajanja vseh opravil, ki se bodo izvedla, preden se bo trenutno aktivno opravilo nadaljevalo, se v pogoju za izvedljivost podaljša za čas izvajanja kritičnega območja, pogoj pri vseh ostalih opravilih se ne spremeni. • Čeprav so kritična območja v različnih opravilih lahko različno dolga, iz praktičnih razlogov za izračun vzamemo le najdaljše. Real-Time Systems Laboratory, Institute of Informatics
Razvrstljivost EDF + krit.podr. • Upoštevanje zasedanja sredstev: • Problem: • Novo opravilo preide v stanje pripravljeno, in • Njegov skrajni rok po novi razporeditvi je krajši od trenutnega Tj, in • Trenutno opravilo Tj je v kritičnem območju trajanja rj • Vsa opravila, razvrščena pred Tj, morajo zagotavljati rezervo: Real-Time Systems Laboratory, Institute of Informatics
Razvrstljivost EDF + krit.podr. Namesto specifičnega rj izberemo d: največji r izmed vseh: Pogoj za razvrstitev postane: Zakasnitev vpliva le na opravila, ki so razvrščena pred Tj; zanj in za vsa njemu sledeča opravila še vedno velja Real-Time Systems Laboratory, Institute of Informatics
Izogibanje preklopom • Preklopi so kontraproduktivni, zato se jim skušamo izogniti z modificirano strategijo: • Ob prihodu novega opravila z bližjim skrajnim rokom napravi analizo, ali se lahko trenutno opravilo izvede do konca, ne da bi se s tem ogrozili skrajni roki ostalih opravil. Preklop konteksta opravi le, če to ni mogoče. • Če ta pogoj ni izpolnjen, je treba za realistični primer upoštevati čase preklopov. Real-Time Systems Laboratory, Institute of Informatics
Upoštevanje časov preklopov • Predpostavimo, da je čas za preklop u in da je za shranitev in ponovno nalaganje potreben isti čas. • Pogoj za razvrstljivost je tedaj: • pri vseh opravilih, ki se bodo razvrstila pred opravilom j, ki se trenutno izvaja, je treba čas izvajanja podaljšati še za u/2, ostalim opravilom (vključno z j) pa za u. Real-Time Systems Laboratory, Institute of Informatics
Razvrstljivost EDF – popolni izraz Upoštevanje časov preklopov Če predpostavimo, da so vsi preklopi enako dolgi, in da sta tudi check-in in check-out enaka, potrebujemo za opravila, razvrščena pred Tj, končni pogoj oziroma Real-Time Systems Laboratory, Institute of Informatics
Razvrstljivost EDF – popolni izraz Upoštevanje časov preklopov Za opravilo Tj in njemu sledeča pa velja Treba je upoštevati celotno režijo preklopa, vendar ne zakasnitve zaradi kritičnih območij. Real-Time Systems Laboratory, Institute of Informatics
Prednosti EDF • koncept skrajnih rokov je problemsko orientiran (ni umetna kategorija) • je fleksibilen, omogoča razširitev in modifikacijo sistema brez poznavanja ostalega sistema • sporadična in periodična opravila se tretirajo enako • izvedljivost • linearno naraščanje zahtevnosti algoritma z naraščanjem števila opravil, razmeroma preprost algoritem • zagotavlja maksimalno izkoriščenost procesorja Real-Time Systems Laboratory, Institute of Informatics
Prednosti EDF • preprosto preverjanje izvedljivosti • zgodnje ugotavljanje prihajajoče preobremenitve • minimalno število preklopov za generiranje izvedljive razvrstitve • razvrščanje le ob prihodu novega opravila, stara razvrstitev ostane • vsa opravila (tudi “nizkoprioritetna”) so postrežena Real-Time Systems Laboratory, Institute of Informatics