Vous êtes sur la page 1sur 146

Ordonnancement Temps Rel

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

Introduction

Tches temps rel soumises des contraintes de temps, plus ou moins strictes

instant de dmarrage instant de fin absolus ou relatifs d'autres tches

le but de l'ordonnancement est de permettre le respect de ces contraintes, lorsque l'excution se produit dans un mode courant il doit permettre de borner les effets d'incidents ou de surcharges

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

Caractristiques des tches (1)


r : date de rveil moment du dclenchement de la 1re requte d'excution C : dure d'excution maximale (capacit) D : dlai critique

dlai maximum acceptable pour son excution

P : priode (si tche priodique) d = r+D : chance (si tche contraintes strictes) tche priodique : rk = r0 + k*P

si D = P, tche chance sur requte P P D t

r0
F. Touchard

d0

r1

d1
Ordonnancement

r2
3

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Caractristiques des tches (2)

paramtres statiques

U = C/P : facteur d'utilisation du processeur CH = C/D : facteur de charge du processeur s : date du dbut de l'excution e : date de la fin de l'excution D(t) = d-t : dlai critique rsiduel la date t (0 D(t) D) C(t) : dure d'excution rsiduelle la date t (0 C(t) C) L = D-C : laxit nominale de la tche

paramtres dynamiques

retard maximum pour son dbut d'excution s (si elle est seule) retard maximum pour reprendre l'excution

L(t) = D(t) - C(t) : laxit nominale rsiduelle

TR = e - r : temps de rponse de la tche CH(t) = C(t)/D(t) : charge rsiduelle (0 CH(t) C/P)


Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 4

F. Touchard

Caractristiques des tches (3)


premptibles ou non dpendance ou indpendance

ordre partiel prdtermin ou induit partage de ressources ordonnancement hors ligne dtermin la conception variation entre la requte et le dbut de l'excution

priorit externe

gigue (jitter) maximale

urgence chance importance

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

tats d'une tche


Courante

Bloque

Prte

f
Inexistante

f
Passive

f : abandon de la requte pour cause de faute temporelle

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

Dfinitions

configuration : ensemble de n tches mises en jeu par l'application n

facteur d'utilisation du processeur U =


i=1

Ci Pi

facteur de charge C H=
i=1

Ci Di

intervalle d'tude : intervalle de temps minimum pour prouver l'ordonnanabilit d'une configuration

le PPCM des priodes dans le cas d'une configuration de tches priodiques

laxit du processeur LP(t) = intervalle de temps pendant lequel le processeur peut rester inactif tout en respectant les chances

laxit conditionnelle LCi t=Di Ci t LP(t) = min(LCi(t))

(somme sur les tches dclenches la date t et qui sont devant i du point de vue de l'ordonnancement)

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

Buts de l'ordonnancement

piloter l'application avec 2 objectifs majeurs :

en fonctionnement nominal : respect des contraintes temporelles en fonctionnement anormal (par exemple pannes matrielles) : attnuer les effets des surcharges et maintenir un tat cohrent et scuritaire

ordonnancer = planifier l'excution des requtes de faon respecter les contraintes de temps

de toutes les requtes en fonctionnement nominal d'au moins les requtes les plus importantes (c'est--dire celles ncessaires la scurit du procd) en fonctionnement anormal

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

Typologie des algorithmes


en ligne ou hors ligne

choix dynamique ou prdfini la conception une tche peut perdre le processeur (au profit d'une tche plus prioritaire) ou non algorithme premptif toutes les tches premptibles en TR mou, meilleur effort = faire au mieux avec les processeurs disponibles en TR dur, obligation des respecter les contraintes temporelles : inclmence aux fautes temporelles

premptif ou non premptif

stratgie du meilleur effort ou inclmence

centralis ou rparti

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

Plan du cours
ordonnancement des tches indpendantes ordonnancement des tches dpendantes

partage de ressources contraintes de prcdence

ordonnancement en cas de surcharge

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

10

Ordonnancement des tches indpendantes

11

Introduction

tches indpendantes :

pas de partage de ressources pas de contraintes de prcdence dynamique sur la base d'une priorit dfinie

cas des algorithmes en ligne


soit de manire empirique soit partir d'un paramtre temporel de la tche

priorit constante ou variable avec le temps priorit identique, on vite la premption test d'acceptabilit hors ligne si tous les paramtres sont connus sinon test de garantie au rveil des tches

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

12

tches priodiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

13

Rate Monotonic Analysis (RMA)


algorithme priorit constante bas sur la priode (tches chance sur requte) :

la tche de plus petite priode est la plus prioritaire

test d'acceptabilit (condition suffisante)


Ci 1 /n n2 1 P i=1 i
n

quand n est trs grand : n(21/n 1) ~ ln 2 = 0,69 dans la pratique, on peut rencontrer des ordonnancements valides qui vont jusqu' 88%

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

14

Rate Monotonic Analysis (RMA)

exemple

an Ci n n0,75 n 21 /n1 = 0,77 o P = 3/202/52/10d= i or


Prio2 > Prio3 > Prio1
T1 0 T2 0 2 5 7 10 12 15 17 20 4 5 7 9 20

T1 (r0=0, C=3, P=20), T2 (r0=0, C=2, P=5), T3 (r0=0, C=2, P=10) a

le b

T3

10

12

14

20

0
F. Touchard

9 10

12

14 15

17
Ordonnancement

20
15

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Deadline Monotonic Analysis (DMA)


algorithme priorit constante bas sur le dlai critique :

la tche de plus petit dlai critique est la plus prioritaire

test d'acceptabilit (condition suffisante) Ci n(21/n 1) D i=1 i


n

quivalent RMA dans le cas des tches chance sur requte, meilleur dans les autres cas

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

16

Deadline Monotonic Analysis (DMA)

exemple
ut Ci f= = 3/7+2/ 4+2/9 a 1,14 D i
Prio2 > Prio1 > Prio3
T1(r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5), . r. . T3 (r0 = 0, C=2, D=9, P=10) oi v

n 2 1 = 0,77

1 /n

T1 0 T2 0 T3 0 7 9 10 12 14 19 20 2 4 5 7 9 10 12 14 15 17 19 20 2 5 7 20

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

17

Earliest Deadline First (EDF)


algorithme priorit variable bas sur l'chance

chaque instant (i.e chaque rveil de tche), la priorit maximale est donne la tche dont l'chance est la plus proche condition ncessaire condition suffisante
Ci P 1 i=1 i Ci D 1 i=1 i
n n

test d'acceptabilit

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

18

Earliest Deadline First (EDF)

exemple
T1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5), T3 (r0 = 0, C=2, D=8, P=10)

Ci me P = 3/202/52/10 = 0,75m < 1 ra i og Ci on >1 = 3/72/ 42/8r= 1,18 D h c i


T1 0 T2 0 T3 0
F. Touchard

20

9 10

12

14 15

17

19 20

10

12

14

18
Ordonnancement

20
19

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Least Laxity First (LLF)


algorithme priorit variable aussi appel Least Slack Time (LST) bas sur la laxit rsiduelle

la priorit maximale est donne la tche qui a la plus petite laxit rsiduelle L(t) = D(t) C(t)

