Informatique tempsrel
Chapitre 4: Ordonnancement
Pierre Manneback
Pierre.manneback@umons.ac.be
Table de matire
1.
2.
3.
4.
Gnralits
Ordonnancement de tches priodiques
Ordonnancement avec tches apriodiques
Ordonnancement avec ressources partages
Universit de Mons
Rfrence principale
G. Buttazzo Hard real-time computing
systems , Springer, 2011 (livre + slides)
Universit de Mons
si
Ci
di
Di
fi
Universit de Mons
Tches priodiques
Apparition cyclique de jobs ou sous-tches, avec
gigue (jitter, petit dcalage temporel) possible
Typique des tches dacquisition, de traitement de
signal, de multimdia
Programmation gnralement conduite par le temps
(time-driven, squenceur)
Universit de Mons
Tches apriodiques
Tches apriodiques ou sporadiques: tches occurrence
irrgulire de jobs. Ces jobs ont gnralement des deadlines
stricts: rponse une alarme, vnement prioritaire traiter, etc
.
Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
10
Le problme dordonnancement
Etant donn un ensemble de tches avec contraintes, et une
architecture matrielle et logicielle (processeurs et ressources),
trouver une planification des tches qui satisfasse les contraintes
11
Lordonnancement est un
problme difficile
Gnralement, pas de possibilit praticable de calcul
de solution optimale, mais proposition de solutions
approches par des heuristiques. Dans le cas du tempsrel, cest suffisant, tant que les contraintes sont
respectes!
Ncessit de travailler avec des hypothses
simplificatrices
Ici: mono-processeur, tches premptives
(interruptibles), pas de contraintes de prcdence
entre tches, principalement tches priodiques
Universit de Mons
12
Table de matire
1.
2.
3.
4.
Gnralits
Ordonnancement de tches priodiques
Ordonnancement avec tches apriodiques
Ordonnancement avec ressources partages
Universit de Mons
13
Ordonnancement de tches
priodiques
Hypothse supplmentaire: pas de partage des ressources
Notation: ti ( Ci , Ti , Di) ou ti ( Ci , Ti ) si Di = Ti (chance sur requte)
14
Exemple
Universit de Mons
15
Universit de Mons
16
Inconvnients
Peu robuste par rapport des surcharges ventuelles
Peu extensible
Pas appropri pour le traitement dvnements
apriodiques
Universit de Mons
17
18
Faisabilit de lordonnancement
Chaque tche a un taux
dutilisation (maximal, du
processeur, par priode)
Le taux dutilisation global est
donc
Il doit tre plus petit ou gal 1
dans tous les cas pour quun
ordonnancement soit possible
19
2 algorithmes classiques : RM et
EDF
Universit de Mons
20
Universit de Mons
21
Exemple EDF
Universit de Mons
22
23
24
Universit de Mons
25
26
Tches priodiques
27
Utilization
1.1
Not OK
1
0.9
0.8
0.7
OK
0.6
0.5
1
16
64
256
1024 4096
Universit de Mons
28
t2(3,12)
t3(6,16)
Ordonnancement RM
t3
t2
t1
Universit de Mons
16
24
32
40
48
29
Optimalit de RM
Il a t prouv que RM est optimal pour la classe
dordonnancements a priori, priorit fixe (Liu)
Cela veut dire que si un problme (tches
priodiques, indpendantes, chance sur requte et
sans gigue) est ordonnanable par un algorithme
priorit fixe, alors il lest par RM.
Universit de Mons
30
Universit de Mons
31
Universit de Mons
32
Universit de Mons
33
Ri = Ci + SHP(ti) Ri/Tk Ck
o x dsigne lentier directement suprieur x, par exemple 3,01 = 4
Lordonnancement RM ou DM est acceptable si et seulement si
Ri Di , pour toute tche ti
Lquation du temps de rponse est une quation au point fixe (x=f(x))
Pierre Manneback, FPMs INFO,2014, ITR, Chapitre 4
34
Iterate until
(Ris > Di )or (Ris = Ri(s-1))
35
Ordonnancement RM
calcul du temps de rponse
t1(1,4)
R1 = 1
t2(3,12)
R2 =3 + R2/4 =4
Universit de Mons
16
t3(4,16)
Di = Ti
24
32
40
48
36
Ordonnancement RM
calcul temps de rponse
t1(1,4)
R1 = 1
t2(3,12)
t3(6,16)
R2 =3 + R2/4 =4
Universit de Mons
16
Di = Ti
Le test Ulub nest pas satisfait!
24
32
40
48
37
Ordonnancement RM
non admissibilit
t1(1,4)
R1 = 1
t2(3,12)
t3(7,16)
R2 =3 + R2/4 =4
Di = Ti
R3> 16!
Echec!
Universit de Mons
16
24
32
40
48
38
Ordonnancement RM non
admissible avec Di<Ti
t1(1,4,3)
R1 = 1
t2(3,12,10)
R2 =3 + R2/4 =4
chec!
Universit de Mons
16
t3(4,16,9)
24
32
40
48
39
Ordonnancement DM admissible
avec Di<Ti
t1(1,4,3)
R1 = 1
t2(3,12,10)
R 3 =4 + R3/4 =6
Universit de Mons
16
t3(4,16,9)
R2 = 3+ R2/4 + R2/16 *4 = 10
24
32
40
48
40
41
Universit de Mons
42
43
t1(1,4,3), t2(2,6,4)
Universit de Mons
44
45
On a
Universit de Mons
46
Universit de Mons
47
Universit de Mons
48
t2(3,12,10)
t3(4,16,9)
t1(1,4,3)
H = ppcm {4,12,16} = 48
U=0.75
L*= 4(0.25+0.5+1.75)=10
D= {3, 7, 9, 10 }
g(0,3)=1, g(0,7)=2, g(0,9)=6, g(0,10)=9
Universit de Mons
16
24
32
40
48
49
Table de matire
1.
2.
3.
4.
Gnralits
Ordonnancement de tches priodiques
Ordonnancement avec tches apriodiques
Ordonnancement avec ressources partages
Universit de Mons
50
51
Universit de Mons
52
Universit de Mons
53
Universit de Mons
54
55
Polling server
Le serveur a une priode et une capacit fixe a
priori.
Au dbut de chaque priode, son budget est
initialis sa capacit.
Si le serveur devient actif, et quil ny a pas de job en
attente, le budget est mis 0 pour la priode donne.
Si le serveur devient actif, et quil y a des jobs en
attente, ceux-ci sexcutent ( dans un ordre dfini par le
serveur) en consommant le budget, tant quil est
positif.
Universit de Mons
56
Universit de Mons
57
Serveur en diffr
Deferable server (DS)
Similaire au polling server , mais le budget nest pas
enlev sil ny a pas de jobs en attente lors de son rveil
Cela donne un meilleur temps de rponse pour les
taches apriodiques (au dtriment des taches
priodiques)
58
Universit de Mons
59
Table de matire
1.
2.
3.
4.
Gnralits
Ordonnancement de tches priodiques
Ordonnancement avec tches apriodiques
Ordonnancement avec ressources partages
Universit de Mons
60
61
Universit de Mons
62
Universit de Mons
63
Ordonnancement PIP
Universit de Mons
64
Pro/Cons de PIP
Universit de Mons
65
Universit de Mons
66
Universit de Mons
67
Universit de Mons
68
Exemple de PCP
Universit de Mons
69
Pro/Cons de PCP
Universit de Mons
70
Universit de Mons
71
Universit de Mons
72
Universit de Mons
73
Universit de Mons
74