Você está na página 1de 157

Ordonnancement

Temps Rel

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

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

valider a priori la possibilit d'excuter l'application en


respectant ces contraintes

permettre le respect de ces contraintes, lorsque l'excution


se produit dans un mode courant

permettre de borner les effets d'incidents ou de surcharges

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

Caractristiques des tches (1)


r

: date de rveil
moment du dclenchement de la 1re requte d'excution
C

: dure d'excution maximale (capacit)

: dlai critique

dlai maximum acceptable pour son excution

: priode (si tche priodique)

= r+D : chance (si tche contraintes strictes)

tche

priodique : rk = r0 + k*P

si D = P, tche chance sur requte

D
t
r0
F. Touchard

C
Introduction aux systmes Temps Rels

d0

r1

INFO4 SICA 2015-16

d1
Ordonnancement

r2
3

Caractristiques des tches (2)


paramtres

statiques

U = C/P : facteur d'utilisation du processeur

CH = C/D : facteur de charge du processeur

paramtres

dynamiques

s : date du dbut de l'excution

e : date de la fin de l'excution

P
P
D(t) = d-t : dlai
critique rsiduel la date
t (0 D(t) D)

D(t)

t
r0

F. Touchard

Introduction aux systmes Temps Rels

d0

r1

INFO4 SICA 2015-16

d1

Ordonnancement

r2

Caractristiques des tches (2)


paramtres

statiques

U = C/P : facteur d'utilisation du processeur

CH = C/D : facteur de charge du processeur

paramtres

dynamiques

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)

P
P
C(t) : dure C(t)
d'excution rsiduelle la date t (0 C(t) C)

t
r0

F. Touchard

Introduction aux systmes Temps Rels

d0

r1

INFO4 SICA 2015-16

d1

Ordonnancement

r2

Caractristiques des tches (2)


paramtres

statiques

U = C/P : facteur d'utilisation du processeur

CH = C/D : facteur de charge du processeur

paramtres

dynamiques

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

retard maximum
pour son dbut d'excution s (si elle est seule)
L
t

r0
F. Touchard

d0
Introduction aux systmes Temps Rels

r1

INFO4 SICA 2015-16

d1
Ordonnancement

r2
6

Caractristiques des tches (2)


paramtres

statiques

U = C/P : facteur d'utilisation du processeur

CH = C/D : facteur de charge du processeur

paramtres

dynamiques

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

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

L(t)

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

retard maximum pour reprendre l'excution

r0

F. Touchard

d0

Introduction aux systmes Temps Rels

r1

INFO4 SICA 2015-16

Ordonnancement

d1

r2
7

Caractristiques des tches (2)


paramtres

statiques

U = C/P : facteur d'utilisation du processeur

CH = C/D : facteur de charge du processeur

paramtres

dynamiques

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

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

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

retard maximum pour reprendre l'excution

TR = e - r : temps de rponse de la tche

CH(t) = C(t)/D(t) : charge rsiduelle (0 CH(t) C/P)

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

Caractristiques des tches (3)


premptibles

ou non

dpendance

ou indpendance

ordre partiel prdtermin ou induit

partage de ressources

priorit

externe

ordonnancement hors ligne dtermin la conception

gigue

(jitter) maximale

variation entre la requte et le dbut de l'excution

urgence

chance

importance

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

tats d'une tche

Courante

f
Bloque

Prte

f
Inexistante

f
Passive

f : abandon de la requte pour cause de faute temporelle

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

10

Dfinitions
configuration

: ensemble de n tches mises en jeu par

l'application
facteur d'utilisation du processeur

doit toujours tre infrieur ou gal 1

facteur de charge

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

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

LP(t) = min(LCi(t))

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

11

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

12

Typologie des algorithmes


en

ligne ou hors ligne

choix dynamique ou prdfini la conception

premptif

ou non premptif

une tche peut perdre le processeur (au profit d'une tche plus
prioritaire) ou non

algorithme premptif toutes les tches premptibles

stratgie

du meilleur effort ou inclmence

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

centralis

F. Touchard

ou rparti

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

13

Plan du cours
ordonnancement

des tches indpendantes

ordonnancement

des tches dpendantes

partage de ressources

contraintes de prcdence

ordonnancement

F. Touchard

en cas de surcharge

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

14

Ordonnancement des
tches indpendantes