quivalent EDF si on ne calcule la laxit qu'au rveil des tches optimum trouver entre la granularit du calcul et le nombre de changements de contexte provoqus

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

20

Least Laxity First (LLF)

exemple mme configuration que pour EDF


T1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5), T3 (r0 = 0, C=2, D=8, P=10)

laxit calcule t = 0, 1, 2, 3, etc... t=0 7 6 5 4 3 2 1 L1 = 7-3 2== 4L2 = 4-2 = 2, L3 = 8-2 = 6 0 1, 2, = 2, 3, L3 4, 3 5 1 2 3 2


T1 0 T2 0 T3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Ordonnancement 21

4 5

9 10

11 12 13 14 15 16 17 18 19 20

4 5

9 10

11 12 13 14 15 16 17 18 19 20

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Traitement des tches apriodiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

22

Introduction
tches prises en compte dans une configuration comprenant dj des tches priodiques a priori, on ne connat pas l'instant d'arrive de la requte de rveil de la tche apriodique contraintes temporelles strictes ou relatives buts atteindre :

si contraintes relatives : minimiser le temps de rponse si contraintes strictes : maximiser le nombre de tches acceptes en respectant leurs contraintes traitement en arrire-plan traitement par serveurs

2 grandes catgories de traitement


F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

23

Tches contraintes relatives

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

24

Traitement d'arrire-plan (1)

tches apriodiques ordonnances quand le processeur est oisif

les tches priodiques restent les plus prioritaires

ordonnancement relatif des tches apriodiques en mode FIFO traitement le plus simple, mais le moins performant

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

25

Traitement d'arrire-plan (2)

exemple Tp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10) Ta3 (r=3, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

Tp1 Tp2
0

ordonnancement RMA des tches priodiques


2 5 7 10 12 15 17

20

Tempscreux

10

12

14

20

Tchesapriodiques
3

10

14 15

17

20

10 11

14 15

17

19

Ta3
F. Touchard Polytech Marseille IRM4 SICA 2012-13

Ta4
Introduction aux systmes Temps Rels

Ta5
Ordonnancement 26

Traitement par serveur (1)


un serveur est une tche priodique cre spcialement pour prendre en compte les tches apriodiques serveur caractris par

sa priode son temps d'excution : capacit du serveur serveur gnralement ordonnanc suivant le mme algorithme que les autres tches priodiques une fois actif, le serveur sert les tches apriodiques dans la limite de sa capacit. l'ordre de traitement des tches apriodiques ne dpend pas de l'algorithme gnral

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

27

Traitement par serveur par scrutation (1)

Serveurs par scrutation (polling)

chaque activation, traitement des tches en suspens jusqu' puisement de la capacit ou jusqu' ce qu'il n'y ait plus de tches en attente si aucune tche n'est en attente ( l'activation ou parce que la dernire tche a t traite) , le serveur se suspend immdiatement et perd sa capacit qui peut tre rutilise par les tches priodiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

28

Traitement par serveur par scrutation (2)

exemple de serveur par scrutation (ordonnancement RMA)


2 tches priodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0, C=2, P=10) serveur : Tps (r0=0, C=2, P=5)

Tp1 Tp2 Tps


0 2 4 5 7 9 20

10

12

14

20

10 11

12

15

17

20

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

29

Traitement par serveur par scrutation (3)

exemple de serveur par scrutation (ordonnancement RMA)


2 tches priodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0, C=2, P=10) serveur : Tps (r0=0, C=2, P=5) tches apriodiques : Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

Tp1 Tp2 Tps


0 2 5 20

10

12

14

20

10 11

12

Capacit

2 1 0

Ta3

Ta4

Ta5

15 17 20 Tches apriodiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

30

Traitement par serveur par scrutation (4)

limitations du serveur par scrutation


perte de la capacit si aucune tche apriodique en attente si occurrence d'une tche apriodique alors que le serveur est suspendu, il faut attendre la requte suivante

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

31

Traitement par serveur sporadique (1)

Serveur sporadique

amliore le temps de rponse des tches apriodiques sans diminuer le taux d'utilisation du processeur pour les tches priodiques comme le serveur ajournable mais ne retrouve pas sa capacit priode fixe le serveur sporadique peut tre considr comme une tche priodique normale du point de vue des critres d'ordonnancement

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

32

Traitement par serveur sporadique (2)

calcul de la rcupration de capacit

le serveur est dit actif quand la priorit de la tche courante Pexe est suprieure ou gale celle du serveur Ps le serveur est dit inactif si Pexe < Ps RT : date de la rcupration

calcule ds que le serveur devient actif (tA) gale tA + Ts calcule l'instant tI o le serveur devient inactif ou que la capacit est puise gal la capacit consomme pendant l'intervalle [tA, tI]

RA : montant de la rcupration effectuer RT

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

33

Traitement par serveur sporadique (3)

exemple de serveur sporadique haute priorit


2 tches priodiques : Tp1 (r0=0, C=3, P=20), Tp2 (r0=0, C=2, P=10) serveur : Tps (r0=0, C=2, P=5) tches apriodiques : Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

Tp1 Tp2
0 2 4 6 7 20

Tps

10

12

14

20

10

11 12

15

16

Capacit
2 1 0

Ta3

Ta4

Ta5

Tches apriodiques

5
F. Touchard Polytech Marseille IRM4 SICA 2012-13

10

12

15
Ordonnancement

20
34

Introduction aux systmes Temps Rels

Tches contraintes strictes

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

35

Principe de l'ordonnancement
ordonnancer les tches en EDF A chaque nouvelle tche apriodique, faire tourner une "routine de garantie" pour vrifier que toutes les contraintes temporelles seront respectes

si oui, accepter la tche. si non, refuser la tche. acceptation dans les temps creux ordonnancement conjoint

2 politiques d'acceptation dynamique :


favorise les tches priodiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

36

acceptation dans les temps creux (1)


ordonnancement EDF des tches priodiques les tches apriodiques acceptes sont ordonnances dans les temps creux des tches priodiques (~ mthode d'arrire-plan) selon l'algorithme EDF routine de garantie (au rveil d'une tche apriodique):

teste l'existence d'un temps creux suffisant entre le rveil et l'chance de la tche apriodique) vrifie que l'acceptation de la nouvelle tche ne remet pas en cause le respect des contraintes temporelles des autres tches apriodiques dj acceptes et non encore termines si OK, la tche est ajoute la liste des tches apriodiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

37

acceptation dans les temps creux (2)

exemple

Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5), Tp3 (r0=0, C=1, D=8, P=10) Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=1, d=18), Ta6 (r=11, C=2, d=16)
2 2 4 5 5 5 6 6 8 7 8 9 10 10 1 2 12 13 14 1 5 17 19 18 20 20 20

Tp1 Tp2 Tp3 0 Temps creux 0 Tches apriodiques 0 Ta4 4 0

8 8 10 Ta5

10 11

13 13 Ta6

15 15 16

17 17 18

20

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

38

acceptation dans les temps creux (3)

