Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Slide 1 Lindalsbakken 4 9560 Hadsund Sandtidssystemer del 2 Forlæsningsplan MM1:Introduktion, definition.

Lignende præsentationer


Præsentationer af emnet: "Slide 1 Lindalsbakken 4 9560 Hadsund Sandtidssystemer del 2 Forlæsningsplan MM1:Introduktion, definition."— Præsentationens transcript:

1 Slide 1 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Forlæsningsplan MM1:Introduktion, definition af sandtidssystemer og gennemgang af analyse og design metoder. Kort intro til AVR platform. MM2:Scheduleringsprincipper: Statiske/dynamiske f.eks. round robin/dynamic priority. Scheduleringskriterier: Generelt og for enkelte scheduleringsprincipper. MM3:Schedulerbarhedskriterier ved fixed priority schedulering. MM4:Schedulerbarhedskriterier ved dynamic priority schedulering. MM5:Aperiodiske tasks og lidt køteori. RETTELSE TIL DAGENS OPGAVER: I opgave 2 skal T(1) = 4!

2 Slide 2 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Scheduling: Indledning Fra task struktureringen haves tidskarakteristikker for følgende tasksæt {  (1),..,  (N)} –ready times r(i,j) –computation times c(i,j) –starting times S(i,j) –Completion times C(i,j) –deadlines d(i,j) –jobs J(i,j) –index (i,j) referer til det j te job i den i te task, f.eks.  (j) Naturen af de enkelt tasks kendes: periodisk (T(j)) eller aperiodisk (Tmin(j)) Problemet der skal løses er fordeling af CPU tid mellem de enkelte tasks Scheduler –Bestemmer ifølge en schedule hvad der skal ske hvornår –Schedule  skema/kalender Scheduleringsteori –Hvordan designes en schedule for et givent tasksæt? –Hvordan garanteres at den fundne schedule er feasible? Tænk! –Vil man altid have alle tidsdetaljer? –Vil man altid forsøge at skaffe alle tidsdetaljer?

3 Slide 3 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Scheduling: Principper Preemptible eller non-preemptible –Hardware afhængighed –Hardware uafhængighed Scheduler kategorisering: –Fast schedule: Schedule fastsættes før run-time, simple og effektive, men begrænset fleksibilitet –Round robin: CPU-tid i faste slots som tildeles periodisk, simpel og fleksibel, men mindre effektiv –Faste prioriteter: CPU-tid fordeles til den højeste prioritet mellem aktive tasks, simpel og fleksibel, medium effektiv –Dynamiske prioriteter: CPU-tid fordeles i forhold til run-time kriterier, kompleks, fleksibel og effektiv Process tilstande Tænk! –Er der andre relevante process tilstande? –Hvad er udfordringerne? Ready Running Blocked SchedulePreempt Block Unblock

4 Slide 4 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Scheduling: Antagelser Simplificering af problemerne –Antag alle tasks er periodiske r(i, j+1) = r(i, j) + T(i) –Antag alle relative dead-lines konstante d(i, j) = r(i, j) + d(i) –Antag alle computation times konstante c(i, j) = c(i) Problemet der ønskes løst er at alle dead- lines skal overholdes –C(i, j) ≤ d(i, j) = r(i, j) + d(i) Tænk! –Er der andre problemer der skal løses i sandtidssystemer? –Kan det virkelig være så svært?

5 Slide 5 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Tidsfunktionen: Introduktion Tid R(t) Hændelser/Events R(t): Angiver den resterne CPU tid, som er reserveret til tasks og endnu ikke afviklet. Busy Idle R(t) > 0 kaldes busy perioder. R(t) = 0 kaldes idle perioder. Tænk! - Vil man i praksis lave disse beregninger?

6 Slide 6 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Tidsfunktionen: Udnyttelse for én task 1 Tid R(t) Hændelser/Events For én task skal c være mindre end T for at systemet er stabilt. U = c/T < 1 Tænk! - Hvad kunne sådan et enkelt task system være? - Er det relevant at beskæftige sig med på det teoretiske og praktiske plan?

7 Slide 7 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Tidsfunktionen: Udnyttelse for én task 2 Tid R(t) Hændelser/Events Et enkelt task system er ustabilt, hvis c er større end T. U = c/T > 1 Mængden af reserveret tid vokser mod uendeligt.

8 Slide 8 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Tidsfunktionen: Udnyttelse for flere tasks Udnyttelse totalt Reservationsfunktionen (dårligt navn) angiver den totale mængde reserveret tid til et givent tidspunkt –o(i) = første ready tid for task i Begrænsning af reservationsfunktionen, da 0 ≤ o(i) < T(i) Begrænsning af tidsfunktionen ved anvendelse af reservationsfunktionen

9 Slide 9 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Tidsfunktionen: Systemafgrænsning Er udnyttelsen under 100% (U<1) Gælder uanset afviklingsrækkefølge Første trin i en validering af om alle dead- lines i et system nåes Er udnyttelsen over 100% (U>1) Tænk! –Hvad mangler i beregningerne?