15

Introduction
tches

indpendantes :

pas de partage de ressources

pas de contraintes de prcdence

cas

des algorithmes en ligne

dynamique

sur la base d'une priorit dfinie

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

16

tches priodiques

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

17

Rate Monotonic Analysis (RMA)


algorithme
bas

priorit constante

sur la priode (tches chance sur requte) :

la tche de plus petite priode est la plus prioritaire

test

d'acceptabilit (condition suffisante)

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%
on

peut montrer que RMA est un algorithme optimal :

une configuration qui ne peut pas tre ordonnance par RMA ne


pourra pas tre ordonne par un autre algorithme priorit fixe

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

18

Rate Monotonic Analysis (RMA)


exemple

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

Prio2 > Prio3 > Prio1

or
d

T1
0

on

na
n

ab

le

20

T2

T3

F. Touchard

Introduction aux systmes Temps Rels

10

12

10

12

9 10

12

INFO4 SICA 2015-16

15

17

14

14 15
Ordonnancement

20

20

17

20
19

Deadline Monotonic Analysis (DMA)


algorithme
bas

priorit constante

sur le dlai critique :

la tche de plus petit dlai critique est la plus prioritaire

test

d'acceptabilit (condition suffisante)

quivalent

RMA dans le cas des tches chance sur


requte, meilleur dans les autres cas

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

20

Deadline Monotonic Analysis (DMA)


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=9, P=10)

fa
Prio2 > Prio1 > Prio3

ut

vo
ir

...

T1
0

20

T2
4

9 10

12

14 15

9 10

12

14

17

19 20

T3
0

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

19 20

21

Earliest Deadline First (EDF)


algorithme
bas

priorit variable ou dynamique

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

test

d'acceptabilit

condition ncessaire

condition suffisante

on

peut montrer que EDF est un algorithme optimal pour les


algorithmes priorit dynamique
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

22

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)

<1
>1

ch
r
T1
0

on
og

9 10

10

ra

mm

20

T2
4

12

14 15

17

19 20

T3
0
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

12

14
Ordonnancement

18

20
23

Exercice
soit

une configuration avec 2 tches chance sur


requte :
T1 :

(r0 = 0, C1 = 2, P1 = 5)
T2 : (r0 = 0, C2 = 4, P2 = 7)
intervalle

d'tude ?

la

configuration est-elle ordonnanable avec RMA ?


Justifiez votre rponse.
mme

question avec EDF

tracer

les chronogrammes en indiquant les ventuelles


fautes temporelles

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

24

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

25

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=7
0
1
2
3
4
5
6
L21 = 0
7-3L32=
3,
2,
1,
==4,
2,1
4LL23 == 4-2
3
2
5 = 2, L3 = 8-2 = 6

T1
0

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

4 5

9 10

11 12 13 14 15 16 17 18 19 20

T2

T3

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

26

Traitement des tches apriodiques

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

27

Introduction
tches

prises en compte dans une configuration comprenant dj


des tches priodiques critiques
les tches apriodiques peuvent tre critiques (contrainte stricte) ou
non (contrainte relative)

priori, on ne connat pas l'instant d'arrive de la requte de rveil


de la tche apriodique
besoin d'une hypothse sur le taux d'arrive maximal des requtes

les tches apriodiques dont le taux d'arrive est born


suprieurement sont dites sporadiques

la charge due aux tches apriodiques est borne

on peut garantir la rponse

si le taux d'arrive n'est pas born : pas de garantie possible

mais garantie ventuelle au cas par cas

test d'acceptance pour les tches apriodiques critiques (fermes)

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

28

Introduction
buts

atteindre :

si contraintes relatives : minimiser le temps de rponse

si contraintes strictes : maximiser le nombre de tches


acceptes en respectant leurs contraintes

grandes catgories de traitement

traitement en arrire-plan

traitement par serveurs

beaucoup d'tudes d'algorithmes

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

29

Tches apriodiques
contraintes relatives

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

30

Traitement d'arrire-plan (1)


tches

apriodiques ordonnances quand le processeur

est oisif
les tches priodiques restent les plus prioritaires (tches
critiques)

ordonnancement

relatif des tches apriodiques en mode

FIFO
premption

des tches apriodiques par les tches

priodiques
traitement

le plus simple, mais le moins performant


Tches priodiques

RM