exemple

Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5), Tp3 (r0=0, C=1, D=8, P=10) Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=2, d=18), Ta6 (r=11, C=2, d=16)
2 2 4 5 5 5 6 6 8 7 8 9 10 10 1 2 12 13 14 1 5 17 19 18 20 20 20

Tp1 Tp2 Tp3 0 Temps creux 0 Tches apriodiques 0 Ta4 4 0

8 8 Ta5 10

10 11

13 13 Ta6

15 15

17 16 17 18

20

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

39

ordonnancement conjoint (1)


la squence des tches priodiques n'est plus immuable l'arrive de chaque nouvelle tche apriodique, construction d'une nouvelle squence EDF

si la construction est possible : acceptation de la tche sinon rejet

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

40

ordonnancement conjoint (2)

exemple

Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5), Tp3 (r0=0, C=1, D=8, P=10) Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=1, d=18),

Tp1 Tp2 Tp3 0 Tches apriodiques 0 Ta4


F. Touchard Polytech Marseille IRM4 SICA 2012-13

2 2 4

5 5 6

7 8 8 9 10 10 12 15 17 18

20 19 20 20

5 6

12 13 14 15

8 Ta5

10 11

13 14

18

Introduction aux systmes Temps Rels

Ordonnancement

41

ordonnancement conjoint (3)

exemple

Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5), Tp3 (r0=0, C=1, D=8, P=10) Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=1, d=18), Ta6 (r=11, C=2, d=16)
0 2 2 0 4 5 5 6 7 8 8 9 10 10 12 15 17 18 20 19 20 20

Tp1 Tp2 Tp3

5 6

12 13 14 15

Tches apriodiques 0 Ta4


F. Touchard Polytech Marseille IRM4 SICA 2012-13

8 10 11 12 13 14 Ta5 Ta6
Introduction aux systmes Temps Rels

18

Ordonnancement

42

ordonnancement conjoint (3)

exemple

Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5), Tp3 (r0=0, C=1, D=8, P=10) Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=2, d=18), Ta6 (r=11, C=2, d=16)
0 2 2 0 4 5 5 6 7 8 8 9 10 10 12 15 17 18 20 19 20 20

Tp1 Tp2 Tp3

5 6

12 13 14 15

Tches apriodiques 0 Ta4


F. Touchard Polytech Marseille IRM4 SICA 2012-13

8 10 11 12 13 14 Ta5 Ta6
Introduction aux systmes Temps Rels

18

Ordonnancement

43

Ordonnancement de tches dpendantes

44

Plan

types de contraintes tudies


contraintes de prcdence contraintes lies au partage de ressources critiques

prsentation et illustration des contraintes algorithmes pour les ordonnancer tude de cas : la mission Pathfinder sur Mars (TD)

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

45

Prsentation des contraintes

46

Contraintes de prcdence (1)

Contraintes de prcdence

sur l'ordre d'excution des tches les unes par rapport aux autres gnralement dcrites par un graphe orient G

Ja < Jb indique que la tche Ja est un prdcesseur de Jb Ja Jb indique que la tche Ja est un prdcesseur immdiat de Jb
J1 J2 J3

J4

J5

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

47

Contraintes de prcdence (2)

Contraintes de prcdence

sur l'ordre d'excution des tches les unes par rapport aux autres gnralement dcrites par un graphe orient G

Ja < Jb indique que la tche Ja est un prdcesseur de Jb Ja Jb indique que la tche Ja est un prdcesseur immdiat de Jb
J1 J2 J3

J1 < J2 J1 J2 J1 < J4 J1 J4
Ordonnancement 48

J4

J5

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Contraintes de prcdence (3)

exemple : reconnaissance de formes


objets dfilants sur un tapis roulant

camra stroscopique

systme acq1 d'acquisition et de traitement image1

acq2

image2

8 tches 2 acquisitions 2 traitements image analyse de forme analyse des diffrences calcul de hauteur reconnaissance finale

diff

forme

hauteur

reconn

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

49

Partage de ressources (1)

contraintes sur les accs aux ressources

ressource : toute structure logicielle qui peut tre utilise par une tche pour son excution prive si ddie la tche partage si elle peut tre utilise par plusieurs tche exclusive si une seule tche la fois peut l'utiliser l'accs squentiel par plusieurs tches une ressource exclusive ncessite un mcanisme de synchronisation les codes implmentant les oprations en exclusion mutuelle sont des sections critiques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

50

Partage de ressources (2)

phnomnes de blocage et d'inversion de priorit


Demande Libre

J1

Demande

Libre

J2 Priorit(J1) > Priorit(J2) Excution normale Section critique

le dlai impos par J2 J1 est normal


Introduction aux systmes Temps Rels Ordonnancement 51

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Partage de ressources (3)

phnomnes de blocage et d'inversion de priorit


Demande

Libre

J1

J3
Demande Libre

J2

Priorit(J1) > Priorit(J3) > Priorit(J2)


Excution normale Section critique

le dlai supplmentaire apport J1 par J3 est d au phnomne d' inversion de priorit


Introduction aux systmes Temps Rels Ordonnancement 52

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Quelques anomalies d'ordonnancement

Thorme de Graham : si un ensemble de tches est ordonnanc de faon optimale sur un systme multiprocesseur avec des priorits assignes, des temps d'excution fixes et des contraintes de prcdence, alors le fait d'augmenter le nombre de processeurs, de rduire les temps d'excution ou de relaxer les contraintes de prcdence peut conduire dtriorer la dure d'excution de l'algorithme

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

53

Quelques anomalies d'ordonnancement

exemple

9 tches de priorits dcroissantes (Prio(Ji) > Prio(Jj)) i > j contraintes de prcdence et temps d'excution :
J9 (9) J8 (4)

J1 (3) J2 (2) J3 (2)

J7 (4) J6 (4) J5 (4)

J4 (2)

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

54

Quelques anomalies d'ordonnancement

ordonnancement optimal sur un systme 3 processeurs


J1 J2 J3 J4 J5 J6 2 3 4 5 6 7 8 9 J9 J7 J8

J1 (3) J2 (2) J3 (2)

J9 (9) J8 (4) J7 (4) J6 (4) J5 (4)

P1 P2 P3

J4 (2)

0 1

10 11 12 13 14 15 16 17 18

sur un systme 4 processeurs :


J1 J2 J3 J4 J5 J6 J7 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Ordonnancement 55

P1 P2 P3 P4

J8 J9

0 1
F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Quelques anomalies d'ordonnancement

ordonnancement optimal sur un systme 3 processeurs


J1 J2 J3 J4 J5 J6 2 3 4 5 6 7 8 9 J9 J7 J8

J1 (3) J2 (2) J3 (2) J4 (2)

J9 (9) J8 (4) J7 (4) J6 (4) J5 (4)

P1 P2 P3

0 1

10 11 12 13 14 15 16 17 18

en rduisant d'une unit le temps de calcul des tches


J1 (2) J9 (8) J8 (3) J7 (4) J6 (3) J5 (3)

P1 P2 P3 J3

J1 J2 J4

J5 J6 J7 2 3 4 5 6

J8 J9

J2 (1) J3 (1) J4 (1)

0 1
F. Touchard

