Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

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

Lignende præsentationer


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

1 Slide 1 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Forlæsningsplan Del 1:Introduktion, definition af sandtidssystemer og gennemgang af analyse og design metoder. Kort intro til AVR platform. Del 2:Scheduleringsprincipper: Statiske/dynamiske f.eks. round robin/dynamic priority. Scheduleringskriterier: Generelt og for enkelte scheduleringsprincipper. Del 3:Schedulerbarhedskriterier ved fixed priority schedulering. Del 4:Schedulerbarhedskriterier ved dynamic priority schedulering. Del 5:Aperiodiske tasks og lidt køteori.

2 Slide 2 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Scheduling: Resume 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)) Tidsfunktionen R(t): Angiver den resterne CPU tid, som er reserveret til tasks og endnu ikke afviklet Reservationsfunktionen L(t): Angiver den totale mængde reserveret tid til et givent tidspunkt

3 Slide 3 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Fixed Priority Scheduling: Resume Theorem (DMA optimal prioritering) –For et tasksæt {  (1),..,  (N)} med deadlines d(i) ≤ T(i), hvor d(i) ≤ d(i+1) vil Deadline Monotonic (DMA) prioritering (Laveste deadline = højeste prioritet) være optimal, i den forstand at hvis en anden prioriteringsfølge er skedulerbar er DMA det også Completion time analyse Rettelse til MM3 forlæsningen –Det er et krav at tiden t ≤ T(i) –Dette svarer også til U ≤ 1 Theorem (Critical Instant) –Et job J(i, j) fra task  (i) vil aldrig blive senere færdig end i den situation hvor alle andre tasks er igangsætter deres jobs på nøjagtig samme tid r(i, j), således o(i) = 0 Krævet tid C(2) = 20 > d(2) = 12 Prioritet: (1, 3, 2) C(3) = 12 < d(3) = 64

4 Slide 4 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Dynamic Priority Scheduling: Introduktion Dynamic Priority Scheduling –Prioriteterne skifter over tid EDF – Earliest Deadline First LLF – Least Laxity First LSF – Least Slack Time First (Laxity = tid til deadline – resterende beregningstid) etc. –Øget kompleksitet i både analyse og design faserne Tænk! –Hvad er det der øger kompleksiteten i analyse fasen? –Hvad er det der øger kompleksiteten i design fasen? –Hvor ofte er Dynamic Priority Scheduling nødvendigt? Earliest Deadline First (EDF) –I EDF er jobbet som eksekveres til tiden t det uafsluttede job som har den laveste/tidligste absolute deadline efter t Tænk! –Adskilder EDF sig fra DMA? Tid Aktiv task r(2, 1)r(1, 1)d(1, 1)d(2, 1) S(2, 1)S(1, 1)C(1, 1)C(2, 1)

5 Slide 5 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Earliest Deadline First Hvor DMA arbejdede på relative deadlines arbejder EDF på absolute deadlines –Sammenligningseksempel d(1) = T(1) < d(2) = T(2) Theorem (EDF Optimalitet) –For et givent sæt af jobs er EDF optimal, i den forstand at hvis der eksistere en anvendelig (feasible) schedule så er EDF også anvendelig Theorem (EDF Udnyttelses kriterie) –For et givent periodisk tasksæt med relative deadlines lig perioderne vil EDF være skedulerbar hvis og kun hvis U  1 Der findes ikke noget Critical Instant theorem for EDF Tænk! –Hvordan kan man implementere en EDF scheduler? –Hvornår er det ”bedst” at beregne absolutte deadlines? –Bruges EDF i proprietære RTOS implementeringer? –Hvad gør vi når der ikke er et Critical Instant theorem? Tid Aktiv task r(2, 1)r(1, 1)d(2, 1)d(1, 1) S(2, 1)S(1, 1)C(1, 1)C(2, 1) DMA Tid Aktiv task r(2, 1)r(1, 1)d(2, 1)d(1, 1) S(2, 1) S(1, 1) C(2, 1)C(1, 1) EDF