Queue haute priorit

Tches apriodiques

CPU
premier arriv
premier servi

Queue basse priorit


F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

31

Traitement d'arrire-plan (2)


ordonnancement

RMA des tches priodiques

exemple

Tp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10)


Ta3
Tp1

Tp2

(r=3, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

Temps creux

Tches apriodiques

Ta3
F. Touchard

Introduction aux systmes Temps Rels

10

12

10

12

15

17

14

20

10

14 15

17

10 11

14 15

17

Ta4
INFO4 SICA 2015-16

20

20

19

Ta5
Ordonnancement

32

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 (RMA)

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

33

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 (amlioration du temps de
rponse)

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

34

Traitement par serveur par scrutation (2)


exemple

de serveur par scrutation (ordonnancement RMA)

2 tches priodiques : Tp1 (r0=0, C=3, P=20) Tp 2 (r0=0, C=2, P=10)

serveur : Tps (r0=0, C=2, P=5)

Tp1
Tp2

Tps

F. Touchard

Introduction aux systmes Temps Rels

20

10

12

10 11

12

INFO4 SICA 2015-16

14

20

15

Ordonnancement

17

20

35

Traitement par serveur par scrutation (3)


exemple

de serveur par scrutation (ordonnancement RMA)

2 tches priodiques : Tp1 (r0=0, C=3, P=20) Tp 2 (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
0

20

Tp2

Tps

Capacit

2
1
0

F. Touchard

Ta3
capacit
perdue

Introduction aux systmes Temps Rels

10

12

10 11

12

Ta4

INFO4 SICA 2015-16

14

20

15

17

20

Ta5 Tches apriodiques

Ordonnancement

36

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

37

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

38

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
RA : montant de la rcupration effectuer RT

calcule l'instant tI o le serveur devient inactif ou que la


capacit est puise

gal la capacit consomme pendant l'intervalle [t A, tI]

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

39

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

Tps

2
1
0

20

Ta3

10

12

Introduction aux systmes Temps Rels

14

11 12

Ta4

5
F. Touchard

10

Capacit

20

15

Tches apriodiques

Ta5

10

INFO4 SICA 2015-16

12

16

15
Ordonnancement

20
40

Exercice
2

tches priodiques + 1 serveur sporadique

Tp1 : t1 = 0, C1 = 1, T1 = 5

Tp2 : t2 = 0, C2 = 4, T2 = 15

SS : Cs = 5, Ts = 10

tches

apriodiques :

Ta1 : ta1 = 4, Ca1 = 2

Ta2 : ta2 = 8, Ca2 = 2

ordonnancement

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

41

Tches apriodiques
contraintes strictes

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

42

introduction
les

algorithmes prcdents restent possibles

mais

excution d'un test d'acceptance avant l'acceptation


ou le rejet de la tche :
suffisamment de temps CPU disponible (processeur oisif ou
capacit serveur disponible) avant l'chance de la tche
apriodique

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

43

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.

politiques d'acceptation dynamique :

acceptation dans les temps creux

ordonnancement conjoint

favorise

F. Touchard

les tches priodiques

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

44

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

45

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)

Tp1
Tp2

2
2

Tp3

5
4

0
Temps creux

0
Tches apriodiques
0

10
10

8
4

Ta4

F. Touchard

20

Introduction aux systmes Temps Rels

14

15

17

12 13

10
10

12

11

Ta5

INFO4 SICA 2015-16

19
18

13

15

13
Ta6

17

15 16

Ordonnancement

17

20
20

20
18

46

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)

Tp1
Tp2

2
2

Tp3

5
4

0
Temps creux

20
8
8

0
Tches apriodiques
0

10
10

8
4

Ta4

F. Touchard

Introduction aux systmes Temps Rels

12

15

17

12 13

10
10

14

11

Ta5

INFO4 SICA 2015-16

18

13

19

15

13

15

17
16 17

20
20

20
18

Ta6

Ordonnancement

47

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

48

ordonnancement conjoint (2)


exemple

Tp1 (r0=0, C=3, D=7, P=20), Tp 2 (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 0

2
2

Tp3

5
4

5 6
5 6

20
8

9 10

10

8
Ta5

10 11

15

12

17

19 20

12 13 14 15

18

13 14

18

20

Tches apriodiques
0

4
Ta4

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

49

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)

Tp1
Tp2 0

