1 / 36

Razvrščanje opravil v realnem času

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.

neviah
Download Presentation

Razvrščanje opravil v realnem času

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Razvrščanje opravil v realnem času Matjaž Colnarič Real-Time Systems Laboratory, Institute of Informatics

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Statične prioritete Primera: Real-Time Systems Laboratory, Institute of Informatics

  10. 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

  11. Statične prioritete Real-Time Systems Laboratory, Institute of Informatics

  12. 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

  13. Določanje prioritet po naraščajoči periodi (Rate monotonic scheduling) Uspešni primer: Real-Time Systems Laboratory, Institute of Informatics

  14. Določanje prioritet po naraščajoči periodi (Rate monotonic scheduling) Primer prekoračitve: Real-Time Systems Laboratory, Institute of Informatics

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. Primerjava LLF vs. EDF Real-Time Systems Laboratory, Institute of Informatics

  24. Primerjava LLF vs. EDF Real-Time Systems Laboratory, Institute of Informatics

  25. Primerjava RM vs. EDF Real-Time Systems Laboratory, Institute of Informatics

  26. Primerjava RM vs. EDF Real-Time Systems Laboratory, Institute of Informatics

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

More Related