10 11 12 13 14 15 16 17 18
Ordonnancement 56

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Quelques anomalies d'ordonnancement

ordonnancement optimal sur un systme 3 processeurs


J1 J2 J3 J4 J5 J6 2 3 4 5 6 7 8 9 J9 J7 J8

J1 (3) J2 (2) J3 (2) J4 (2)

J9 (9) J8 (4) J7 (4) J6 (4) J5 (4)

P1 P2 P3

0 1

10 11 12 13 14 15 16 17 18
J1 (3) J2 (2) J3 (2) J9 (9) J8 (4) J7 (4) J6 (4) J5 (4)

en supprimant quelques relations de prcdence


J1 J2 J3 J4 J7 2 3 4 5 6 7 J8 J5 J6 8 9 J9

P1 P2 P3

J4 (2)

0 1
F. Touchard

10 11 12 13 14 15 16 17 18
Ordonnancement 57

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Quelques anomalies d'ordonnancement

exemple d'anomalie sur des contraintes de ressources

5 tches alloues statiquement 2 processeurs J2 et J4 partagent une ressource exclusive

P1 P2 0 1

J1 J3 2 3 4 5 6 J4 7 8 9

J2 J5 10 11 12 13 14 15 16 17 18 19 20 21 22

si on rduit le temps d'excution de J1


J1 J3 J2 J4 3 4 5 6 7 8 9 J5

P1 P2 0 1
F. Touchard

10 11 12 13 14 15 16 17 18 19 20 21 22
Ordonnancement 58

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Algorithmes d'ordonnancement

Contraintes de prcdence

ici, seulement prcdence simple

si Ti est priodique de priode Pi, alors Tj l'est aussi et Pj = Pi transformer l'ensemble des tches dpendantes en un ensemble de tches indpendantes que l'on ordonnancera par un algorithme classique par des modifications des paramtres des tches

principe de l'tablissement de l'ordonnancement :

si Ti T

alors la rgle de transformation doit respecter

rj ri Prioi > Prioj

validation de l'ordonnanabilit selon des critres utiliss pour des tches indpendantes

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

60

Contraintes de prcdence

contraintes de prcdence et Rate Monotonic

la transformation s'opre hors ligne sur la date de rveil et sur les dlais critiques

r*i = Max{ri, r*j} pour tous les j tels que Tj Ti si Ti Tj alors Prioi > Prioj dans le respect de la rgle d'affectation des priorits par RMA

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

61

Contraintes de prcdence

contraintes de prcdence et Deadline Monotonic

la transformation s'opre hors ligne sur la date de rveil et sur les dlais critiques

r*i = Max{ri, r*j} pour tous les j tels que Tj Ti D*i = Max{Di, D*j} pour tous les j tels que Tj Ti si Ti Tj alors Prioi > Prioj dans le respect de la rgle d'affectation des priorits par DMA

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

62

Contraintes de prcdence

contraintes de prcdence et EDF

modification des chances de faon ce qu'une tche ait toujours un di infrieur celui de ses successeurs (algorithme de Chetto et al.) une tche ne doit tre activable que si tous ses prdcesseurs ont termin leur excution modification de la date de rveil et de l'chance

r*i = Max{ri, Max{r*j + Cj}} pour tous les j tels que Tj Ti d*i = Min{di, Min{d*j - Cj}} pour tous les j tels que Ti Tj on itre sur les prdcesseurs et successeurs immdiats on commence les calculs par les tches qui n'ont pas de prdcesseurs pour le calcul des r et par les tches qui n'ont pas de successeur pour le calcul des d

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

63

Contraintes de prcdence

exemple
T1 T3 T5 T4

T2

Param tres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 64

Contraintes de prcdence

exemple
T1 T3 T5 T4

T2

Param tres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i

Introduction aux systmes Temps Rels

Ordonnancement

65

Contraintes de prcdence

exemple
T1 T3 T5 T4

T1 n'a pas de prdcesseur r*1 = 0

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0

Introduction aux systmes Temps Rels

Ordonnancement

66

Contraintes de prcdence

exemple
T1 T3 T5 T4

T2 n'a pas de prdcesseur r*2 = 5

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r*i d* i 0 5

Introduction aux systmes Temps Rels

Ordonnancement

67

Contraintes de prcdence

exemple
T1 T3 T5 T4

T3 a T1 pour prdcesseur r*3 = Max(r3, r*1+C1) = 1

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r*i d* i 0 5 1

Introduction aux systmes Temps Rels

Ordonnancement

68

Contraintes de prcdence

exemple
T1 T3 T5 T4

T4 a T1 et T2 pour prdcesseurs r*4 = Max(r4, Max(r*1+C1,r*2+C2)) =7

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r*i 0 5 1 7

Introduction aux systmes Temps Rels

Ordonnancement

69

Contraintes de prcdence

exemple
T1 T3 T5 T4

T5 a T3 et T4 pour prdcesseurs r*5 = Max(r5, Max(r*3+C3,r*4+C4)) =8

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 5 1 7 8
Ordonnancement 70

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T5 n'a pas de successeur d*5 = 12

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 5 1 7 8 12
Ordonnancement 71

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T4 a T5 pour successeur d*4 = Min(d4,Min(d*5-C5)) =9

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 5 1 7 9 8 12
Ordonnancement 72

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T3 a T5 pour successeur d*3 = Min(d3,Min(d*5-C5)) =5

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 5 1 5 7 9 8 12
Ordonnancement 73

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T2 a T4 pour successeur d*2 = Min(d2,Min(d*4-C4)) =5

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r*i d* i 0 5 7 1 5 7 9 8 12


Ordonnancement 74

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T1 a T3 et T4 pour successeurs d*2 = Min(d2,Min(d*3-C3, d*4-C4)) =3

T2

Paramtres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r*i d* i 0 3 5 7 1 5 7 9 8 12


Ordonnancement 75

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T1 T2 T3 T4 T5
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 11 10 11 12 12 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 11 10 11 10 11 12 12 12

T2

Param tres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 3 5 7 1 5 7 9 8 12
Ordonnancement 76

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T1 T2 T3 T4 T5
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 11 10 11 12 12 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 11 10 11 10 11 12 12 12

T2

Param tres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 3 5 7 1 5 7 9 8 12
Ordonnancement 77

Introduction aux systmes Temps Rels

Contraintes de prcdence

exemple
T1 T3 T5 T4

T1 T2 T3 T4 T5
0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 11 10 11 12 12 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 11 10 11 10 11 12 12 12

T2

Param tres des tches Tche ri Ci di T1 0 1 5 T2 5 2 7 T3 0 2 5 T4 0 1 10 T5 0 3 12


F. Touchard Polytech Marseille IRM4 SICA 2012-13

Earliest Deadline r* i d* i 0 3 5 7 1 5 7 9 8 12
Ordonnancement 78

Introduction aux systmes Temps Rels

Partage de ressources critiques

une ressource critique ne peut


tre utilise simultanment par plusieurs tches tre rquisitionne par une autre tche squence d'instructions pendant lesquelles on utilise une ressource critique sans problme dans le cas d'un ordonnancement non premptif, mais c'est rarement le cas dans un environnement temps rel valuation du temps de rponse trs difficile, sinon impossible