2
2

Tp3

5
4

5 6

5 6

20
8

9 10

10

15

12

12 13 14 15

17

19 20
18

20

Tches apriodiques
0

4
Ta4

F. Touchard

Introduction aux systmes Temps Rels

8
10 11 12 13 14
Ta5
Ta6
INFO4 SICA 2015-16

Ordonnancement

18

50

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)

Tp1
Tp2 0

2
2

Tp3

5
4

5 6

5 6

20
15

9 10

12

10

10 11 12 13 14

12 13 14 15

17

19 20
18

20

Tches apriodiques
0

4
Ta4

F. Touchard

Introduction aux systmes Temps Rels

Ta5

18

Ta6

INFO4 SICA 2015-16

Ordonnancement

51

Ordonnancement
de tches
dpendantes

52

Plan
types

de contraintes tudies

contraintes de prcdence

contraintes lies au partage de ressources critiques

prsentation
algorithmes
tude

F. Touchard

et illustration des contraintes

pour les ordonnancer

de cas : la mission Pathfinder sur Mars (TD)

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

53

Prsentation des contraintes

54

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

Ta < Tb indique que la tche Ta est un prdcesseur de Tb

Ta Tb indique que la tche Ta est un prdcesseur


immdiat de Tb
T1

T2

T4

F. Touchard

Introduction aux systmes Temps Rels

T3

T5

INFO4 SICA 2015-16

Ordonnancement

55

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

Ta < Tb indique que la tche Ta est un prdcesseur de Tb

Ta Tb indique que la tche Ta est un prdcesseur


immdiat de Tb
T1

T2

T3

T1 < T2
T1 T2
T1 < T4

T4

F. Touchard

Introduction aux systmes Temps Rels

T5

INFO4 SICA 2015-16

T1 T4
Ordonnancement

56

Contraintes de prcdence (3)


exemple : reconnaissance de formes

camra
stroscopique

objets dfilants
sur un tapis roulant

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

systme
acq1
d'acquisition
et de traitement

acq2

image1

image2

diff

forme

hauteur

reconn

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

57

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

58

Partage de ressources (2)


phnomnes

de blocage et d'inversion de priorit


Demande

Libre

T1

Demande

Libre

T2
Priorit(T1) > Priorit(T2)
Excution normale
Section critique

le dlai impos par T2 T1 est normal

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

59

Partage de ressources (3)


phnomnes

de blocage et d'inversion de priorit


Demande

Libre

T1

T3
Demande

Libre

T2

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


Excution normale
Section critique

le dlai supplmentaire apport T1 par T3 est d au


phnomne d' inversion de priorit

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

60

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

61

Quelques anomalies d'ordonnancement


exemple

9 tches de priorits dcroissantes


(Prio(Ji) > Prio(Jj)) i > j

contraintes de prcdence et temps d'excution :

J1 (3)

J9 (9)
J8 (4)

J2 (2)
J3 (2)

J4 (2)

F. Touchard

Introduction aux systmes Temps Rels

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

INFO4 SICA 2015-16

Ordonnancement

62

Quelques anomalies d'ordonnancement


J (3)
ordonnancement optimal sur un systme 3 processeurs

J2 (2)
J3 (2)

P1
P2
P3

J1
J2

J9
J4

J3

J5

J7

J6

J8

0 1 2 3 4 5 6

J4 (2)

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

7 8 9 10 11 12 13 14 15 16 17 18

sur un systme 4 processeurs :

P1

J1

J8

P2

J2

J5

P3

J3

J6

P4

J4

J7

0 1 2 3 4 5 6
F. Touchard

Introduction aux systmes Temps Rels

J9

7 8 9 10 11 12 13 14 15 16 17 18
INFO4 SICA 2015-16

Ordonnancement

63

Quelques anomalies d'ordonnancement


ordonnancement optimal sur un systme
3 processeurs

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

P1
P2
P3

J1
J2

J9
J4

J3

J5

J7

J6

J8

0 1 2 3 4 5 6

J4 (2)

en rduisant d'une unit le temps de calcul des


tches
J (2)
1

J1

P2 J2 J4
P3 J3

J5
J6

F. Touchard

J8

J2 (1)

J9

J3 (1)

J7

0 1 2 3 4 5 6
Introduction aux systmes Temps Rels

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

