You are on page 1of 73

Ordonnancement Ordonnancementcentralis centralisde detches tchestemps tempsrel rel

Samia Bouzefrane Matre de Confrences CEDRIC CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Sommaire Sommaire

1. 2. 3. 4. 5. 6.

Caractristiques de lordonnancement temps rel Ordonnancement de tches priodiques temps rel Ordonnancement de tches apriodiques Ordonnancement avec contraintes de ressources Prise en compte de la prcdence des tches Conclusion

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Rappels Rappels

Ordonnancement : planification de lexcution des tches. Dtermine lordre dallocation du processeur. Tche : entit dexcution. Instance dynamique dun programme excutable. (processus Unix, thread Unix/Java, task Ada) Ordonnancement premptif ou non premptif : Un ordonnancement premptif autorise lopration de rquisition du processeur au profit dune tche plus prioritaire.

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Comportement Comportementdune dunetche tche


Fin

Actif/lu Actif/lu En excution

Attente dvnement (blocage) bloqu bloqu Allocation du processeur

En attente dune ressource

vnement arriv (dblocage)

Premption Activable/Prt Activable/Prt En attente du processeur Rveil

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Contexte Contexteapplicatif applicatif


Procd

Applications de contrle - Multitches avec - Concurrence - Communication - Contraintes de temps - Contraintes de prcdence et - Partage de ressources

Actionneurs

Capteurs

Systme de contrle

tches

Excutif Temps Rel


(ordonnanceur, gestion des ressources, des interruptions...)

Structure dun noyau temps rel


5 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Ordonnancement Ordonnancementtemps tempsrel rel

But principal de lordonnancement : permettre le respect des contraintes temporelles associes lapplication et aux tches. Chaque Tche possde un dlai critique: temps maximal pour sexcuter depuis sa date de rveil. La date butoir rsultante est appele chance. Le dpassement dune chance est appele faute temporelle.

Dlai critique

Excution non termine: faute temporelle

rveil
6

chance
samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Certification Certification

Applications embarqus et critiques : ncessit de certifier lordonnancement ralis, c--d de vrifier avant le lancement de lapplication (hors ligne) le respect des contraintes temporelles.

Cette certification seffectue laide de tests dacceptabilit qui prennent en compte les paramtres temporels des tches (temps dexcution des tches).

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Certification Certification

Faisabilit : est-il possible d'exhiber un test de faisabilit ? - Condition permettant de dcider hors ligne du respect des contraintes des tches. - Prdictibilit du temps de rponse des tches.

