Académique Documents
Professionnel Documents
Culture Documents
=
=
N
i
i
i
T
c
U
1
Vrification : Critres analytiques
20/10/2013 Ben Fradj Hanene 27
Vrification : Critres analytiques
1.Ordonnancement RM :
pour que N tches soient ordonnanables
Condition suffisante (CS)
Si condition vrifie avec C
i
= WCET
i
de la tche alors la condition est
vrifie avec C
i
< WCET
i
sapplique aussi quand les tches ne sont pas synchrones
Pour 3 tches: U 0,779
Pour n tches U (N : U 0,69
20/10/2013 Ben Fradj Hanene 28
Exercice: ces trois tches sont elles ordonnanables
selon la technique RM ?
T1 (r0 = 0, C=3, P=20),
T2 (r0 = 0, C=2, P=5),
T3 (r0 = 0, C=2, P=10)
Vrification : Critres analytiques
20/10/2013 Ben Fradj Hanene 29
2. Ordonnancement DM :
pour que N tches soient ordonnanables
Condition suffisante (CS)
|
.
|
\
|
s =
=
1 2
1
1
N
N
i
i
i
N
D
c
U
Vrification : Critres analytiques
20/10/2013 Ben Fradj Hanene 30
Exercice: ces trois tches sont elles ordonnanables
selon la technique DM (meme 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)
Vrification : Critres analytiques
20/10/2013 Ben Fradj Hanene 31
3. Ordonnanancement EDF et LL
Vrification : Critres analytiques
20/10/2013 Ben Fradj Hanene 32
Vrification : Critres analytiques
Exemple
20/10/2013 Ben Fradj Hanene 33
Exercice: ces trois tches sont elles ordonnanables selon la
technique EDF ?
T1 (r0 = 0, C=3, D=7, P=20),
T2 (r0 = 0, C=2, D=4, P=5),
T3 (r0 = 0, C=1, D=8, P=10)
Vrification : Critres analytiques
20/10/2013 Ben Fradj Hanene 34
Response time analysis (RTA, analyse de temps de
rponse)
Applicable pour tous les ordonnancements priorit
statique, quel que soit lassignation des priorits (RM,
DM, autre)
Condition ncessaire et suffisante
Vrification : Pire temps de rponse
20/10/2013 Ben Fradj Hanene 35
Vrification : Pire temps de rponse
20/10/2013 Ben Fradj Hanene 36
Vrification : Pire temps de rponse
20/10/2013 Ben Fradj Hanene 37
Algorithme de calcul des Ri (itratif)
Quand la srie converge, on a calcul le temps de
rponse Ri
Le systme est ordonnanable quand Ri Di
Vrification : Pire temps de rponse
20/10/2013 Ben Fradj Hanene 38
Vrification : Pire temps de rponse
Exercice: ces trois tches sont
elles ordonnanables selon cette
technique dordonnancement ?
20/10/2013 Ben Fradj Hanene 39
Vrification : Pire temps de rponse
20/10/2013 Ben Fradj Hanene 40
Vrification : Pire temps de rponse
temps de rponse de la tche
temps de rponse de la tche
temps de rponse de la tche
Les ordonnancements
priorits: Plan
Caractristiques des tches temps rel
Ordonnancement premptif priorit fixe
Rate Monotonic (RM)
Deadline Monotonic (DM)
Ordonnancements premptif priorit dynamique
Earliest deadline first (EDF)
Vrification dordonnanabilit
Ordonnancement de tches apriodique
Ordonnancement de tches en prsence de ressources
partages
20/10/2013 Ben Fradj Hanene 42
Ordonnancement des tches
apriodique
se distinguent des tches priodiques par le fait
que l'on ne connat pas l'instant d'arrive de la
requte de rveil
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
2 grandes catgories de traitement
traitement en arrire-plan
traitement par serveurs
20/10/2013 Ben Fradj Hanene 43
Tches apriodiques contraintes
relatives
traitement d'arrire-plan
le plus simple, mais le moins performant
tches apriodiques ordonnances quand le
processeur est oisif
si plusieurs tches attendent, elles sont
traites en mode FIFO
20/10/2013 Ben Fradj Hanene 44
Tp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10)
Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)
Tches apriodiques contraintes
relatives
exemple de traitement d'arrire-plan
20/10/2013 Ben Fradj Hanene 45
Traitement par serveur
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
Tches apriodiques contraintes
relatives
20/10/2013 Ben Fradj Hanene 46
Serveurs par scrutation (polling)
chaque activation, traitement des tches
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
Tches apriodiques contraintes
relatives
20/10/2013 Ben Fradj Hanene 47
exemple de serveur par scrutation (ordonnancement RM)
2 tches priodiques : Tp
1
(r0=0, C=3, P=20) Tp
2
(r0=0, C=2, P=10)
serveur : Tp
s
(r0=0, C=2, P=5)
tches apriodiques : Ta
3
(r=4, C=2), Ta
4
(r=10, C=1), Ta
5
(r =11, C=2)
Tches apriodiques contraintes
relatives
20/10/2013 Ben Fradj Hanene 48
2 approches :
les traiter comme de tches priodiques avec une
pseudo-priode reprsentant l'intervalle minimal entre
2 occurrences
utilis dans le cas RM
mais difficile d'valuer la pseudo-priode
engendre une sous-utilisation du processeur
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 non, refuser la
tche.
2 politiques d'acceptation dynamique
favorise les tches priodiques
Tches apriodiques contraintes
strictes
20/10/2013 Ben Fradj Hanene 49
acceptation dans les temps creux d'une squence rigide
de tches
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):
1) teste l'existence d'un temps creux suffisant entre le rveil et
l'chance de la tche apriodique)
2) 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
Tches apriodiques contraintes
strictes
20/10/2013 Ben Fradj Hanene 50
Tches apriodiques contraintes
strictes
exemple de l'acceptation dans les temps creux
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)
Les ordonnancements
priorits: Plan
Caractristiques des tches temps rel
Ordonnancement premptif priorit fixe
Rate Monotonic (RM)
Deadline Monotonic (DM)
Ordonnancements premptif priorit dynamique
Earliest deadline first (EDF)
Vrification dordonnanabilit
Ordonnancement de tches apriodique
Ordonnancement de tches en prsence de ressources
partages
20/10/2013 Ben Fradj Hanene 52
une ressource critique ne peut:
tre utilise simultanment par plusieurs tches
tre rquisitionne par une autre tche
accs en exclusion mutuelle
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
Ordo. en prsence de ressources partages
20/10/2013 Ben Fradj Hanene 53
ordonnancement premptif : ajout dun protocole de gestion des
ressources
1. phnomne dinterblocage (deadlock)
Ordo. en prsence de ressources partages
20/10/2013 Ben Fradj Hanene 54
Ordo. en prsence de ressources partages
2. phnomne dinversion de priorit
phnomne d la prsence simultane de priorits fixes et de
ressources accs exclusif dans un environnement premptif
Inversion de priorit non prvu entre T1 et T3 peut engendrer un non respect
dchances (grave si temps rel stricte)
20/10/2013 Ben Fradj Hanene 55
le problme de lordonnancement de tches priodiques
en prsence de ressources critiques est NP-difficile.
il nexiste pas d algorithme dordonnancement en ligne
optimal
Protocole hritage de priorit,
Protocole priorit plafonne
Ordo. en prsence de ressources partages
20/10/2013 Ben Fradj Hanene 56
Ordo. en prsence de ressources partages
1. Protocole hritage de priorit, Priority Inheritance Protocol
- la tche qui possde la ressource critique prend (temporairement) la
prioritde la tche en attente de cette mme ressource, si prio() > prio()
20/10/2013 Ben Fradj Hanene 57
Proprits :
- ne prvient pas les interblocages
- permet dvaluer une borne suprieure (et
pessimiste) du temps de blocage au pire Bi des
tches
1. Protocole hritage de priorit, Priority Inheritance Protocol
Ordo. en prsence de ressources partages
20/10/2013 Ben Fradj Hanene 58
Ordo. en prsence de ressources partages
Dfinitions
Priorit plafond (priority ceiling) dune
ressource (R) = priorit maximale des
tches qui lutilisent
Priorit plafond courante (current priority
ceiling, ou ceiling) un instant t : (t) =
maximum des priorits plafond des
ressources utilises en t
2. Protocole priorit plafonne, Priority Ceiling Protocol
20/10/2013 Ben Fradj Hanene 59
Ordo. en prsence de ressources partages
2. Protocole priorit plafonne, Priority Ceiling Protocol
Principe
1. chaque ressource R possde une priorit plafond associe
(R) = max des priorits des tches susceptibles dy accder
2. une tche T ne peut accder une ressource R que si sa
priorit est suprieure aux priorits plafond des ressources
actuellement prises (t)
3. si la tche T bloque une tche T (plus prioritaire), T hrite
de la priorit de T
20/10/2013 Ben Fradj Hanene 60
Exemple :
prio T1 > prio T2 > prio T3
partage de R entre T1, T3,P(R)= prio T1
T2 utilise une ressource R, P(R)= prio T2
T3 commence son excution, rveil de T2 puis rveil de T1
Ordo. en prsence de ressources partages
T3
T2
T1
Prio
(t)
1
2
T3 retrouve sa
priorit nominale
T1 sexcute
(avant T2, moins
prio
Bloqu
bien que R
libre
T1 est bloqu
T3 hrite de la priorit de T1
20/10/2013 Ben Fradj Hanene 61
Proprits :
- prvient les interblocages
- permet dvaluer une borne suprieure (moins
pessimiste) du temps de blocage au pire Bi
des tches
2. Protocole priorit plafonne, Priority Ceiling Protocol
Ordo. en prsence de ressources partages
Exploration de Mars
Mission Pathfinder
(NASA - juillet 1997)
20/10/2013 Ben Fradj Hanene 63
La mission Pathfinder
sonde sur Mars, arrive le 4 juillet 1997
robot mobile Sojourner charg de
diffrentes tches:
Photos
relevs mto
prlvements
poids : 11.5kg
vitesse : 24m/h
puissance totale : 30W
liaison UHF avec la sonde Pathfinder
bug dans la gestion des ressources
critiques perte de donnes importantes
20/10/2013 Ben Fradj Hanene 64
Architecture matrielle
Processeur Mmoires
Sonde
Pathfinder
Interface 1 Interface 2
bus VME
Interface bus
bus 1553
interface 1 coupleur
interface 2 interface 3
interface 4
moteurs
vannes capteur
solaire
analyseur
toiles
bus 1553
interface 5
coupleur
interface 6 interface 7
acclromtre altimtre
enregistreur
mto (ASI/MET)
Robot mobile
Sojourner
camra
radio
Monoprocesseur
RS6000 (RISC de
IBM)
20/10/2013 Ben Fradj Hanene 65
Spcification fonctionnelle
le systme de gestion de la sonde communique
avec l'extrieur par:
la carte radio pour les liaisons avec la terre
la carte de liaison avec la camra
l'interface avec le bus 1553 pour les autres
capteurs/actionneurs
20/10/2013 Ben Fradj Hanene 66
Architecture logicielle
multitche gre par le noyau Vxworks (Wind
River)
25 tches
priodiques (ex. : gestion du bus 1553)
apriodiques (ex. : analyse des erreurs)
communication et synchronisation par des files de
messages
suivant les phases de la mission (vol
interplantaire, aterrissage, exploration par le
robot), toutes les tches ne sont pas utiles
20/10/2013 Ben Fradj Hanene 67
Caractristiques des tches
Liste des tches et priorits relatives :
20/10/2013 Ben Fradj Hanene 68
Architecture logicielle
Architecture en tches
20/10/2013 Ben Fradj Hanene 69
Utilisation du bus 1553
la gestion du bus est pilote par une horloge 8 Hz (125ms)
2 tches pour rguler le transfert des donnes
1. ORDO_BUS
priorit maximale
vrifie que le transfert des donnes a t
correctement effectu et prpare le transfert suivant
2. DISTRIBUTION_DONNES
2 me priorit
collecte les donnes sur le bus et les place dans la
mmoire tampon
20/10/2013 Ben Fradj Hanene 70
Caractristiques des tches
pour CMTO = 2, U=0.72 et pour CMTO = 3, U=0.725
analyse Rate Monotonic pourrait s'appliquer (URM=0.729),
mais partage de la ressource MMOIRE_TAMPON analyse dtaille
20/10/2013 Ben Fradj Hanene 71
Recherche dordonnacement
priode d'tude thorique : 5000ms
mais on peut se contenter d'tudier sur 250ms
en considrant que les tches MESURES et
MTO viennent de se terminer et en se mettant
sur la priode suivante
tude des cas CMTO = 2 et CMTO = 3
20/10/2013 Ben Fradj Hanene 72
: Tche sans ressource
: Tche avec ressource
Lgende des diagrammes de Gantt
R
R
: Demande de ressource
: Libration de ressource
Simulations
3.5. Exemple : Mission Mars
Pathfinder
20/10/2013 Ben Fradj Hanene 73
Diagramme d'excution des tches pour C
mto
= 2
inversion de priorit
inversion de priorit
R R
R R
D
I
S
T
R
I
B
U
T
I
O
N
D
O
N
N
E
E
S
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
O
R
D
O
B
U
S
T
A
C
H
E
R
A
D
I
O
T
A
C
H
E
C
A
M
E
R
A
T
A
C
H
E
M
E
S
U
R
E
S
T
A
C
H
E
M
E
T
E
O
: Tche sans ressource : Tche avec ressource
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
t
R
R
R R
R R
R R
R
R
R R
R R
R R
T
A
C
H
E
P
I
L
O
T
A
G
E
20/10/2013 Ben Fradj Hanene 74
alarme
R
R
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
t
?
inversion de priorit
inversion de priorit
R R
R R
R R R
R
R
R
D
I
S
T
R
I
B
U
T
I
O
N
D
O
N
N
E
E
S
O
R
D
O
B
U
S
T
A
C
H
E
R
A
D
I
O
T
A
C
H
E
C
A
M
E
R
A
T
A
C
H
E
M
E
S
U
R
E
S
T
A
C
H
E
M
E
T
E
O
T
A
C
H
E
P
I
L
O
T
A
G
E
Diagramme d'excution pour C
mto
= 3
20/10/2013 Ben Fradj Hanene 75
Les ordonnancements
priorits: Plan
Caractristiques des tches temps rel
Ordonnancement premptif priorit fixe
Rate Monotonic (RM)
Deadline Monotonic (DM)
Ordonnancements premptif priorit dynamique
Earliest deadline first (EDF)
Vrification dordonnanabilit
Ordonnancement de tches apriodique
Ordonnancement de tches en prsence de ressources partages
Ordonnancement de tches dpendantes
Ordonnancement de tches sur une architecture multiprocesseur
20/10/2013 Ben Fradj Hanene 77
Contraintes de prcdences
Contraintes de prcdence
sur l'ordre d'excution des tches les unes par
rapport aux autres
gnralement dcrites par un graphe
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
20/10/2013 Ben Fradj Hanene 78
Contraintes de prcdences
Contraintes de prcdence
sur l'ordre d'excution des tches les unes par
rapport aux autres
gnralement dcrites par un graphe
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
J1 J2
J1 < J4
J1 J4
20/10/2013 Ben Fradj Hanene 79
8 tches :
2 acquisitions
2 traitements image
analyse de forme
analyse des diffrences
calcul de hauteur
reconnaissance finale
Contraintes de prcdences
20/10/2013 Ben Fradj Hanene 80
Tches avec des contraintes de
prcdences
ici, seulement prcdence simple
si Ti est priodique de priode Pi, alors Tj l'est aussi et Pj = Pi
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 Ti Tj alors la rgle de transformation doit respecter
rj ri
Prioi > Prioj
validation de l'ordonnanabilit selon des critres utiliss pour
des tches indpendantes
20/10/2013 Ben Fradj Hanene 81
Ordonnancement de tches
dpendantes
Contraintes de prcdence et Deadline
Monotonic
la transformation s'opre hors ligne sur la
date de rveil et sur les chances
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 DM
20/10/2013 Ben Fradj Hanene 82
Ordonnancement de tches
dpendantes
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
20/10/2013 Ben Fradj Hanene 83
Ordonnancement de tches
dpendantes
Paramtres des tches Earliest
Deadline
tche ri Ci di ri* Di*
T1 0 1 5
T2 5 2 7
T3 0 2 5
T4 0 1 10
T5 0 3 12
T1
T5
T4
T3
T2
T1 na pas de prdcesseur
r1*=0
0
T2 na pas de prdcesseur
r2*=5
5
T3 a T1 pour prdcesseur
r*3 = Max(r3, r*1+C1)
= Max(0,1)
= 1
1
T4 a T1 et T2 pour prdcesseurs
r*4 = Max(r4, r*1+C1, r*2+C2)
= Max(0,1, 7)
= 7
7
T5 a T3 et T4 pour prdcesseurs
r*5 = Max(r5, r*3+C3, r*4+C4)
= Max(0, 3, 8)
= 8
8
20/10/2013 Ben Fradj Hanene 84
T1
T5
T4
T3
T2
T5 n'a pas de successeur
d*5 = 12
Paramtres des tches Earliest
Deadline
tche ri Ci di ri* Di*
T1 0 1 5
T2 5 2 7
T3 0 2 5
T4 0 1 10
T5 0 3 12
0
5
1
7
8 12
T4 a T5 pour successeur
d*4 = Min(d4, d*5-C5)
= Min(10, 9)
= 9
9
T3 a T5 pour successeur
d*3 = Min(d3, d*5-C5)
= Min(5, 9)
= 5
5
T2 a T4 pour successeur
d*2 = Min(d2, d*4-C4)
= Min(7, 8) = 7
7
T1 a T3 et T4 pour successeurs
d*1 = Min(d1, d*3-C3, d*4-C4)
= Min(5, 3, 8) = 3
3
Ordonnancement de tches
dpendantes
20/10/2013 Ben Fradj Hanene 85
Paramtres des tches Earliest
Deadline
tche ri Ci di ri* Di*
T1 0 1 5
T2 5 2 7
T3 0 2 5
T4 0 1 10
T5 0 3 12
0
5
1
7
8 12
9
5
7
3
Ordonnancement de tches
dpendantes
Les ordonnancements
priorits: Plan
Caractristiques des tches temps rel
Ordonnancement premptif priorit fixe
Rate Monotonic (RM)
Deadline Monotonic (DM)
Ordonnancements premptif priorit dynamique
Earliest deadline first (EDF)
Vrification dordonnanabilit
Ordonnancement de tches apriodique
Ordonnancement de tches en prsence de ressources partages
Ordonnancement de tches dpendantes
Ordonnancement de tches sur une architecture multiprocesseur
20/10/2013 Ben Fradj Hanene 87
Anomalie des ordonnancements
multiprocesseurs
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
20/10/2013 Ben Fradj Hanene 88
Anomalie des ordonnancements
multiprocesseurs
exemple
9 tches de priorits dcroissantes
contraintes de prcdence et temps d'excution :
1
2
3
4
9
8
7
6
5
(3)
(2)
(2)
(2)
(9)
(4)
(4)
(4)
(4)
Priorit tche i > Priorit tche j (pour i<j)
20/10/2013 Ben Fradj Hanene 89
Anomalie : augmenter le nombre
de processeurs
ordonnancement optimal sur un systme 3 processeurs
sur un systme 4 processeurs :
1
2
3
4 5
6
7
8
9
12
P1
P2
P3
1
2
3
4
9
8
7
6
5
(3)
(2)
(2)
(2)
(9)
(4)
(4)
(4)
(4)
1
2
3
4
5
6
7
8
9
P1
P2
P3
P4
15
20/10/2013 Ben Fradj Hanene 90
1
2
3
4
9
8
7
6
5
(3)
(2)
(2)
(2)
(9)
(4)
(4)
(4)
(4)
1
2
3
4 5
6
7
8
9
12
Solution 3
processeurs
1
2
3
4
5
6 8
7
9
16
Si temps tche 4 passe de 2 1
P1
P2
P3
P1
P2
P3
Anomalie : diminuer le temps
dexcution des tches
20/10/2013 Ben Fradj Hanene 91
en supprimant quelques relations de prcdence
Anomalie : supprimer des
prcdences
1
2
3
4
9
8
7
6
5
(3)
(2)
(2)
(2)
(9)
(4)
(4)
(4)
(4)
1
2
3
4 5
6
7
8
9
12
1
2
3
4 5
6
8
7
9
16
P1
P2
P3
P1
P2
P3
1
2
3
4
9
8
7
6
5
(3)
(2)
(2)
(2)
(9)
(4)
(4)
(4)
(4)
20/10/2013 Ben Fradj Hanene 92
Exemple d'anomalie sur des contraintes de ressources
5 tches alloues statiquement 2 processeurs
T2 et T4 partagent une ressource exclusive
si on rduit le temps d'excution de T1
3
1 2
4 5
17
P1
P2
3
1 2
4 5 P1
P2
22
Anomalie : partage de ressources
20/10/2013 Ben Fradj Hanene 93
deux approches dordonnancement
multiprocesseur
On distingue en gnral deux types dapproche pour lordonnancement
multiprocesseur :
1. Partitionnement et ordonnancement distribu:
- Il sagit de partitionner lensemble des n tches en m sous-ensembles disjoints :
1, 2, . . . , m et dordonnancer ensuite lensemble i sur le processeur Pi avec
une stratgie dordonnancement locale monoprocesseur. Les tches ne sont
donc pas autorises migrer dun processeur lautre.
Systmes distribus
20/10/2013 Ben Fradj Hanene 94
2. Ordonnancement globale ou centralis :
- Appliquer globalement, sur la plate-forme multiprocesseur entire, une
stratgie dordonnancement unique et dattribuer chaque instant les m
processeurs aux n tches les plus prioritaires. Par exemple en utilisant RM ou
EDF.
- Dans ce cas, outre la premption des tches, on autorise aussi la migration
de ces dernires ; c--d quune tche peut commencer son excution sur un
processeur Pj , tre prempte et reprendre son excution ultrieurement sur
un autre processeur Pi
deux approches dordonnancement
multiprocesseur
20/10/2013 Ben Fradj Hanene 95
Dans ces systmes, il n'y a pas un unique mcanisme d'ordonnancement qui centralise
les informations et les dcisions d'ordonnancement, mais plusieurs:
- La difficult de maintenir une vision cohrente de l'tat du systme : En pratique,
chaque Ordonnanceur s'occupe de grer un sous-ensemble identifi des tches du
systme, et en isolement des autres ordonnanceurs.
- Les cots de migration sont en gnral levs, ce qui entraine que la dcision
d'affectation est plus dterminante qu'en multiprocesseur, et qu'elle peut difficilement
tre remise en cause.
- Il est ncessaire de prendre en compte l'ordonnancement de la ressource de
communication (rseau) entre les processeurs.
1. Partitionnement et
ordonnancement distribu
20/10/2013 Ben Fradj Hanene 96
-Temps dexcution dune tche diffre dun
processeur un autre (processeurs identiques ou
htrognes).
- Temps de communication entre les processeurs.
Une tape daffectation de tches aux processeurs sajoute:
allocation ou partitionnement
1. Partitionnement et ordonnancement
distribu
20/10/2013 Ben Fradj Hanene 97
1. Partitionnement et ordonnancement
distribu
4 grandes classes dalgorithmes de partitionnement:
algorithmes de regroupement: Ce type dalgorithme est souvent utilis pour minimiser
lutilisation des liens de communications. Lalgorithme procde en deux temps. Tout
dabord, une phase dite de clustering regroupe les tches que lon souhaite partitionner
en modules ; pour cela, lalgorithme identifie les tches qui communiquent le plus entre
elles et les regroupent en clusters. Ensuite, chaque
cluster est associ un processeur.
- lalgorithme de sac dos ou le Bin packing: il faut placer dans m botes de tailles
identiques, k objets de tailles diffrentes. Dans notre cas, les objets sont les tches,
leurs tailles sont leurs taux dutilisations processeur U(i ), la taille de chaque bote est
lutilisation maximale que lon peut atteindre : ln 2 pour RM, 1 pour EDF.
20/10/2013 Ben Fradj Hanene 98
algorithmes de recuit simul: Le recuit simul est une mthode doptimisation
qui part dune solution du problme et qui tente de lamliorer en explorant
lespace de recherche par voisinages. Lalgorithme considre les solutions du
problme comme des tats denergie du systme et le but est de minimiser
cette nergie. A chaque itration, on fait diminuer la temprature qui reprsente
le paramtre cl de lalgorithme. Levaluation de la nouvelle solution obtenue est
sujette une probabilit dacceptation, de manire viter de rester pig dans
un minimum local.
algorithmes gntiques : Les algorithmes gntiques reposent sur les principes
fondamentaux de la gntique. un algorithme gntique est un algorithme itratif
de recherche globale dont le but est doptimiser une certaine fonction. Dans le
problme du partitionnement des tches sur plusieurs processeurs, cet
algorithme ^gnre des solutions en minimisant une fonction cot ( par exemple
les chances et les communications du systme).
1. Partitionnement et ordonnancement
distribu
20/10/2013 Ben Fradj Hanene 99
algorithmes gntiques :
Lalgorithme gntique se droule de la manire suivante :
1. gnration de la premire population
2. valuation (critre darrt)
3. slection pour la reproduction
4. croisement et mutation, retour en 2.
1. Partitionnement et ordonnancement
distribu
20/10/2013 Ben Fradj Hanene 100
RM en partitionn
1. Partitionnement et ordonnancement
distribu
- Pour RM partitionn, il semble naturel dutiliser la condition U < n(2
1/n
1) afin de
vrifier lordonnanabilit des tches assignes au processeur p (ou n est le
nombre de tches assignes au processeur P).
- Cependant la borne nest pas assez serre pour dfinir une bonne stratgie
multiprocesseur. On peut perdre jusqu `a 50 % des ressources.
20/10/2013 Ben Fradj Hanene 101
EDF partitionn: FFDU
1. Partitionnement et ordonnancement
distribu
- LIU et LAYLAND ont montr que des tches chance sur
requte sont ordonnanables par EDF sur un processeur si et seulement si
U 1.
- LOPEZ et al. ont montr que lutilisation de cette borne monoprocesseur
peut tre utilise pour dfinir une stratgie de partitionnement
multiprocesseur : First-Fit-Decreasing-Utilization (FFDU). I.e., que dans le
problme de bin packing on choisit chaque tape la premire boite qui
convient en considrant les tches par valeurs dcroissantes du facteur
dutilisation.
- Les mmes chercheurs ont dfini la condition dordonnanabilit
suivante :
20/10/2013 Ben Fradj Hanene 102
Thorme (FFDU EDF Utilisation):
un ensemble de tches priodiques avec
chance sur requte, est ordonnanable par
lune des partitions FFDU (et EDF localement
sur chaque processeur) si
U < (m + 1)/2
1. Partitionnement et ordonnancement
distribu
20/10/2013 Ben Fradj Hanene 103
2. Ordonnancement globale ou
centralis
Ci Pi
T1 1 4
T2 3 5
T3 7 20
Exemple dordonnancement global RM :
2
1
16
P2
P1 3 1
3 2
4 5 8 10
1
2
1
2
1
20
3
P et M
20/10/2013 Ben Fradj Hanene 104
Algorithme de liste (List scheduling) :
- cest la technique la plus utilise quand il sagit dun ensemble de tches
dpendantes.
- Une tche devient prte pour excution quand tous ces prdcesseurs ont
fini leur excution. La tche racine qui na aucune prcdence est actif
linstant 0. Lalgorithme de list scheduling met les tches dans une file au fur
et mesure que les tches deviennent prtes pour excution et envoie les
tches au processeur. Quand plus quune tche est active au mme instant,
trouv lordre optimal qui minimise le temps dexcution est un problme NP-
difficile. Plusieurs heuristiques sont dveloppes parmi les quelles on trouve
la tche la plus longue avant (ALAP), la tche la plus courte avant (ASAP),
2. Ordonnancement globale ou
centralis
20/10/2013 Ben Fradj Hanene 105
Exercice 1 : ordonnancer cette application sur une architecture biprocesseur en
utilisant lalgorithme de liste ASAP puis ALAP.
1
4
3
2
(2)
(4)
(3)
(1)
5
6
7
(3)
(2)
(3)
2. Ordonnancement globale ou
centralis
20/10/2013 Ben Fradj Hanene 106
1
2
3
4
9
8
7
6
5
(3)
(4)
(1)
(2)
(9)
(2)
(1)
(3)
(5)
2. Ordonnancement globale ou
centralis
20/10/2013 Ben Fradj Hanene 107
Conclusion
La thorie de lordonnancement pour les
systmes temps rel monoprocesseurs est un
domaine de recherche bien tabli ce jour, il y a
de nombreux travaux solides qui couvrent
largement ce domaine de recherche.
En revanche, lordonnancement pour les
systmes temps rel multiprocesseurs est une
domaine de recherche relativement neuf, peu de
rsultats existent ce jour.
20/10/2013 Ben Fradj Hanene 108