7 8 9 10 11 12 13 14 15 16 17 18

P1

J9 (9)

J4 (1)

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

7 8 9 10 11 12 13 14 15 16 17 18
INFO4 SICA 2015-16

Ordonnancement

64

Quelques anomalies d'ordonnancement


ordonnancement optimal sur un systme
3 processeurs

P1
P2
P3

J1
J2
J3

J5

J7

J6

J8

0 1 2 3 4 5 6

J2 (2)
J3 (2)

J9
J4

J1 (3)

J4 (2)

en supprimant quelques relations de


prcdence
P2
P3

J1
J2
J3

J8
J4

J9

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

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

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

J5
J7

0 1 2 3 4 5 6
F. Touchard

J8 (4)

7 8 9 10 11 12 13 14 15 16 17 18

P1

J9 (9)

Introduction aux systmes Temps Rels

J6
7 8 9 10 11 12 13 14 15 16 17 18
INFO4 SICA 2015-16

Ordonnancement

65

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

J1
J3
0 1 2 3 4 5 6

J2
J4

J5

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

si on rduit le temps d'excution de J1

P1
P2

J1
J3
0 1 2 3 4 5 6

F. Touchard

J2
J4

J5

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

66

Algorithmes d'ordonnancement

Contraintes de prcdence
ici,

seulement prcdence simple


si T est priodique de priode P , alors T l'est aussi et P = P
i
i
j
j
i
principe

de l'tablissement de l'ordonnancement :
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
si T T alors la rgle de transformation doit respecter
i
j
r

ri

Prioi >

Prioj

validation de l'ordonnanabilit selon des critres utiliss pour


des tches indpendantes

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

68

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* = Max{r , r* } pour tous les j tels que T T
i
i
j
j
i
si Ti Tj alors Prioi > Prioj dans le respect de la rgle d'affectation
des priorits par RMA

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

69

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* = Max{r , r* } pour tous les j tels que T T
i
i
j
j
i
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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

70

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* = Max{r , Max{r* + C }} pour tous les j tels que T T
j
j
i
i
i
j

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

71

Contraintes de prcdence
exemple
T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Tche

ri

Ci

di

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

72

Contraintes de prcdence
exemple
T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Tche

ri

Ci

di

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Earliest
Deadline
r*i

d*i

Ordonnancement

73

Contraintes de prcdence
exemple

T1 n'a pas de prdcesseur


r*1 = 0

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

74

Contraintes de prcdence
exemple

T2 n'a pas de prdcesseur


r*2 = 5

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

75

Contraintes de prcdence
exemple

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

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

76

Contraintes de prcdence
exemple
T3

T1

T5

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

T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

77

Contraintes de prcdence
exemple
T3

T1

T5

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

T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

78

Contraintes de prcdence
exemple

T5 n'a pas de successeur


d*5 = 12

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

12

Ordonnancement

79

Contraintes de prcdence
exemple

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

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

80

Contraintes de prcdence
exemple

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

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

81

Contraintes de prcdence
exemple

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

T3

T1

T5
T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

d*i

Ordonnancement

82

Contraintes de prcdence
exemple
T3

T1

T5

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

T4

T2

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

d*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

83

Contraintes de prcdence
T

exemple

10 11

12

10 11

12

10 11

12

10 11

12

10 11

12

T3

T1

T5
T4

T2

T
T

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

d*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

84

Contraintes de prcdence
T

exemple

10 11

12

10 11

12

10 11

12

10 11

12

10 11

12

T3

T1

T5
T4

T2

T
T

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

d*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

85

Contraintes de prcdence
T

exemple

10 11

12

10 11

12

10 11

12

10 11

12

10 11

12

T3

T1

T5
T4

T2

T
T

Paramtres des tches

F. Touchard

Earliest
Deadline

Tche

ri

Ci

di

r*i

d*i

T1

T2

T3

T4

10

T5

12

12

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

86

Partage de ressources critiques


une ressource critique ne peut
tre utilise simultanment par plusieurs tches
tre rquisitionne par une autre tche
notion de section critique
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
abondante littrature !

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

87

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 deTpartage
de ressource commune :
1
T2
T3
T4

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

88

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

R1

T2
T3

R1

R1

T4

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

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

89

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 T , T , ... , T (priode P , capacit C )
1
2
n
i
i
chance sur requte
partageant m ressources R , R , ... , R
1
2
m
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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