Optimalit : critre de comparaison des algorithmes (un algorithme est dit optimal s'il est capable de trouver un ordonnancement pour tout ensemble faisable de tches).

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Test Testdacceptabilit dacceptabilit

Tests dacceptabilit : utilisent les temps dexcution des tches Il faut pouvoir dterminer ces temps Lexcutif doit tre dterministe.

Un excutif dterministe est un excutif pour lequel les temps de certaines oprations systme et matrielles lmentaires peuvent tre borns : temps de commutation, temps de prise en compte des interruptions, etc.

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Ordonnancement Ordonnancementhors horsligne ligne

Un ordonnancement hors ligne tablit avant le lancement de lapplication une squence fixe dexcution des tches partir de tous les paramtres de celles-ci. Cette squence est range dans une table et excute en ligne par un automate (squenceur).

t=0 tache1

t=5 tache3

t=8 tache1

t=15 tache3

t=30 tache5

t=32 tache4

Squence construite hors ligne

Automate

10

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Ordonnancement Ordonnancementen enligne ligne

Ordonnancement en ligne : la squence dexcution des tches est tablie dynamiquement par lordonnanceur au cours de la vie de lapplication en fonction des vnements qui surviennent. Lordonnanceur choisit la prochaine tche lire en fonction dun critre de priorit.

ordonnanceur
tache1

Tches prtes classes selon un critre de priorit


tache3 tache2 tache6 tache5 tache4

lection : Choix dune tche excuter parmi toutes les tches prtes

Tches rveilles dynamiquement

11

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Modlisation Modlisationde delapplication lapplication

Tches priodiques : elles correspondent aux mesures sur le procd; elles se rveillent rgulirement (toutes les P units de temps). Priodiques strictes : contraintes temporelles dures respecter absolument. Priodiques relatives : contraintes temporelles molles qui peuvent tre ou ou non respectes de temps autre (sans chance). Priodiques chance sur requte : dlai critique gal la priode.

12

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Modle Modlede detches tchespriodiques priodiquesstrictes strictes


r0 : date de rveil de la tche
C: dure d excution maximale

T(r0, C, R, P)
Avec 0<=C<=R<=P

R : dlai critique P : priode d excution rk: date de rveil de la kime instance de la tche rk=r0+kP dk: chance

dk= rk+R

Diagramme temporel d excution P R C

C(t): temps dexcution restant t R(t): dlai critique dynamique (temps restant t jusqu d) Quand R=P : tche chance sur requte

t r
0

C(t) t R(t)

d0

Modle canonique d'une tche priodique temps rel


13 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Modlisation Modlisationde delapplication lapplication

Tches apriodiques : elles correspondent aux vnements; elles se rveillent de manire alatoire. Apriodiques strictes : contraintes temporelles dures respecter absolument. Apriodiques relatives : contraintes temporelles molles qui peuvent tre ou ou non respectes de temps autre (sans chance).

14

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Modle Modlede detches tchesapriodiques apriodiquesstrictes strictes


r: date alatoire de rveil de la tche C: dure d excution maximale

Tap( r, C, R) Tap (t, C(t), R(t))

R : dlai critique dk : chance = rk + R C(t): temps dexcution restant t R(t): dlai critique dynamique (temps restant t jusqu d)

Diagramme temporel d excution

R C t r t
15

C(t) R(t)

r1

Modle canonique d'une tche apriodique temps rel


samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Algorithmes Algorithmesdordonnancement dordonnancementpour pourles lestches tchespriodiques priodiques

Algorithmes en ligne et premptifs avec un test dacceptabilit valuable hors ligne Nous ordonnanons un ensemble de tches priodiques (configuration). Les priorits affectes aux tches sont soit constantes (values hors ligne et fixes par la suite), soit dynamiques (elles changent durant la vie de la tche). Lordonnancement dun ensemble de tches priodiques est cyclique et la squence se rpte de manire similaire sur ce que lon appelle la priode dtude. Pour un ensemble de tches dpart simultan (t=0), la priode dtude est : [0, PPCM(Pi)].

16

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Priode Priodedtude dtude::cas casgnral gnral

Dure de validation Dure = {Dbut, Fin} Dbut = Min(ri) si ri est la date de premire activation de toute tche Ti Fin = Max(ri) + PPCM(Pi) si toutes les tches sont priodiques ou Fin = Max((ri +Ri)apriodiques , (ri)priodiques) + 2 PPCM(Pi)priodiques sil y a des tches apriodiques [LM 80] Si la squence est valide sur lintervalle [Dbut, Fin], alors elle est valide sur un temps infini [LM 80].

17

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Algorithme Algorithmedordonnancement dordonnancementRate RateMonotonic Monotonic

Algorithme Rate Monotonic (RM) Priorit de la tche est fonction de sa priode. Priorit constante. La tche de plus petite priode est la tche la plus prioritaire Pour un ensemble de n tches priodiques chance sur requte Tpi (r0, Ci, Ri, Pi), un test dacceptabilit est: Si condition vrifie :

Ci 1/ n n ( 2 1) alors la configuration est ordonnanable i =1 P i

Condition suffisante
18 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple Exempleavec avecRate RateMonotonic Monotonic

Tche A (r0=0, C=2, R=6, P=6) Tche B (r0=0, C=3, R=5, P=8)

tche A 0

10

11

12

tche B 0
A

1
A

2
B

3
B

4
B

5
O

6
A

7
A

8
B

9
B

10 11
B O

12

19

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Algorithme Algorithmedordonnancement dordonnancementInverse InverseDeadline Deadline

Algorithme Inverse Deadline (ou Deadline Monotonic (DM)) Priorit de la tche est fonction de son dlai critique. Priorit constante. La tche de plus petit dlai critique est la tche la plus prioritaire Pour un ensemble de n tches priodiques chance sur requte Tpi (r0, Ci, Ri, Pi), un test dacceptabilit est: Si condition vrifie :

Ci 1/ n n ( 2 1) alors la configuration est ordonnanable i =1 Ri

Condition suffisante
20 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple Exempleavec avecInverse InverseDeadline Deadline

Tche A (r0=0, C=2, R=6, P=6) Tche B (r0=0, C=3, R=5, P=8)

tche A 0

10

11

12

tche B 0
B

1
B

2
B

3
A

4
A

5
O

6
A

7
A

8
B

9
B

10 11
B O

12

21

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Algorithme Algorithmedordonnancement dordonnancementEarliest EarliestDeadline/1 Deadline/1


Algorithme Earliest Deadline (ou Earliest Deadline First (EDF)) Priorit de la tche est fonction de son dlai critique dynamique. Priorit dynamique. A linstant t, la tche de plus petit dlai critique dynamique (de plus proche chance) est la tche la plus prioritaire Pour un ensemble de n tches priodiques chance sur requte Tpi (ri, Ci, Ri, Pi), un test dacceptabilit est: La configuration est ordonnanable ssi

Ci 1 i =1 P i

Condition ncessaire et suffisante


22 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Algorithme Algorithmedordonnancement dordonnancementEarliest EarliestDeadline/2 Deadline/2

Algorithme Earliest Deadline (ou Earliest Deadline First (EDF))

Pour un ensemble de n tches priodiques quelconques Tpi (ri, Ci, Ri, Pi), un test dacceptabilit est:

Ci 1 i =1 Ri

=> la configuration est ordonnanable - Condition suffisante

Pour un ensemble de n tches priodiques quelconques Tpi (ri, Ci, Ri, Pi), un test dacceptabilit est: Si la configuration est ordonnanable alors

Ci 1 i =1 P i

- Condition ncessaire

23

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple Exempleavec avecEarliest EarliestDeadline Deadline


Tche A (r0=0, C=2, R=4, P=6) Tche B (r0=0, C=3, R=8, P=8) Tche C (r0=0, C=1, R=3, P=4)

tche A

10

tche B 0

10

tche C

10

C
24

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Autre Autreexemple exempleavec avecEarliest EarliestDeadline Deadline

Tp1(r0=0, C=4, R = 7, P=10) 0 Tp2(r0=1, C=3, R= 4, P=5)

1 0 1 0

0 1 d(Tp2) = 5 d(Tp1)= 7

5 6 7 d(Tp2) = 10 d(Tp1) = 7

Rveil

Echance

ED est un algorithme optimal

25

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Ordonnancement Ordonnancementde detches tchesapriodiques apriodiques

26

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Contexte Contextedu duproblme problme


Application de contrle multi-tche Tches priodiques Tpi (ri, Ci, Ri, Pi) Tches apriodiques Tapi (ri, Ci, Ri) Risque de surcharge

Prise en compte des tches apriodiques au sein dune configuration priodique ordonnanable

27

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Critres Critresde declassification classificationdes desmthodes mthodes

Algorithme dordonnancement des tches priodiques

Criticit des tches apriodiques

Niveau de prise en compte des tches apriodiques / tches priodiques

28

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Tches Tchesapriodiques apriodiques contraintes contraintesrelatives relatives


Premier Groupe Tches priodiques : Rate Monotonic Tches apriodiques contraintes relatives
Prise en compte en arrire plan: Lorsque le processeur est oisif Dans les temps creux de la configuration priodique

Rate Monotonic

Minimiser les temps de rponse des tches apriodiques

Serveurs: Tche priodique ddie de plus haute priorit Tps(r0, C, P) Serveur de scrutation

29

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Traitement Traitementdarrire darrireplan plan

Les tches apriodiques sont ordonnances selon un ordre FIFO lorsque le processeur est oisif

Simplicit, faible cot Le temps de rponse des apriodiques croit avec la charge priodique

30

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple Exempleavec avecun untraitement traitementen enarrire arrireplan plan

Tp1(r0=0, C=1,P=10) 0 Tp2(r0=0, C=3, P=5) 0 Temps creux 3 4 5 8 10 3 4 8 10

10

Rveil
Tches apriodiques

Echance sur requte


3 4 5 6 8 9

31

Tap1(r=3,C=1)

Tap2(r=6,C=1)

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Serveur Serveurde detches tchesapriodiques apriodiques

Une tche priodique de haute priorit est ddie au service des tches apriodiques en attente: Tps (r0, C, P) Serveur de scrutation : A chacun de ses rveils, le serveur sert les tches apriodiques en attente depuis son rveil prcdent - jusqu puisement des tches apriodiques - jusqu puisement de sa capacit Lordre de service des tches apriodiques est quelconque La capacit non utilise est perdue

32

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Serveur Serveur scrutation scrutation

Processeur utilis pour d'autres tches Processeur utilis par le serveur, rik : dates d'activation du serveur Ci : capacit du serveur (gal 2) activation d'une apriodique (dure 2) allocation du processeur activation d'une apriodique Ci affect un processus alatoire

ri1

ri2

ri3

ri4

initialisation de Ci 0 (au dpart, pas d'appel)

initialisation de Ci 2 car arrive d'un apriodique

33

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple Exempleavec avecun unserveur serveurde descrutation scrutation

TP1 (r0=0, C=4, P=10) TP2 (r0=0, C=4, P=20) Tches apriodiques Tps (r0=0, C=2, P=5) (Service FIFO)
2

0 0

4 4

10

11

15

20

4 4

5 5

7 7

10

20

00

5 5

77

10

11

15

16 17

20

Capacit du serveur

0 0

55

8 8

10

11 12 13

15

17

20

Tap3 (r=5, C=2)

Tap4 (r=8, C=1) Tap6 (r=13, C=1)

Tap5 (r=12, C=1)

34

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Inconvnients Inconvnientsdu duserveur serveurde descrutation scrutation

Inadquation entre le rythme priodique du serveur Tps et le caractre alatoire des rveils apriodiques Modifier la gestion de la capacit du serveur tel que : Le serveur dispose au plus vite de capacit pour servir une nouvelle tche apriodique - serveur sporadique

35

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Serveur Serveursporadique sporadique

Processeur utilis pour d'autres tches Processeur utilis par le serveur, Ci affect un processus alatoire rik : dates d'activation du serveur Ci : capacit du serveur (gal 2) activation d'une apriodique (dure 1) allocation ri1 du processeur initialisation de activation d'une apriodique ri2 ri3 ri4

Ci 2

36

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Tches Tchesapriodiques apriodiques contraintes contraintesstrictes strictes


Deuxime groupe Tches priodiques : Earliest Deadline Tches apriodiques: contraintes strictes Maximiser le nombre de tches apriodiques sexcutant dans le respect de leurs contraintes temporelles
- Routines de garantie - Test dacceptation des tches apriodiques Earliest Deadline

Dans les temps creux de la configuration priodique selon un ordre fonction de lchance

Surcharge Rejet des tches apriodiques

37

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Routines Routinesde degarantie: garantie:mthode mthodedes destemps tempscreux creux


Rveil Tap(r,C,R)

oui

Surcharge?

non

Tap ne peut pas sexcuter dans les temps creux de la configuration priodique en respectant ses contraintes de temps (sur [r, r+R]) et celles des tches apriodiques prcdemment acceptes et non acheves

Supprimer lexcution de Tap

Conserver Tap

38

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Routines Routinesde degarantie: garantie:mthode mthodedes destemps tempscreux creux


Rveil Tap(r,C,R)

oui

Surcharge?

non

1- il existe un temps creux suffisant, au moins gal C, entre r et r+R 2- lacceptation de Tap ne remet pas en cause le respect des chances des tches apriodiques Tapi prcdemment acceptes et non acheves (di d) Conserver Tap: Ajouter Tap aux tches apriodiques dj acceptes pour un ordonnancement dans les temps creux en fonction de lchance

Supprimer lexcution de Tap

39

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Mthode Mthodedes destemps tempscreux creux::exemple exemple

Tp1 (r0=0, C=4, R=7, P=10) Tp2 (r0=0, C=4, R=7, P=10)

0 0

4 4

7 7

10

14

17

20

9 9

15

20

Temps creux

9 9

10

14

20

Tches apriodiques
0 8 9 9

10

11

14

19 20

Tap3 (r=5, C=2, R=3) refuse : pas de temps creux entre les instants [5,8] Tap4 (r=8, C=1, R=3) accepte : temps creux suffisant entre les instants [8,11] Tap5 (r=12, C=5, R=8) accepte : temps creux suffisant entre les instants [14,20] Tap6 (r=13, C=2, R=3) refuse : temps creux suffisant entre les instants [13,16], mais Tap5 fautive
14 16 19 20

40

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Ordonnancement Ordonnancementavec aveccontraintes contraintesde deressources ressources

41

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Modle Modlede deressources ressources


Ressource partageable capacit dentre N N=1 =>ressource critique

Mise en attente, tat bloqu

P Demande dallocation Utilisation de la section critique

V Libration t

42

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinversion linversionde depriorit priorit

T1

P(R1) R1

V(R1)

T2

P(R1)

V(R1)

T3

Priorit(T1) > Priorit(T3) > Priorit(T2)

43

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinversion linversionde depriorit: priorit:exemple exemple


priorits croissantes demande(R1) --> blocage
T1

T1 retarde par T3
T3

T2

demande(R1)

libration(R1) t

T3 se termine avant T1, bien que T1 soit plus prioritaire T1 est retarde par toutes les tches de priorit intermdiaire
44 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinversion linversionde depriorit priorit

La tche T3 de priorit intermdiaire qui nutilise pas la ressource R1 retarde la tche T2 et donc la tche T1

Il peut y avoir une infinit de tches T3 Lattente de T1 ne peut pas tre borne

45

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinversion linversionde depriorit priorit

Pouvoir borner lattente de T1 et inclure cette borne au test dacceptabilit de la configuration ordonnancer

Test dacceptabilit de la configuration de tches priodiques

Test classique + facteur de blocage B

46

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinterblocage linterblocage

Interblocage Ensemble de n processus attendant chacun un vnement ne pouvant tre produit que par un autre processus de lensemble

Attente infinie

47

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinterblocage: linterblocage:exemple exemple


T1: R1 R2 T2: R2 R1

P(R1)

T1

R1

P(R2) => blocage

P(R2)

T2

R2

P(R1) => blocage

Priorit(T1)> Priorit(T2)
48 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinversion linversionde depriorit priorit

Pouvoir borner lattente de T1 et inclure cette borne au test dacceptabilit de la configuration ordonnancer

viter les situations dinterblocage

49

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Solutions Solutions linversion linversionde depriorit priorit

Triviale : rendre une section critique non interruptible

Protocole de lhritage de priorit [Sha 1990]

Protocole de la priorit plafond [Sha 1990]

Protocole pile [Bak 91]: ne sera pas trait ici, dcrit dans thse [Thse_SB 1998]

50

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Section Sectioncritique critiquenon noninterruptible interruptible


Priorit(T1)> Priorit(T3)>Priorit(T2) T2 non premptable: attente
P(R1) V(R1) R1

T1

T2 non premptable: attente T3


P(R1) V(R1) R1

T2

Une tche en section critique ne peut tre prempte par une autre tche
51 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Section Sectioncritique critiquenon noninterruptible interruptible

Section critique termine au plus tt, T1 retarde au plus de la dure de la section critique

MAIS -Difficile dans le cas dune section critique longue -Blocage des processus de haute priorit nutilisant pas la section critique

52

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocole Protocolede delhritage lhritagede depriorit priorit


Une tche en section critique hrite de la priorit de la plus haute tche en attente sur la section critique

demande(R1) --> blocage


T1

Prio(T3) < Prio(T2) = Prio(T1)


T3

en attente libration(R1) demande(R1) T2 hrite de Prio(T1) T2 retrouve sa priorit


samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

T2

53

Protocole Protocolede delhritage lhritagede depriorit priorit

On montre que la borne B (temps de blocage maximal pour une tche sur l'attente d'une ressource) est gale au plus la somme des dures des sections critiques partages avec des tches de plus faible priorit. Sous Rate Monotonic, le test d'acceptabilit de n tches priodiques devient :

C k + Bi i (21 / i 1) k =1
i

Pk

Pi

Pour tout i allant de 1 n

MAIS - ne prvient pas les interblocages

54

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocole Protocolede dela lapriorit prioritplafond plafond

Une ressource critique S reoit une priorit telle que : Priorit(S)=Max(Priorit(Ti), Ti accde S) Une tche qui accde S prend la priorit de S si une tche plus prioritaire quelle est mise en attente. Une tche ne peut accder S que si sa priorit est suprieure toutes les priorits des ressources S dtenues par les autres tches.

55

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocole Protocolede dela lapriorit prioritplafond plafond

T1

P(R1) R1

V(R1)

T2

P(R1)

V(R1)

T3 Priorit(T1) > Priorit(T3) > Priorit(T2) Priorit(R1)=Priorit(T1)


56 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocole Protocole priorit prioritplafond plafond


Priorit(T1)> Priorit(T3)>Priorit(T2) Priorit(R1)=Priorit(T1)

T1

P(R1) =>blocage R1

V(R1)

Prio(T3)<Prio(T2)=Prio(T1) T3
P(R1) V(R1) R1 R1

T2

T2 hrite de Prio(R1)=Prio(T1)
57

T2 reprend sa priorit initiale


samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocole Protocole priorit prioritplafond plafond

Une tche ne peut tre bloque que pendant la dure dune section critique dune tche de plus faible priorit : Dure_blocage= Max(dure_SCi) telle que SCi Ti et Priorit(Ti) est minimale Prvention des interblocages.

58

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Priorit Prioritplafonne: plafonne:exemple1 exemple1


T1: R1 R2 Priorit(T1)> Priorit(T2) Priorit(R1)=Priorit(R2)=Priorit(T1)
P(R1) =>blocage Prio(R1)=Prio(R2) R1 V(R1),V(R2) R2

T2: R2

R1

T1

T3
P(R2) P(R1) R2

T3 bloque

V(R2),V(R1) R1

T2

T2 hrite de Prio(R1)=Prio(T1)
59

T2 reprend sa priorit initiale


samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Priorit Prioritplafonne: plafonne:exemple exemple2 2

R2

R1

priorit(T1) = p1 tche T1
R1 R2

Lgende tche lue tche lue utilisant R1 tche lue utilisant R2 tche lue utilisant R1 et R2 tche termine p1 > p2

interblocage a) interblocage
R1 R2

tche T2 priorit(T2) = p2

tche T1
R1

R2

priorit(R1) = priorit(R2) = p1 0 * T1 est bloque car : priorit(T1) = p1 = plafond donc T2 hrite de p1

tche T2 plafond 0 p1 b) priorits plafonnes