10 Slide 10 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Round Robin Scheduling Tid Aktiv task Task 1 kommer for sent Hændelser/Events d(1) = T(1) = 4 og c(1) = 2 d(2) = T(2) = 12 og c(2) = 4 d(3) = T(3) = 64 og c(3) = 6 U = 2/4 + 2/12 + 6/64 = 0,76

11 Slide 11 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Fixed Priority Scheduling Tid Aktiv task Task 2 kommer for sent Hændelser/Events d(1) = T(1) = 4, c(1) = 2 og prio(1) = 1 d(2) = T(2) = 12, c(2) = 4 og prio(2) = 3 d(3) = T(3) = 64, c(3) = 6 og prio(3) = 2 U = 2/4 + 2/12 + 6/64 = 0,76

12 Slide 12 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Rate Monotonic Scheduling Tid Aktiv task Hændelser/Events Tænk! - Hvor realistisk er et eksempel som dette?

13 Slide 13 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 RMS og Fast Scheduling Tid Aktiv task Tid Aktiv task Task 2 kommer for sent Events d(1) = T(1) = 2 og c(1) = 1 d(2) = T(2) = 3 og c(2) = 5/4 U = 1/2 + (5/4)/3 = 11/12 Rate Monotonic Scheduling Fast Scheduling Tænk! - Fordele/Ulemper ved fast schedulering?

14 Slide 14 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Fast Schedulering Der behandles i dette kursus kun fast schedulering, hvor –Alle tidsenheder er givet som et multiplum af Tu (lille tidsenhed) –Alle tider en absolut kendte Dermed kan Scheduleren ses som en tilstandstabel af tidsenheder med følgende indhold –Aktiv task –Kontekst skift –Idle Kontrol af skedulerbarhed (Denglish) –Endeligt antal jobs kan undersøges ved inspektion –Uendeligt antal jobs kan undersøges ved antagelse af overordnede perioder (Der må ikke trækkes arbejde med fra én periode til den næste) LCM – Least Common Multiplier CM – Multiplum af LCM Jobs –T(1) = 2, c(1) = 1 og d(1) = 2 –T(2) = 3, c(2) = 5/4 og d(2) = 3 Mulig periode –Tu = ¼ –LCM = 24 Resultatet kaldes ofte cyclic scheduling Tænk! –Hvordan implementeres systemer som dette? –Er det noget man ofte anvender? Aktiv task Tid LCM

15 Slide 15 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Fast Scheduling et større eksempel Jobs –T(1) = 50 ms, c(1) = 25 ms og d(1) = 25 ms –T(2) = 1 s, c(2) = 100 ms og d(2) = 0,5 s –T(3) = 10 s, c(3) = 2 s og d(3) = 4 s Mulig periode –Tu =25 ms –LCM = 160 Udnyttelse –U = 1/2 + 1/10 + 2/10 = 0,80 Tid Aktiv task 1 s2 s3 s4 s5 s Task 3 kommer for sentTask 3 har udført 400 ms Tænk! -Kunne dette være fundet mere simpelt? -Hvad kunne task 1 være?

16 Slide 16 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Round Robin: Hvor svært kan det være Der behandles i dette kursus Round- Robin, hvor –Tidsenheder, ready og dead-line, er kun delvis kendte i forvejen –Kun perioder og relative dead-lines er kendte i forvejen Dermed udvides antallet af mulige scenarier rigtig meget –Worst case scenarier –Best case scenarier –Average case scenarier Kontrol af skedulerbarhed (Denglish) –Hvis worst case er skedulerbar er alle andre scenarier det også Tænk! –Worst case kan vi være sikker på at finde det scenarie? –Hvad anvendes i den virkelige verden? –Hvad med kontekst skift? Theorem (Et af de vigtigste!) –Antag at job J fra task  (i) er ready til t = 0 i en round-robin scheduler, så vil job J ikke afslutte senere end hvis CPUen til t = 0 tildeles  (i+1) og alle andre task samtidig er ready Non-preemptible round-robin –Dead-linen for hver task skal mindst være lige så stor som summen af alle task beregningstiderne Tænk! –Kan det theorem nu også være rigtigt? –Er theoremet anvendeligt i praksis?

17 Slide 17 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 2 Round Robin: Anvendelse af teorien Tid Aktiv task Hændelser/Events d(1) = T(1) = 3, c(1) = 1 d(2) = T(2) = 4, c(2) = 1 d(3) = T(3) = 10, c(3) = 4 Task 1Task 2Task 3 Orden: 1, 2, 3 og Tc = 0 Ok Tænk! - Kunne dette være fundet mere simpelt? - Hvad hvis det havde været non- preemptible?


Download ppt "Slide 1 Lindalsbakken 4 9560 Hadsund Sandtidssystemer del 2 Forlæsningsplan MM1:Introduktion, definition."

Lignende præsentationer


Annoncer fra Google