90

Hritage de priorit
dfinition

du protocole d'hritage de priorit


les tches sont ordonnances suivant leur priorit active
quand une tche T cherche entrer dans une section
i
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 z k,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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

91

Hritage de priorit
exemple

sans hritage de priorit

R1

T1
T2

R1

T3

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

92

Hritage de priorit
exemple

sans hritage de priorit

R1

Blocage
Blocage
direct
direct

T1
T2

R1

T3

Blocage
Blocage
indirect
indirect

R1

avec
T1 hritage de priorit
T2

R1

T3
p3
P1
P3
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

93

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 :

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

94

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
T

Ra

Rb

T1
Rb

Ra

T2
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

wait (Sa)
wait (Sb)
signal (Sb)
signal (Sa)
Ordonnancement

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

Priorit plafonne
introduit

la fin des annes 80 pour rsoudre le


problme d'inversion de priorit tout en prvenant
loccurrence 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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

96

Priorit plafonne
dfinition

du protocole
on attribue chaque smaphore S une priorit plafond
k
C(Sk) gale la plus haute priorit des tches susceptibles
de l'acqurir
soit T la tche prte de plus haute priorit : l'accs au
i
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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

97

Priorit plafonne
quand une tcheTi est bloque sur l'acquisition d'un
smaphore, elle transmet sa priorit la tche Tk qui
possde le smaphore (hritage par Tk de la priorit de Ti)

quand Tk sort de la section critique, elle libre le smaphore


et la tche de plus haute priorit bloque sur le smaphore
est rveille. La priorit active de Tk est modifie :

si Tk ne bloque aucune autre tche, elle revient sa priorit


nominale
sinon, T prend la priorit la plus leve des tches qu'elle
k
bloque
l'hritage de priorit est transitif : si T bloque T et T
3
2
2
bloque T1, alors J3 rcupre la priorit de T1 via T2

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

98

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

les priorits plafond sont :


C(S ) = P
0
0

C(S1) = P0

C(S2) = P1

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

99

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

100

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t1, T1 est active et prempte T2

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

101

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

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

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

102

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t3, T2 demande et obtient le smaphore S1 , car aucune


autre tche ne dtient de ressource

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

103

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t4 T0 est rveille et prempte T2

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

104

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

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

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

105

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t6, T2 relche S1. T0 est rveille et peut alors prempter


T2 et acqurir S0 puisque la priorit plafond de S2 (seul
smaphore encore pris) est gale P1
La priorit p2 de T2 est ramene P1, plus haute priorit des
tches bloques par T2

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

106

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

107

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

t8, T0 se termine. T2 peut reprendre son excution,


toujours avec la mme priorit P1

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

108

Priorit plafonne
R0
T0

S0

R2

T1

R2
S2

T2

R1

R1

S1
S2

R1

S2 S1

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

S1

S2

p2
P0
P1
P2
t0

t1 t2

t3

t4

t5

t6

t7

t8 t9

t10

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

109

Priorit plafonne
on

a le mme critre d'ordonnanabilit par RMA que dans


le cas du protocole d'hritage de priorit

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

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

110

exercice
tches avec demandes de ressources imbriques

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

111

exemple : la mission Pathfinder

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

112

Ordonnancement en
situations de surcharge

113

Plan
notions

lies la surcharge

dfinitions

mtrique

schmas

d'ordonnancement

classes d'algorithmes

tches priodiques

tches quelconques

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

114

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

115

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

116

Notion de surcharge
effet

"domino" d l'arrive d'une tche supplmentaire


dans un ordonnancement EDF
C=2
Bo
um

C=4

Bo
um

C=4

Bo
um

C=1,5

Introduction aux systmes Temps Rels

!
Bo
um

C=1,5

F. Touchard

INFO4 SICA 2015-16

Ordonnancement

117

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 :

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)

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

118

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)
t=3
1(3)=2/3

J1

J2

2(3)=3/4

J3

3(3)=4/6
0

(3)=3/4
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

119

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

120

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)

v(fi)
non temps rel

mou
fi

v(fi)

fi
v(fi)

ferme

dur
fi

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

fi
Ordonnancement

121

Notion de surcharge
valuation
o

de la performance d'un algorithme par

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

en

conditions de surcharge, la qualit d'un algorithme A se