Solution de l'interblocage et de l'inversion de priorit : priorit plafonne


60 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Problme Problmede delinversion linversionde depriorit priorit

Protocole

Ordonnancement

Proprits

Hritage de priorit

RM

-test dordonnanabilit -pas de prvention dinterblocage -test dordonnanabilit -prvention dinterblocage -test dordonnanabilit -prvention dinterblocage -test dordonnanabilit -prvention dinterblocage
samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Priorit plafonne

RM

Priorit plafonne dynamique Protocole pile

EDF

RM EDF

61

Ordonnancement Ordonnancementavec aveccontraintes contraintesde deprcdence prcdence

62

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Tches Tchesavec aveccontraintes contraintesde deprcdence prcdence

T1

T3

prcde
T5

T2

T4

Graphe de prcdence entre tches d'une application Prise en compte des contraintes de prcdence Modifications des paramtres temporels et affectation des priorits

63

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Prise Priseen encompte comptedes descontraintes contraintesde deprcdence prcdence

Transformer la configuration de tches en une configuration de tches indpendantes

Travaux de [Chetto 1990] en se basant sur lalgorithme EDF

Gnralisation aux algorithmes RM et DM par [Babau 1996]

64

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Prise Priseen encompte comptedes descontraintes contraintesde deprcdence prcdence