notion de section critique

abondante littrature !

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

79

Partage de ressources critiques

inversion de priorit

phnomne d la prsence simultane de priorits fixes et de ressources accs exclusif dans un environnement premptif

exemple de 4 tches de priorits dcroissantes prio(T1) > prio(T2) > prio(T3) > prio(T4) si pas de partage de ressource commune :
T1 T2 T3 T4

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

80

Partage de ressources critiques

inversion de priorit

phnomne d la prsence simultane de priorits fixes et de ressources accs exclusif dans un environnement premptif

exemple de 4 tches de priorits dcroissantes prio(T1) > prio(T2) > prio(T3) > prio(T4) si partage d'une ressource commune
T1 T2 T3 T4 R1 R1 R1

le retard de T2 d T3 est une "inversion de priorit", non prvue

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

81

Hritage de priorit
principe : attribuer la tche qui possde la ressource la priorit de la tche de plus haute priorit qui attend la ressource hypothses de travail

n tches priodiques T1, T2, ... , Tn (priode Pi, capacit Ci) chance sur requte partageant m ressources R1, R2, ... , Rm chaque ressource Rj est garde par un smaphore binaire Sj limitant une section critique zi,j (pour Ti) Pi : priorit nominale, pi : priorit active P1 > P2 > ... > Pn zi,j zi,k ou zi,k zi,j ou zi,j zi,k = zi,j et zi,k

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

82

Hritage de priorit

dfinition du protocole d'hritage de priorit


les tches sont ordonnances suivant leur priorit active quand une tche Ti cherche entrer dans une section critique zi,j et que la ressource Rj est dj possde par une tche Tk, de priorit plus faible, alors Ti se bloque (sinon Ti entre dans zi,j) la tche Ti, bloque, transmet sa priorit Tk qui peut alors redmarrer et terminer l'excution de la section critique zk,j quand Tk sort de la section critique, il relche le smaphore Sj et la tche de plus haute priorit est rveille. Si aucune tche n'est encore bloque par Tk, alors pk est ramene Pk, sinon on donne pk la plus haute des priorits des tches en attente

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

83

Hritage de priorit

exemple

sans hritage de priorit


R1

T1 T2 T3
R1

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

84

Hritage de priorit

exemple

sans hritage de priorit


R1

T1 T2 T3

Blocage Blocage direct direct

R1

avec hritage de priorit


R1

T1 T2 T3 p3 P1 P3
F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement

Blocage Blocage indirect indirect

R1

85

Hritage de priorit

proprits du protocole d'hritage des priorits

le temps de blocage B d'une tche de haute priorit par une tche de plus basse priorit nominale est born mais le calcul de ce temps de blocage maximum peut tre trs complexe condition ncessaire d'ordonnanabilit par un algorithme Rate Monotonic :
i, 1 in,

k=1

Ck Tk

Bi Ti

i2 1

1 /i

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

86

Hritage de priorit

problmes rmanents

blocages en chane
Ra Rb

T1
Rb

T2
Ra

T3

treinte fatale (deadlock), si 2 tches utilisent 2 ressources imbriques, mais dans l'ordre inverse
Ra Rb Ra

T1
Rb

T2
F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels

T1 wait (Sa) wait (Sb) signal (Sb) signal (Sa)


Ordonnancement

T2 wait (Sb) wait (Sa) signal (Sa) signal (Sb)


87

Priorit plafonne
introduit la fin des annes 80 pour rsoudre le problme d'inversion de priorit tout en prvenant l'occurence de deadlocks et de blocages en chane amlioration du protocole d'hritage de priorit : une tche ne peut pas entrer dans une section critique s'il y a un smaphore acquis qui pourrait la bloquer principe : on attribue chaque smaphore une priorit plafond gale la plus haute priorit des tches qui pourraient l'acqurir. Une tche ne pourra entrer dans la section critique que si elle possde une priorit suprieure toutes celles des priorits plafond des smaphores acquis par les autres tches

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

88

Priorit plafonne

dfinition du protocole

on attribue chaque smaphore Sk une priorit plafond C(Sk) gale la plus haute priorit des tches susceptibles de l'acqurir soit Ti la tche prte de plus haute priorit : l'accs au processeur est donn Ti soit S* le smaphore dont la priorit plafond C(S*) est la plus grande parmi tous les smaphores dj acquis par des tches autres que Ti pour entrer dans une section critique garde par un smaphore Sk, Ti doit avoir une priorit suprieure C(S*). Si Pi C(S*), l'accs Sk est dni et on dit que Ti est bloque sur S* par la tche qui possde S*

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

89

Priorit plafonne

exemple

3 tches T0, T1, T2 de priorits dcroissantes P0 > P1 > P2

T0 accde squentiellement 2 sections critiques gardes par les smaphores S0 et S1 T1 accde une section critique garde par S2 T2 accde la section critique garde par S2 et aussi, de manire imbrique, S1 C(S0) = P0 C(S1) = P0 C(S2) = P1

les priorits plafond sont :


F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