mesure en comparant A max
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

122

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

123

Tches priodiques
pas

d'arrive dynamique de nouvelles tches

dures
2

d'excutions variables, non forcment bornables

politiques prsentes :

mthode du mcanisme chance

mthode du calcul approch

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

124

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

125

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

politique de la Seconde Chance :

primaires excuts avant les secondaires

secondaires excuts plus tard

si le primaire russit, le secondaire n'est pas excut

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

126

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

127

Tches quelconques
modle

canonique des tches insuffisant, bas sur

urgence dlai critique

un

nouveau paramtre est ncessaire:

importance, codant le caractre primordial de la tche dans


l'application

dfinition subjective (cahier des charges)

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

128

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

classes de politiques pour dcider l'acceptation (ou le


rejet) des nouvelles tches :
meilleur effort

avec garantie

robuste

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

129

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

F. Touchard

toujours accepte

Introduction aux systmes Temps Rels

Queue des
tches prtes

INFO4 SICA 2015-16

en cours

Ordonnancement

130

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
accepte
test
Queue des
tche
en cours

d'acceptabilit

tches prtes

rejete

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

131

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

132

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
politique
de recyclage

F. Touchard

Introduction aux systmes Temps Rels

Planning
Queue des
tches rejetes

INFO4 SICA 2015-16

Queue des
tches prtes

en cours

politique
de rjection

Ordonnancement

133

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

= {Ti(t, Ci(t), di)}


di < dj si i<j

tches actives t, classes par


ordre dcroissant d'chance

surcharge dtecte quand LP(t) <0

tches fautives LCi(t) < 0

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

134

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

135

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

136

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

137

Stabilisation de l'importance (3)


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

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

138

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

139

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

F. Touchard

Introduction aux systmes Temps Rels

Modes normaux
non supprims
Modes de survie

INFO4 SICA 2015-16

ordonnanceur
Earliest Deadline First
critre : urgence

Ordonnancement

140

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

141

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 d ni
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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

142

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 C i

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

143

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 : E = max (0, -(L + M ))
i
i
i
le temps de dpassement maximal : Emax = max(Ei)

un

ordonnancement sera

faisable ssi Li 0 pour toutes les tches

tolrant ssi il existe des Li < 0 mais que Emax = 0

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

144

Optimisation de la somme des importances


test

d'acceptance pour la tche J new

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

145

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

146

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)

tches apriodiques

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)

ordonnances
T(t)
d

par EDF

est la configuration des tches actives l'instant t

est la date de l'chance

(ne pas confondre avec le dlai critique D)


F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

147

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

Tp1

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

Tp2

C=3, D=4,
P=5, Imp=1
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

148

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

Tp1

5.5 6

9.5 10

Tap3

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

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

Tp2

C=3, D=4,
P=5, Imp=1
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

149

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

Tp1

5.5 6

9.5 10

Tap3

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

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

Tp2

C=3, D=4,
P=5, Imp=1
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

150

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

Tp1

Tap3

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

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

5.5 6

9.5 10

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

Tp2

C=3, D=4,
P=5, Imp=1
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

151

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(Tap ) = 8 6 1 = 1
5
L(Tp ) = 9 6 1 2 =0
2
L(Tap ) = 10 6 1 2 1 = 0
4
pas de surcharge, Tap prempte Tp
5
2

Tp1

Tap3

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

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

5.5 6

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

9.5 10

Tap5

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

Tp2

C=3, D=4,
P=5, Imp=1
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

152

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

153

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

Tp1

Tap3

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

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

5.5 6

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

Tap5

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

9.5 10

Tap6

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

Tp2

C=3, D=4,
P=5, Imp=1
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

154

exemple
si

on avait utilis un simple algorithme routine de garantie

4
Tp1

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


Imp=3

5.5 6

Tap3

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


Imp=1

9.5 10

Tap5

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


Imp=4

Tp2

Tap4

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


Imp=5

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 : Tap accepte
4
temps creux [6, 8] = 0 : Tap refuse
5
temps creux [7, 9.5] = 1.5, mais Tap doit rester garantie :
4
Tap6 refuse

F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

155

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

supports physiques de communication (bus de terrain)

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

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

156

RTOS
F. Touchard

Introduction aux systmes Temps Rels

INFO4 SICA 2015-16

Ordonnancement

157

Você também pode gostar