Rgles de prcdence [Babau 1996]

A prcde B rBrA Si une tche est priodique, lautre lest obligatoirement et PA=PB Priorit(A)>Priorit(B)

65

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Prise Priseen encompte comptedes descontraintes contraintesde deprcdence prcdence

Si algorithme RM:

ri*=Max{ri, (r*prdcesseur)} pour Tprdcesseur tche prcdant Ti Si A prcde B avec PA=PB alors Priorit(A)>Priorit(B) selon RM

66

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Prise Priseen encompte comptedes descontraintes contraintesde deprcdence prcdence

Si algorithme DM:

ri*=Max{ri, (r*prdcesseur)} avec Tprdcesseur tche prcdant Ti Di*=Min{Di, (D*successeur)} pour Tsuccesseur tche suivant Ti Si A prcde B avec PA=PB alors Priorit(A)>Priorit(B) selon DM

67

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Prise Priseen encompte comptedes descontraintes contraintesde deprcdence prcdence

Si algorithme EDF:

ri*=Max{ri, (r*prdcesseur+ Cprdcesseur)} di*=Min{di, (d*successeur- Csuccesseur)}

68

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple Exemplede degraphe graphede deprcdences prcdences

E A F B

69

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractristiques Caractristiquestemporelles temporellesdes destches tches