6 Slide 6 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Earliest Deadline First: Beviser 1 Uformelt optimalitets bevis, hvor det antages at {  (1),..,  (N)} er sorteret i prioritets rækkefølge og er skedulerbar –Antag: At der for et k gælder at d(k) ≤ d(k+1) og C(k+1) < C(k) –Observer:At C(k+1) k+1 er uberørt af ombytningen –Derfor: Ombytning af prioriteter ved flytning af tasks med lavere absolut deadline foran tasks med højere absolut deadline bibeholder skedulerbarhed –QED:Gentages til EDF prioritering er opnået EDF lemma –Hvis alle task initieres til tiden t=0 og der mistes en deadline til tiden t* vil der ikke være en idle periode i [0; t*] –Er åbenlyst klart, da man hvis der er idle perioder vil rykke beregninger frem i tid for at når de fastlagte deadlines EDF vil til ethvert givent tidspunkt eksekvere den task der har kortest tid til deadline og dermed vil EDF fylde idle- tiderne ud (Bevis følger senere!) Tænk! –Beviset for EDF optimalitet minder meget om DMA optimalitets beviset, er det et tilfælde?

7 Slide 7 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Earliest Deadline First: Beviser 2 Omvendt uformelt bevis for EDF lemma –Antag: At der sker et overflow til tiden t3 og der er en idle tid før t3 mellem t1 og t2 –Observer:At der ved flytning af alle  (1) jobs, så der er sammenfald mellem J(1,1) og t2, som minimum vil være et bibehold beregningskrav i [t2;t3] –QED:Gentages til alle task har sammenfald med t2 Modsætning til en antagelse om at der mellem t0 og et overflow er en idle periode Bevis for EDF udnyttelses kriterie U > 1 er jfr. tidligere forlæsninger ikke skedulerbart U  1 skedulerbarhed vises ved omvendt bevisførelse –Antag: At theoremet ikke er sandt, og der mistes en deadline til tiden T a1,, a2,... er ready tider med deadlines lig T b1,, b2,... er ready tider med deadlines efter T –Observer:At der skal undersøges to tilfælde: 1: Ingen beregninger for b1,, b2,... er udført før T 2: Nogle beregninger for b1,, b2,... er udført før T

8 Slide 8 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Earliest Deadline First: Beviser 3 Tilfælde 1: Ingen beregninger for b1,, b2,... er udført før T –Det totale krav om beregningstid i [0; T] kan findes ved –Jfr. lemmaet er der ikke idle-tider i [0; T] og da deadlinen mistes til T fåes –Hvilket er en modsætning til antagelsen om at theoremet var forkert og dermed er theoremet bevist for tilfælde 1 Tilfælde 2: Nogle beregninger for b1,, b2,... er udført før T –Overflowet må være fra et a1,, a2,... job –b1,, b2,... beregningerne må være foretaget før T, T’ < T –Alle ikke b1,, b2,... job, der kom før T’ må være udført før T’ –Alle jobs afviklet i [T’, T] må være ready efter T’ –Det total krav i [T’, T] er D og må være større end T-T’ for overflow –Hvilket er det samme som U > 1 –Hvilket er en modsætning til antagelsen om at theoremet var forkert og dermed er theoremet bevist for tilfælde 2 Dermed er hele theoremet bevist

9 Slide 9 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Afhængige tasks: Introduktion Afhængigheder –Delte resourcer –Semaphore Deadlock –Intertask afhængigheder bringer systemet i en situation, hvor der ventes indbyrdes på hianden –Eksempel fra den virkelige verden Deadlock kræver følgende tilstande –Gensidig udelukkelse, kun én task pr. resource –Hold og vent, en task låser en resource og venter på en anden –No preemption, resourcer kan kun frigives frivilligt –Cirkulært vent, flere tasks venter på hinanden Priority Inversion –En høj prioritets task må vente på en mellem prioritets task, pga. en fælles resource der er låst af en lav prioritets task Tænk! –Er dette lige så katastrofalt som en deadlock? –Er prioritets invertering noget man ”ofte” ser? –Kan problemet løses? –Må der låses en resource mellem jobs? Tid Aktiv task S låst S låse forsøg Preempt S fri S låst

