Académique Documents
Professionnel Documents
Culture Documents
Chapitre 6
http://w3.uqo.ca/luigi/
Aperu du chapitre
Ch. 6
Concepts de base
Critres dordonnancement
Algorithmes dordonnancement
Ordonnancement de multiprocesseurs
Ordonnancement temps rel
valuation dalgorithmes
Ch. 6
Ch. 6
Ch. 6
Nous ferons lhypothse que le premier processus dans une file est celui
qui utilise la ressource: ici, proc7 excute.
Ch. 6
Concepts de base
Ch. 6
Ch. 6
Ch. 6
Observation exprimentale:
Ch. 6
10
Ch. 6
Ch. 6
12
Critres dordonnancement
Critres gnraux:
Ch. 6
Ch. 6
14
minimiser
Ch. 6
minimiser
maximiser
maximiser
minimiser
15
Ch. 6
16
Processus
Temps de cycle
P1
24
P2
3
P3
3
Si les processus arrivent au temps 0 dans lordre: P1 , P2 , P3
Le diagramme Gantt pour lutilisation de lUCT est:
P1
0
P2
24
P3
27
30
17
P1
0
Ch. 6
P2
24
P3
27
30
18
Ch. 6
arrive P2
P2
24
P3
27
30
19
P2
0
Ch. 6
P3
3
P1
6
30
20
Ch. 6
On fait a
21
Exemple
Supposons
P1: tributaire de lUCT
P2, P3: tributaires de lE/S
P1
Ch. 6
P2
P3
UCT libre
P1
P2
0
Ch. 6
P3
3
P1
6
30
23
Avec premption:
si un processus qui dure moins que le restant
du processus courant se prsente plus tard,
lUCT est enleve au proc courant et donne
ce nouveau processus
SRTF: shortest remaining-time first
Ch. 6
24
Cycle UCT
P1
P2
P3
P4
P1
0
P3
7
P2
8
P4
12
(0 + 6 + 3 + 7)/4 = 4
P2 arr
Temps
de. rotation
= (7+(12-2)+(8-4)+(16-5)) /4 = 8
P3 arr. moyen
P arr
16
Ch. 6
25
Processus
Arrive
Cycle
P1
P2
P3
P4
SJF (premptive)
P1
0
P2
2
P3
4
P2
5
P4
7
P1
11
16
Ch. 6
P1 attend de 2 11, P2 de 4 5, P4 de 5 7
26
Ch. 6
27
Premption ou non
Ch. 6
Ch. 6
29
Ch. 6
Sn lestime prcdente
Ch. 6
Ch. 6
32
1-
Importance du cycle
le plus rcent
Importance de lestime
prcdente
33
Ch. 6
= Tn+ (1-) Sn ;
0 <= <= 1
: le cofficient dimportance
Tn: la dure du cycle le plus rcent
S: lestime
Sn+1 lestime courante (aprs le cycle Tn)
Sn lestime prcdente
34
Pourquoi exponentielle
Ch. 6
35
Stallings
36
Ch. 6
37
Stallings
Ch. 6
38
Ch. 6
estim.
rel
=0,5
Ch. 6
40
Ch. 6
41
les cycles
Famine sil y a apport continu de processus aux cycles courts
Ch. 6
si vous faites toujours les devoirs les plus courts en premier, vous pourriez avoir limpression
de faire beaucoup mais vous pourriez ne jamais arriver aux plus longs
si vous faites les devoirs dans lordre darrive, les longs pourraient vous bloquer pour
longtemps
donc votre solution est de donner un peu de temps chacun, cycliquement
42
Le tourniquet
Ch. 6
(mthodes prcdentes)
43
P[2]
P[6]
P[3]
P[5] P[4]
Ch. 6
44
Cycle
P1
53
P2
17
P3
68
P4
24
P1
P2
P3
P4
P1
P3
P4
P1
P3
P3
Observez
temps de
0 rotation
20 et37temps57dattente
77 moyens
97 117
121 plus
134levs
154que
162
beaucoup
SJF
(exercice: calculez-les)
Ch. 6
45
Performance de tourniquet
Ch. 6
46
Ch. 6
47
Trois cycles:
A, B, C, tous de 10
Essayer avec:
t=1
t=10
Ch. 6
48
= FIFO
commutation contexte)
49
doit tre beaucoup plus grande que le temps requis pour excuter le changement de
contexte
devrait permettre le compltement dapprox. 80% des cycles
pour donner le temps la plupart des proc de terminer leur cycle, mais pas trop pour viter de pnaliser les processus
courts
(Stallings)
Ch. 6 V. ex. prec. o les tranches optimales sont 6 et 7
50
Ch. 6
51
Priorits
0 la plus haute
Ch. 6
52
Ch. 6
53
Ch. 6
54
Ch. 6
Un proc peut tre servi seulement si toutes les files de priorits plus
leves sont vides
55
Ch. 6
nombre de files
algorithmes dordonnancement pour chaque file
algorithmes pour dcider quand un proc doit passer
d une file l`autre
algorithme pour dterminer, pour un proc qui devient
prt, sur quelle file il doit tre mis
56
PRIO = 1
PRIO = 2
Ch. 6
57
Trois files:
Ordonnancement:
Ch. 6
Exercice
Exemple concret
Dans un systme avec files multiples, un
processus a besoin de 50 secondes dUCT
(sans appels au SE) .
Dans la premire file on lui donne 5 secondes
et chaque file successive on lui donne le
double (10, 20, 40 )
Combien de fois sera-t-il interrompu et dans
quelle file se trouvera-t-il quand il terminera?
Ch. 6
59
En pratique...
Ch. 6
Aussi
Ch. 6
Plusieurs UCTs
Ch. 6
Ch. 6
Mthodes symtriques:
chaque UCT peut excuter
lordonnancement et la
rpartition
Une seule liste prt pour
toutes les UCTs (division
travail = load sharing)
Mthodes asymtriques:
certaines fonctions sont
rserves des UCT
spcifiques
Files dattentes spares
pour chaque UCT
UCT
UCT
UCT
UCT
UCT
UCT
UCT
UCT
63
Symtrique ou non?
Ch. 6
64
Symtrique ou non?
Ch. 6
Ch. 6
Chapitre suivant
65
65
Ch. 6
66
Ch. 6
67
Ch. 6
68
Ordonnancement de threads
Ch. 6
69
Ch. 6
70
Ch. 6
Priorits et premption
Files multiniveau retour avec
changement de priorit
Tranches plus grandes pour les processus
moins prioritaires
Les procs interactifs sont plus prioritaires
que les les procs tributaires de lUCT
La plus haute priorit aux procs temps rel
Tourniquet pour les fils de priorits gales
71
Ch. 6
Modlisation dterministe
Simulation
Implantation
72
Modlisation dterministe
Ch. 6
73
Ch. 6
74
Un rsultat important:
n = W
n: longueur moyenne de la file d attente
: dbit d arrive de travaux dans file
W: temps d attente moyen dans la file (temps de service)
P. ex.
si les travaux arrivent 3 par sec.
W et il restent dans la file 2 secs
n la longueur moyenne de la file sera ???
Exercice: Rsoudre aussi pour etW
Observer que afin que n soit stable, W doit tre stable
Un dbit darrive plus rapide doit impliquer un temps de service
mineur, et vice-versa
Ch. 6
Simulation
Ch. 6
76
Implmentation
Implmenter lalgorithme
Excuter dans le systme rel ou des
mlanges de travaux typiques (benchmark)
Obtenir des statistiques,
Ch. 6
77
Tableau de comparaison
Le tableau suivant fait une comparaison
globale des diffrentes techniques tudies
Assurez-vous de comprendre chaque case
Ch. 6
78
PAPS
FCFS
Tourniq.
Critre
slection
Prempt
Motivation
Temps de
rotat. et atten.
Temps de
systme
Effect sur
processus
Famine
Max [w]
non
Simplicit
Variable
Minim.
Favor. proc.
trib. UCT
Non
Equit
Variable selon
tranche,
Normalement
lev
lev si
tranches
courtes
quitable
Non
Optimisation
des temps
Optimal, mais
souffre si des
procs longs
arrivent au dbut
Peut tre
lev (pour
estimer les
longs. des
trames)
Bon pour
proc.
courts,
pnalise
proc. longs
Possible
vite le problme
de procs longs au
dbut
Meilleur, mme si
des procs longs
arrivent au dbut
Peut tre
lev
Pnalise
plus encore
proc. longs
Peut tre
lv
Variable
Tour fixe
oui
PCS
SJF
Min[s]
non
PCS
SJF
premp.
Min[s-e]
oui
Files
multiniv.
v. dtails
oui
Varie la longueur
des tranches en
fonction des
besoins
demand;
Variable
Possible
Peut tre
vite
79
moyenne exponentielle
Priorits
Tourniquet: slection du quantum
Ch. 6
formule de Little
80
Ch. 6
81
Ch. 6
82