(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 0 - On démarre avecω i = Ci n+1 n - On s'arrête lorsque ω = ω i i Exemple : Ci o La convergence est assurée tant que : 1 Pe i 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, 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 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é 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 Dynamique Dynamique Test = Charge < 70% Test = Charge < 100% Test = Charge < 100% Théorème de la zone critique Moins de changements de => Précision contexte 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