Nom Tche A B C D E F

ri date de dpart 0 0 0 0 0 5

Ci temps dexcution 1 2 1 2 1 4

Di dlai critique 12 11 11 9 8 5

di=ri+Di chance 12 11 11 9 8 10

Pi priode 12 12 12 12 8 -

Exemples de contraintes temporelles de tches avant transformation


70 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Prise Priseen encompte comptede dela laprcdence prcdenceavec avecEDF EDF

Nom Tche A B C D E F

ri* date de dpart 0 1 3 3 0 5

Ci temps dexcution 1 2 1 2 1 4

di* chance 5 7 11 9 8 10

Pi priode 12 12 12 12 8 -

Exemples de contraintes temporelles de tches aprs transformation


71 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Conclusion Conclusion

Les systmes ou applications temps rel sont

ordonnancs laide dalgorithmes spcifiques pour la prise en compte des contraintes de temps On a distingu :

Lordonnancement de tches priodiques temps rel

Lordonnancement de tches apriodiques Lordonnancement avec contraintes de ressources et la prise en compte de la prcdence des tches

72

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Rfrences Rfrences
Jolle Delacroix, Cours de Systmes temps rel dispenss en DESS DLS, CNAM, 2001-2002. [Sha 1990]: L. Sha, R. Rajkumar, J. P. Lehoczhy, Priority inheritance protocols: an approach to real-time synchronization , IEEE Transactions on Computers, Vol. n39, n9, sept. 1990, pp.1175-1185. Claude Kaiser, Cours de Systmes temps rel dispenss en DEA - SAR, Paris 6, 2001-2002. [Bak 91]: T. P. Baker, "Stack-Based Scheduling of Realtime Processes", J. Real-Time Systems, Vol. 3, N 1, pp. 67-99, March 1991. [Thse_SB 1998]: Samia Bouzefrane, tude temporelle des Applications Temps Rel Distribues Contraintes Strictes base sur une Analyse d'Ordonnanabilit , Thse de Doctorat, LISI, ENSMA, 1998. tlchargeable sur http://cedric.cnam.fr/~bouzefra. [Chetto 1990]: H. Chetto, lordonnancement dans les systmes de contrle temps rel contraintes strictes , Thse de Doctorat dtat, universit de Nantes, ENSM, dc. 1990, 192 pages. [Babau 1996]: J. P. Babau, "Etude du comportement temporel des applications temps rel contraintes strictes base sur une analyse d'ordonnanabilit", thse de doctorat, ENSMA, 1996. [LM 80]: : J. Y. T. Leung, M. L. Merrill, A note on Preemptive Scheduling of Periodic Real-Time Tasks , Information Processing Letters, vol. 11 n3, pp. 115-118, 1980. Francis Cottet, Jolle Delacroix, Claude Kaiser & Zoubir Mammeri, Scheduling in real-time systems , Ed. Wiley, 2002.

73

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

You might also like