10.6 Ordonnancement RM

publicité
(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
ω in
-
On démarre avec ω i0 = C i
-
On s'arrête lorsque ω in +1 = ω in
o
La convergence est assurée tant que :
Ci
∑ Pe
≤1
i
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.
o
Puis l'ordonnanceur sélectionne le processus p avec la plus haute priorité.
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, Di = Pei
-
Le processeur peut être occupé à 100%
A la différence de RM, on peut garantir que les tâches seront ordonnançable si U ≤ 1
10.8.4 Optimisation de EDF
-
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 Implémentation difficile, il faut réajuster les priorités au fil du temps en testant
les différentes échéances.
o 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é LA 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 DA 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
Dynamique
Dynamique
Test = Charge < 70%
Théorème de la zone critique
=> Précision
Test = Charge < 100%
Moins de changements de
contexte
Test = Charge < 100%
Optimal
Optimal
+/ quand les taches
arrivent en désordre et Ci
inconnu
+/ quand les taches
arrivent en désordre et Ci
inconnu
Chapitre X - CEG4566/CSI4541 – RNM – SIGE – UOttawa – Hiver 2013
18
Téléchargement