(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