10 Slide 10 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Afhængige tasks: Problem løsning 1 Priority Inheritance (Prioritets arvning) –En task der låser en resourcer arver en højere prioritet indtil resourcen igen er frigivet –Almindelige metoder Priority Ceiling Immediate Ceiling Protocol etc. Tænk! –Er dette grundprincip simpelt at implementere? –Kan dette virke under dynamisk prioritering eller kræves preemtive fixed priority schedulering? Priority Ceiling Protocol (PCP) –Prioritets loftet for en semaphore S er defineret til C(S) C(S) = max{prio(  )|  som kan låse S} Theorem (Priority Ceiling med hægtede kritiske regioner) –Deadlock er ikke mulig –Maksimal ventetid er lig den kritiske region for én lavere prioritets task Tid Aktiv task S låst S låse forsøg S fri Arver prioritet

11 Slide 11 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Afhængige tasks: Problem løsning 2 Immediate Ceiling Protocol (ICP) –Priority Ceiling hvor prioriteten arves allerede når semaphoret låses Tænk! –Er der nogle fordele ved Immediate Ceiling Protocol fremfor Priority Ceiling? Completion time analyse –Med PCP/ICP kan der fremsættes et eksakt schedulerings kriterie, ud fra completion time –B(i) er varigheden af den længste kritiske periode som kan blokkere task i Udnyttelse –Liu og Leylands garantigrænse skal ændres lidt og gælde for alle tasks Tænk! –Hvad er kravet til C(i)? Tid Aktiv task S låst S fri Arver prioritet

12 Slide 12 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Afhængige tasks: Beviser Bevis for at ICP er deadlock fri –Antag: At der er ved at opstå en deadlock mellem N tasks, og at task i holder semaphore S(i) som efterfølgende er forsøgt låst af task i-1 –Observer:Sidste task j skal låse semaphore S(j), men på det tidspunkt har task j+1 allerede låst det Jfr. ICP vil task j+1 have arvet en prioritet med mindst task j’s størrelse –Derfor:Vil task j+1 køre til S(j) er frigivet hvorefter task j kan overtage S(j) –QED:Cirkulært vent ophæves af ICP, hvorved deadlock undgåes Omvendt bevis for maximal ventetid –Antag:Tre tasks  (1),  (2) og  (i) Med prioriteter P(2) < P(1) < P(i) Antag at  (i) er blokkeret af  (1) og  (2), altså mere end én kritisk region Lad  (2) gå ind i den kritiske region først og lad P* være det højeste prioritets loft blandt  (2) delte resourcer –Observer:Hvis  (1) går ind i den kritiske region må P(1) > P* Fra antagelsen er  (i) blokkeret og dermed er P(i) ≤ P* –QED:P(i) ≤ P* < P(1) hvilket er en modsætning

13 Slide 13 Lindalsbakken 4 9560 Hadsund Info@doredevelopment.dk http://www.doredevelopment.dk Sandtidssystemer del 4 Afsluttende bemærkninger Non preemptive systemer –Der må aldrig låses en resource mellem to jobs –Derfor vil deadlock være utænkelig i non preemptive systemer Static Resource Priority Ordering (SRPO) –Anvender ICP, hvor prioriteterne kun tildeles hvis de har betydning når resourcen allokeres –Ved statisk schedulering kan nedarvningen foretages før runtime –Ved round-robin bør resource blokkering tages med i worst case scenarierne –Beregning af completion time under EDF er ikke realistisk Tænk! –Har SRPO nogle fordele frem for ICP? RTOS eksempel (Win CE) –Hård real-tid –Default 32 prioriteter (128 muligt) –50 us blokke, på 200 MHz x86 –5 us kontekst skift –Semaphorer –Exit handles –Hægtede interrupts –Interrupt starttid 2.8 us –Interrupt termineringstid 26.4 us –Virtual memory skrive beskyttelse –Mindste kerne ~ 350 Kb –Support for SuperH, ARM, MIPS og x86


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

Lignende præsentationer


Annoncer fra Google