90

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t0, T2 est active et dmarre. Le smaphore S2 est demand et obtenu (il n'y a pas d'autre ressource en cours d'utilisation)

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

91

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t1, T1 est active et prempte T2

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

92

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t2, T1 demande S2 et est bloque par le protocole car la priorit de T1 n'est pas suprieure la priorit plafond C(S2)=P1 (S2 est le seul smaphore acquis t2) T2 hrite de la priorit de T1 et redmarre
Introduction aux systmes Temps Rels Ordonnancement 93

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t3, T2 demande et obtient le smaphore S1 , car aucune autre tche ne dtient de ressource

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

94

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t4 T0 est rveille et prempte T2

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

95

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t5, T0 demande le smaphore S0 qui n'est dtenu par aucune autre tche. Le protocole bloque nanmoins T0 parce que sa priorit n'est pas suprieure la plus grande priorit plafond des smaphores dj dtenus (S2 et S1) : P0 T2 hrite de la priorit de T0 et peut redmarrer
Introduction aux systmes Temps Rels Ordonnancement 96

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t6, T2 relche S1. Sa priorit p2 est ramene P1, plus haute priorit des tches bloques par T2 T0 peut alors prempter T2 et acqurir S0

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

97

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t7 quand T0 demande S1, le seul smaphore encore tenu est S2 avec une priorit plafond P1 T0 (priorit P0 > P1) obtient S1

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

98

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t8, T0 se termine. T2 peut reprendre son excution, toujours avec la mme priorit P1

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

99

Priorit plafonne
R0
T0 T1 T2 p2 P0 P1 P2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

R1 S0 S1 S2 S2 C(S0) = P0 C(S1) = P0 C(S2) = P1

R2 R2 S2 S2 R1 S1 S1

R1

t9, T2 relche S2. Sa priorit est ramene sa valeur nominale P2. T1 peut alors prempter T2 et redmarrer t10, T1 se termine, T2 peut redmarrer et se terminer

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

100

Priorit plafonne

on a le mme critre d'ordonnanabilit par RMA que dans le cas du protocole d'hritage de priorit
Ck Bi 1/ i i, 1in, i2 1 k =1 T Ti k
i

mais le calcul du temps de blocage maximum de chaque tche est plus simple :

on peut dmontrer que le temps de bloquage maximum B i d'une tche Ti est la dure de la plus longue des sections critiques parmi celles appartenant des tches de priorit infrieure Pi et gardes par des smaphores dont la priorit plafond est suprieure ou gale Pi
Bi = max j ,k {D j ,k P jPi , CSk Pi }

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

101

Ordonnancement en situations de surcharge

102

Plan

notions lies la surcharge


dfinitions mtrique classes d'algorithmes tches priodiques tches quelconques

schmas d'ordonnancement

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

103

Notion de surcharge
quand la charge du processeur est telle qu'il est impossible de respecter toutes les chances origines possibles multiples

matriel, par exemple une transmission dfectueuse qui fait qu'un signal arrive en retard (rseau surcharg) contention sur une ressource critique rveil de tches apriodiques suite des alarmes

les algorithmes priorits classiques (du type EDF ou RMA) offrent des performances souvent mdiocre en cas de surcharge

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

104

Notion de surcharge

effet "domino" d l'arrive d'une tche supplmentaire dans un ordonnancement EDF

C=4 C=4 C=1,5 C=1,5

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

105

Notion de surcharge

effet "domino" d l'arrive d'une tche supplmentaire dans un ordonnancement EDF

C=2 C=4 C=4 C=1,5 C=1,5

m ou B

! um Bo
m! ou B

um Bo

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

106

Notion de surcharge

dans un contexte temps rel premptible de n tches priodiques indpendantes chance sur requte, la charge est quivalente au facteur d'utilisation U :
Ci U= i=1 T i
n

cas gnral

base sur le fait que pour une tche unique de capacit Ci et de dlai critique Di , la charge dans l'intervalle [ri, di] est = Ci/Di (di = ri + Di) calcule au rveil des tches (date t = ri)

i t =

dk di

c k t

dit
Introduction aux systmes Temps Rels Ordonnancement 107

= max i t

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Notion de surcharge

exemple J1 : (C1 = 2, r1 = 3, d1 = 6) J2 : (C2 = 3, r2 = 1, d2 = 7) J3 : (C3 = 1, r3 = 2, d3 = 9)


J1

i=

dkdi

c t
k

dit
t=3 1(3)=2/3

J2

2(3)=3/4 3(3)=4/6
0 1 2 3 4 5 6 7 8 9

J3

(3)=3/4
F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 108

Notion de surcharge
en l'absence de possibilit de surcharge, l'optimalit d'un algorithme est facile dfinir et l'importance relative des tches n'a pas d'intrt en prsence d'un systme o l'arrive dynamique de tches est autorise, il n'y a pas d'algorithme qui puisse garantir la bonne excution de l'ensemble des tches l'importance de l'excution d'une tche ne peut pas se dfinir seulement l'aide de son chance

il est srement plus important de faire la mesure d'un capteur toutes les 10s que de mettre jour l'heure sur l'cran de contrle toute les secondes

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

109

Notion de surcharge

ncessit de dfinir une valeur associe la tche qui reflte son importance relative par rapport aux autres tches

dans les tches temps rel, l'chance fait partie aussi de la dfinition de la valeur de la tche intrt de dfinir une "fonction d'utilit" qui dcrit l'importance de la tche en fonction du temps
v(fi) non temps rel fi v(fi) ferme fi v(fi) dur fi
Ordonnancement 110

v(fi) mou fi

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Notion de surcharge

valuation de la performance d'un algorithme par A = v(f i) i=1 o v(fi) est l'utilit de la tche sa terminaison remarque : si une tche temps rel dur dpasse son chance, alors A vaut -

il faut rserver les ressources (entre autres la CPU) pour garantir les tches "dures" pour un ensemble de n tches Ji (Ci, Di, Vi), o Vi est l'utilit de la tche quand elle se termine avant son chance, la valeur maximale de A est

A = v(f i)
i=1

en conditions de surcharge, la qualit d'un algorithme A se mesure en comparant A max


Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 111

F. Touchard

Gestion des situations de surcharge


Rappel : en prsence d'un systme o l'arrive dynamique de tches est autorise, il n'y a pas d'algorithme qui puisse garantir la bonne excution de l'ensemble des tches seulement des politiques plus ou moins bien adaptes aux circonstances

tches priodiques tches quelconques

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

112

Tches priodiques
pas d'arrive dynamique de nouvelles tches dures d'excutions variables, non forcment bornables 2 politiques prsentes :

mthode du mcanisme chance mthode du calcul approch

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

113

Mthode du mcanisme chance (1)

principe :

chaque tche a 2 versions


version primaire assurant une bonne qualit de service mais dans un temps indtermin version secondaire fournissant un rsultat suffisamment acceptable au bout d'un temps connu

l'algorithme de tolrance aux fautes doit assurer le respect de toutes les chances, soit par le primaire soit par le secondaire

si les 2 marchent, on garde le primaire si le primaire ne russit pas, le secondaire doit russir ordonnancement = juxtaposition d'une squence des primaires et d'une des secondaires + rgle de dcision pour commuter de l'une l'autre

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

114

Mthode du mcanisme chance (2)

2 politiques possibles :

politique de la Premire Chance :


Prio (Secondaires) > Prio (Primaires) les primaires sont excuts dans les temps creux du processeur aprs leur secondaire primaires excuts avant les secondaires secondaires excuts plus tard si le primaire russit, le secondaire n'est pas excut

politique de la Seconde Chance :


pour obtenir un minimum de qualit de service, il faut un certain pourcentage de russite des primaires et donc garder suffisamment de temps de processeur pour cela

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

115

Mthode du calcul approch

chaque tche est dcompose en 2 parties :

mandataire, fournissant un rsultat approch et devant s'excuter dans le respect de son chance optionnelle, affinant le rsultat et excute seulement s'il reste assez de temps

vite les surcots ds la coordination entre plusieurs versions d'une mme tche mme remarque que prcdemment propos de la qualit de service minimale

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

116

Tches quelconques

modle canonique des tches insuffisant, bas sur

urgence dlai critique importance, codant le caractre primordial de la tche dans l'application dfinition subjective (cahier des charges)

un nouveau paramtre est ncessaire:

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

117

Tches quelconques

cause frquente des fautes temporelles : occurrence d'une tche apriodique

possible de les rejeter par une routine de garantie, ventuellement vers un autre processeur moins charg dans un environnement rparti

mais le mcanisme est lourd

ordonnancement importance

3 classes de politiques pour dcider l'acceptation (ou le rejet) des nouvelles tches :

meilleur effort avec garantie robuste

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

118

Tches quelconques

meilleur effort

pas de prdiction en cas de surcharge les nouvelles tches sont toujours acceptes seul moyen d'action : les niveaux relatifs des priorits
tche toujours accepte Queue des tches prtes en cours

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

119

Tches quelconques

avec garantie

un test d'acceptance est excut l'arrive de chaque nouvelle tche, garantissant la bonne excution de toutes les tches et bas sur les pires hypothses si le test d'acceptance n'est pas positif, la tche est rejete

ventuellement, recyclage des tches rejetes pour profiter d'une excution plus rapide que prvue d'une tche accepte

tche rejete

accepte test d'acceptabilit

Queue des tches prtes

en cours

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

120

Tches quelconques

robuste

sparation des contraintes temporelles et de l'importance des tches 2 politiques : une pour l'acceptation de nouvelles tches, une pour le rejet de tches quand une nouvelle tche arrive, on excute un test d'acceptabilit

si le test passe, la tche est mise dans la queue des tches prtes si le test ne passe pas, on excute l'algorithme de rejet qui permet d'liminer une ou plusieurs tches de moindre importance ventuellement, recyclage des tches rejetes pour profiter d'une excution plus rapide que prvue d'une tche accepte

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

121

Tches quelconques

robuste

sparation des contraintes temporelles et de l'importance des tches 2 politiques : une pour l'acceptation de nouvelles tches, une pour le rejet de tches quand une nouvelle tche arrive, on excute un test d'acceptabilit
politique d'ordonnancement tche Planning Queue des tches rejetes Queue des tches prtes politique de rjection en cours

politique de recyclage

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

122

Test de garantie

excut chaque rveil d'une tche

vrifie si la nouvelle tche peut tre excute sans provoquer de faute temporelle bas sur l'valuation de la laxit tches actives t, classes par ordre dcroissant d'chance Di=di r i

T = {Ti(t, Ci(t), di)} di < dj si i<j


L Ci t=Di C j t, d j di
j

L Pt=MinLCi t

surcharge dtecte quand LP(t) <0 tches fautives LCi(t) < 0

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

123

Ordonnancement par importance


critre d'importance utilis pour liminer des excutions de tches parmi celles dont les chances sont infrieures ou gales celle de la tche fautive plusieurs politiques possibles :

stabilisation de l'importance des tches ordonnances maximisation de la somme des importances des tches garanties

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

124

Stabilisation de l'importance (1)


assurer que ce sont les tches les plus importantes qui font le moins de fautes temporelles amlioration du modle des tches :

mode de fonctionnement normal modes de fonctionnement de survie, invoqus quand le mode de fonctionnement normal doit tre arrt proprits d'excution du mode normal

ajournabilit, quand l'excution de la tche peut tre supprime avant qu'elle n'ait commenc rvocabilit, quand l'excution de la tche peut tre supprime alors qu'elle est dj commence les 4 combinaisons sont possibles

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

125

Stabilisation de l'importance (2)

3 modes de survie :

ajournement rvocation faute temporelle

les modes d'ajournement et de rvocation contiennent les oprations excuter dans chaque cas

communication de rsultats d'autres tches, excution d'un travail paliatif, suppression de tches lies par une prcdence, etc...

le mode de faute temporelle est excut quand la tche commet la faute, et doit tre dfini pour chacun des modes normal, ajournement et rvocation

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

126

Stabilisation de l'importance (3)


TaskTis begin ModeNormal actionsdumodenormal(Cn,dn,proprits,Impn) ModeAjournement actionsdumodeajournement(C aj,daj,excutionobligatoire) ModeRvocation actionsdumodervocation(Crv,drv,excutionobligatoire) ModeFauteTemporelle actionssiFauteTemporellemodenormal(C nf) actionssiFauteTemporellemodeajournement(C ajf) actionssiFauteTemporellemodervocation(Crvf) end

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

127

Stabilisation de l'importance (4)

exemple

TaskT1is begin Mode_Normal(C=10,Ajournable,Revocable,Imp=5) Acquerir(Capteur); Lire(Capteur,Temp); Restituer(Capteur); calculssurTemp Temp:=Calcul(); envoideTemplatcheT2 Send(Temp,{T2}); Old_Temp:=Temp; Mode_Rvocation(C=3,Obligatoire,Imp=5) ajournementdeT1 Restituer(Capteur); Ajourner(T2); Mode_Ajournement(C=2,Obligatoire,Imp=5) calculd'unevaleurdepuisl'anciennevaleur Temp:=Old_Temp*facteur_correction Send(Temp,{T2}); end;

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

128

Stabilisation de l'importance (5)

politique de contrle

par un contrleur de charge en amont de l'ordonnanceur

Rveil Mode Normal

contrleur de charge
dtection de surcharge suppressions d'excution en fonction de l'importance

Modes normaux non supprims Modes de survie

ordonnanceur
Earliest Deadline First critre : urgence

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

129

Stabilisation de l'importance (6)

dtection de la surcharge par valuation de la laxit

chaque rveil, calcul de la laxit courante de chaque mode actif M = {Mxi (r, Cxi(r), dxi, Impxi} avec x = n, aj ou rv, i = 1, m et dxi < dxj (i<j) l'ensemble des modes actifs la date r tris par chance croissante laxit du mode Mxi : si toutes les laxits sont positives, pas de surcharge ordonnancement de la tche par EDF M n'est pas ordonnanable s'il existe un mode Mxf pour lequel la laxit Lxf(r) est ngative. Le mode Mxf est fautif et la surcharge est |Lxf(r)|

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

130

Stabilisation de l'importance (7)

rsorption de la surcharge par utilisation de l'importance

M' = {Mni(r, Cni(r), dni, Impni), i=1,p, M' M l'ensemble des modes normaux ajournables ou rvocables dont l'chance dni est infrieure ou gale dnf le contrleur supprime les modes normaux un par un par ordre croissant d'importance. A chaque suppression, le mode de survie correspondant est activ (rvocation ou ajournement suivant que la tche est dmarre ou non) la surcharge est rsorbe quand la somme des temps d'excution des modes de survie activs est suprieure ou gale la valeur de la surcharge s'il n' y a pas assez de modes normaux dans M', alors des fautes temporelles subsisteront et il faudra excuter les modes de survie faute temporelle

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

131

Optimisation de la somme des importances

algorithme RED (Robust Earliest Deadline) [Buttazzo]

gestion des tches apriodiques dans un environnement temps rel ferme introduit la notion de tolrance sur l'chance, c'est--dire le retard aprs l'chance pendant lequel le rsultat est encore acceptable tches caractrises par

le temps d'excution dans le pire des cas Ci l'chance normale Di (chance "primaire") la tolrance sur l'chance Mi (chance "secondaire") la valeur Vi

les tches sont acceptes sur leur chance secondaire et ordonnances sur leur chance primaire

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

132

Optimisation de la somme des importances


dtection de la surcharge par les algorithmes classiques bass sur la laxit rsiduelle pour un ensemble de tches J={J1, J2,... , Jn} classes par ordre d'chances croissantes, la laxit rsiduelle peut tre calcule efficacement par la formule Li = Li-1 + (di di-1) - ci(t)

on peut dfinir

le temps de dpassement : Ei = max (0, -(Li + Mi)) le temps de dpassement maximal : Emax = max(Ei) faisable ssi Li 0 pour toutes les tches tolrant ssi il existe des Li < 0 mais que Emax = 0

un ordonnancement sera

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

133

Optimisation de la somme des importances

test d'acceptance pour la tche Jnew


E=0; L0=0; d0=current_time(); J'=J {Jnew}; k=<positiondeJnewdansl'ensembleJ'>; foreachtaskJ'itellequei kdo{ /*calculdutempsdedpassementmaximum*/ Li=Li1+(didi1)ci; if(Li+Mi<E)thenE=(Li+Mi); } if(E>0){ <selectionnerunsousensembleJ *detchesrejeter>; <rejeterlestchesdeJ*>; }

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

134

Optimisation de la somme des importances

plusieurs stratgies pour respecter les chances des tches critiques

la plus simple : rejet d'une tche, en choisissant la tche de plus petite importance dont le temps d'excution rsiduel est plus grand que la surcharge

les tches rejetes sont mises dans une file d'attente, classes par ordre dcroissant de valeur quand une tche termine son excution avant sa pire chance, l'algorithme essaie de rinjecter les tches de plus grande valeur et de laxit positive. Les tches de laxit ngative sont dfinitivement limines

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

135

exemple

2 tches priodiques

Tp1 (r0=0, C=1, D=7, P=10, Imp=3) Tp2 (r0=0, C=3, D=4, P=5, Imp=1) Tap3 (r0=4, C=0.2, d=5, Imp=4) Tap4 (r0=5.5, C=1, d=10, Imp=5) Tap5 (r0=6, C=1, d=8, Imp=2) Tap6 (r0=7, C=1.5, d=9.5, Imp=6)

4 tches apriodiques

ordonnances par EDF T(t) est la configuration des tches actives l'instant t d est la date de l'chance

(ne pas confondre avec le dlai critique D)

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

136

exemple

t=0, Tp1 et Tp2 se rveillent


T(0)={Tp2(C(0)=3, d=4), Tp1(C(0)=1, d=7)} L(Tp2) = 4 - 0 - 3 = 1 L(Tp1) = 7 0 3 = 4 pas de surcharge, Tp2 est lue, puis Tp1 est lue t=3

5.5 6

9.5 10

C=1, D=7, P=10, Imp=3

Tp1

C=3, D=4, P=5, Imp=1


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 137

Tp2

exemple

t=4, Tap3 se rveille


T(4) = {Tap3(C(4)=0.2, d=5)} L(Tap3) = 5 4 0.2 = 0.8 pas de surcharge, Tap3 est lue

5.5 6

9.5 10

C=1, D=7, P=10, Imp=3

Tp1

r0= 4 C=0.2, d=7, Imp=4

Tap3

C=3, D=4, P=5, Imp=1


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 138

Tp2

exemple

t=5, Tp2 se rveille


T(5) = {Tp2(C(5)=3, d=9)} L(Tp2) = 9 5 3 = 1 pas de surcharge, Tp2 est lue

5.5 6

9.5 10

C=1, D=7, P=10, Imp=3

Tp1

r0= 4 C=0.2, d=7, Imp=4

Tap3

C=3, D=4, P=5, Imp=1


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 139

Tp2

exemple

t=5.5, Tap4 se rveille


T(5.5) = {Tp2(C(5.5)=2.5, d=9), Tap4(C(5.5)=1, d=10)} L(Tp2) = 9 5.5 2.5 = 1 L(Tap4) = 10 5.5 1 2.5 = 1 pas de surcharge, Tp2 garde la CPU

5.5 6

9.5 10

C=1, D=7, P=10, Imp=3

Tp1

r0= 4 C=0.2, d=7, Imp=4

Tap3

r0=5,5C=1, d=10,Imp=5

Tap4

C=3, D=4, P=5, Imp=1


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 140

Tp2

exemple

t=6, Tap5 se rveille


T(6) = {Tap5(C(6)=1, d=8), Tp2(C(6)=2, d=9) Tap4(C(6)=1, d=10)} L(Tap5) = 8 6 1 = 1 L(Tp2) = 9 6 1 2 =0 L(Tap4) = 10 6 1 2 1 = 0 pas de surcharge, Tap5 prempte Tp2

5.5 6

9.5 10

C=1, D=7, P=10, Imp=3

Tp1

r0= 4 C=0.2, d=7, Imp=4

Tap3

r0=5,5C=1, d=10,Imp=5

Tap4

r0=6C=1, d=8,Imp=2

Tap5

C=3, D=4, P=5, Imp=1


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 141

Tp2

exemple

t=7, Tap6 se rveille


T(7) = {Tp2(C(7)=2, d=9), Tap6(C(7)=1.5, d=9.5), Tap4(C(7)=1, d=10)} L(Tp2) = 9 7 - 2 = 0 L(Tap6) = 9.5 7 2 - 1.5 = -1 surcharge, Tap6 est fautive avec une surcharge de 1 suppression de tches dont les chances sont infrieures ou gales celles de Tap6 par ordre croissant des importances suppression de Tp2

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

142

exemple

nouvelle configuration t=7


T(7) = {Tap6(C(7)=1.5, d=9.5), Tap4(C(7)=1, d=10)} L(Tap6) = 9.5 7 1.5 = 1 L(Tap4) = 10 7 1 1.5 = 0.5

5.5 6

9.5 10

C=1, D=7, P=10, Imp=3

Tp1

r0= 4 C=0.2, d=7, Imp=4

Tap3

r0=5,5C=1, d=10,Imp=5

Tap4

r0=6C=1, d=8,Imp=2

Tap5

Tap6
r0=7C=1.5, d=9,5,Imp=6

C=3, D=4, P=5, Imp=1


F. Touchard Polytech Marseille IRM4 SICA 2012-13 Introduction aux systmes Temps Rels Ordonnancement 143

Tp2

exemple

si on avait utilis un simple algorithme routine de garantie

0 Tp1
C=1, D=7, P=10, Imp=3

5 Tap3

5.5 6

8 Tap5

9.5 10

Tp2
C=3, D=4, P=5, Imp=1

r0=4, C=0.2, d=5, Imp=4

r0=5.5, C=1, d=10, Imp=5

Tap4

r0=6, C=1, d=8, Imp=2

Tap6
r0=7, C=1.5, d=9.5, Imp=6

temps creux [4,5] = 1: Tap3 accepte temps creux [5.5, 10] = 2 : Tap4 accepte temps creux [6, 8] = 0 : Tap5 refuse temps creux [7, 9.5] = 1.5, mais Tap4 doit rester garantie : Tap6 refuse
Introduction aux systmes Temps Rels Ordonnancement 144

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Conclusion
on a vu comment ordonnancer "thoriquement" des tches ayant des contraintes temporelles de faon respecter ces contraintes ou minimiser les effets du non-respect, tout en ayant ventuellement des contraintes de prcdence et/ou de partage de ressources on va voir tudier maintenant les outils qui vont nous aider satisfaire ces contraintes

systmes d'exploitation outils de programmation


gestion des tches (cration, destruction, priorits, etc...) gestion du temps (alarmes, chronomtres, etc...) outils de communication (files de messages, mmoire partage, etc...) outils de synchronisation (smaphores, mutex, variables conditionnelles, etc...)

F. Touchard

Polytech Marseille IRM4 SICA 2012-13

Introduction aux systmes Temps Rels

Ordonnancement

145

TD

146

Vous aimerez peut-être aussi