(Suite chapitre X)
10.6 Ordonnancement RM (
Rate-Monotonic
: Ordonnancement à taux monotone)
10.6.1 Caractéristiques du RM
Le “Rate monotonic” a été introduit par Liu & Layland en 1973.
-
Basé sur les priorités
Priorités fixes
-
-
Les tâches sont périodiques :
- o pas de communication, o temps de commutation négligeable
L'échéance correspond à la période (
Di = Pei
)
Complexité faible et implémentation facile dans un OS
-
-
Algorithme optimal dans la classe des algorithmes à priorité fixe
Si la(les) condition(s) d'ordonnançabilité sont satisfaites:
On calcule la priorité de chaque tâche comme suit:
-
(Inverse de la période)
-
Puis l'ordonnanceur sélectionne le processus avec la plus haute priorité.
10.6.2 Conditions d'ordonnançabilité
- Pour qu'un ensemble de tâches soit ordonnançable pour le Rate-Monotonic, il suffit que:
Le tableau suivant donne les valeurs de U pour un nombre de tâches de 1 à 10 :
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 9
Cette équation exprime que lorsque n → ∞ , l'utilisation du processeur doit rester inférieur à
69.3%
C'est une condition suffisante (mais non nécessaire )
10.6.3 Exemple (1) d’ordonnancement RM (D’après
Daniel Rossier, heig-vd)
⇒ Condition d'ordonnançabilité RM satisfaite
10.6.4 Exemple (2) d’ordonnancement RM (D’après Daniel Rossier, heig-vd)
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 10
⇒ Condition d'ordonnançabilité non satisfaite
⇒ Ordonnançable néanmoins
10.6.5 Temps de réponse dans l’ordonnancement RM
Calcul du temps de réponse d'une tâche :
-
Dans le meilleur des cas, le temps de réponse correspond au temps d'exécution de la tâche.
-
Le temps de réponse peut varier en fonction de la durée réelle. o
Temps de réponse correspondant au pire cas ; On considère le temps d'exécution
Ci
.
Le temps de réponse dépend des tâches plus prioritaires .
-
-
Le temps de réponse d'une tâche dépend des tâches plus prioritaires
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 11
-
-
-
Soit hp(i) l'ensemble des tâches de plus forte priorité que i
.
Plafond n
: entier qui suit n , exemple
4/3
=2
Le temps de réponse est définit comme suit:
-
-
C'est une équation récurrente difficile à résoudre.
Pour le calcul, on utilise une technique itérative : On évalue Ri de façon itérative avec
ω n i
-
-
On démarre avec ω i
0
= C i
On s'arrête lorsque ω i n +
1
= ω i n o
La convergence est assurée tant que :
C i
Pe i
≤
1
Exemple :
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 12
10.7 Ordonnancement DM (
Deadline Monotonic)
10.7.1 Caractéristiques
-
RM pénalise les tâches rares mais urgentes (grande périodicité = petite priorité).
-
DM sera meilleur pour les tâches dont l'échéance est très inférieure à la période.
10.7.2 Hypothèses du
DM
Identiques à celles du Rate-Monotonic , mais avec la possibilité d'avoir des échéances inférieures
à la période (
Di < Pei
).
10.7.3 Condition d'ordonnançabilité de DM
-
La condition (suffisante) d'ordonnançabilité devient:
-
-
La tâche DOIT se terminer avant l'échéance
Di
La condition générale nécessaire d'ordonnançabilité est toujours valable
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 13
10.7.4
Algorithme DM
-
Si la(les) condition(s) d'ordonnançabilité sont satisfaites: o
On affecte la priorité aux tâches selon l'ordre inverse de leurs échéances.
Puis l'ordonnanceur sélectionne le processus p
avec la plus haute priorité. o
10.7.5
Exemple d’ordonnancement DM (D’après Daniel Rossier, heig-vd)
⇒ Condition d'ordonnançabilité DM non satisfaite
10.8 Ordonnancement EDF ( Earliest Deadline First : Échéance la plus proche d’abord
10.8.1 Caractéristiques
-
Priorités dynamiques
Supporte des tâches apériodiques
-
10.8.2 Algorithme de l’ordonnancement EDF
-
Algorithme optimal dans la classe des algorithmes à priorité dynamique.
-
Échéances quelconque (Di
≤
Pei), mais connues au réveil.
-
L'algorithme consiste à sélectionner la tâche qui a l'échéance la plus proche dans le temps.
-
Les priorités sont dynamiquement attribuées en fonction des échéances, au fil du temps.
10.8.3 Condition d’ordonnançabilité EDF
Afin qu'un ensemble de tâches soit ordonnançable pour EDF, il suffit que:
-
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 14
-
La condition devient " nécessaire et suffisante " si:
-
-
∀ i, D i
= Pe i
-
-
Le processeur peut être occupé à 100%
A la différence de RM, on peut garantir que les tâches seront ordonnançable si U
10.8.4 Optimisation de EDF
≤
1
EDF est optimal (i.e : tout ensemble de tâches faisable pourra être ordonnancé).
Algorithme d’optimisation : o on part d’un ordonnancement par itération on déplace des unités de traitements pour tendre vers un ordonnancement EDF
Exemple :
Départ
Itération 1 :
On “avance” dans le temps en faisant s’exécuter la tâche qui à l’échéance la plus proche en
échangeant des parties du traitement.
Itération 2 :
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 15
Itération 3 :
Itération 4 :
Itération 5 :
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 16
10.8.5 Avantages et désavantages du EDF
-
-
Avantages : o
Ordonnancement optimal en ce qui concerne l'utilisation du processeur
(utilisation à 100%) o
Peut traiter des tâches apériodiques
Désavantages : o o
Implémentation difficile, il faut réajuster les priorités au fil du temps en testant les différentes échéances.
Le temps de réponse ne se calcule pas facilement.
10.9 Ordonnancement LLF (Least Laxity First : Marge la plus courte d’abord)
10.9.1 Caractéristiques
-
-
-
L'algorithme
LLF est assez similaire à l'algorithme EDF.
Il se base sur la laxité des tâches.
La laxité L
A est l'écart maximal entre la date d'activation de la tâche A et sa date de démarrage de sorte que l'échéance
D
A soit respectée.
-
-
-
L'algorithme consiste à sélectionner la tâche qui a la plus petite laxité dans le temps.
Les priorités sont dynamiquement attribuées en fonction des laxités, au fil du temps.
Par conséquent : o la laxité diminue lorsque la tâche n'a pas encore commencé. o la laxité reste constante lorsque la tâche a démarré. o
Par conséquent, il peut y avoir de fréquents changements de contexte.
10.9.2 Exemple (D’après
Daniel Rossier, heig-vd)
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 17
Note concernant le EDF et LLF :
-
Si on prend des conditions identiques à monotone à taux la condition de faisabilité est à
100% du temps CPU.
-
Néanmoins les algorithmes ne sont pas stables : en cas de surcharge du processeur des tâches peuvent ne pas respecter leurs échéances.
En résumé :
RM EDF LLF
Statique
Test = Charge < 70%
Théorème de la zone critique
=> Précision
Optimal
Dynamique
Test = Charge < 100%
Moins de changements de contexte
Optimal
+/ quand les taches arrivent en désordre et Ci inconnu
Dynamique
Test = Charge < 100%
+/ quand les taches arrivent en désordre et Ci inconnu
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013 18