École Nationale Supérieure de Mécanique et d’Aérotechnique / Université de Poitiers Laboratoire d’Informatique Scientifique et Industrielle (www.lisi.ensma.fr) ENSMA - Téléport 2-1 Avenue Clément Ader - BP 40109 - 86961 FUTUROSCOPE CHASSENEUIL Cedex - France Ordonnancement en-ligne de tâches temps réel 1) Modélisation du comportement de l’application temps réel Article fondateur :C.L. Liu, J.W. Layland. ” Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment”, Journal of ACM 20(1):46-61, 1973 Tâches récurrentes (calculs, acquisitions/commandes…) avec des activations périodiques : les tâches arrivent à une fréquence fixe, la préemption est autorisée et les changements de contexte des tâches sont supposés négligeables, l’auto-suspension des tâches n’est pas autorisée. Ti Ti Di Caractéristiques des tâches périodiques : Ti : période entre deux activations successives Di : délai critique Ci : pire durée d’exécution ri(k) : date d’activation de la kième instance de la tâche (c-à-d., ri(k+1)=ri(k)+Ti) di(k) : échéance de la kième instance de la tâche (c-à-d., di(k)=ri(k)+Di) Di Ci Ci …… ri(k) Ri di (k) ri (k+1) Préemption ri (l) Ei di (l) Reprise Ri : pire temps de réponse de la tâche (intervalle entre le réveil et la terminaison de la tâche). Ei : meilleur temps de réponse de la tâche Problématique. Garantir que quelles que soient les durées d’exécution des tâches (dans la limite de leurs pires durées d’exécution), les tâches respecteront leurs échéances ou de façon équivalente que pour toute tâche Ri ≤ Di. 2) Algorithme d’ordonnancement en-ligne Algorithme en-ligne : à l’instant t, l’algorithme en-ligne ne prend ses décisions que sur la base des événements survenus avant ou à l’instant t, sans connaître les événements à venir après t. Ordonnancement en-ligne – La politique d’attribution du processeur aux tâches est effectuée en définissant des priorités aux tâches. A chaque instant la tâche prête la plus prioritaire est exécutée. L’attribution se fait en définissant les priorités des tâches : - Au démarrage de l’application. On parle alors de priorité fixe. Toutes les occurrences de la tâche auront la même priorité. Par exemple les priorités des tâches sont triées selon l’ordre inverse des périodes (RM - Rate Monotonic) - Dynamiquement (priorité dynamique). Trier les tâches selon l’échéance la plus proche (Earliest Deadline First – Earliest Deadline First). Caractéristiques des algorithmes d’ordonnancement en-ligne : - Faible durée d’exécution : afin de ne pas surcharger l’activité du système (overhead) - Conservatif : les algorithmes n’introduisent pas de temps creux dans l’ordonnancement s’il existe une tâches prête à être exécutée. Propriétés à démontrer pour de nouveaux algorithmes (si possible) : - Optimalité (vis-à-vis d’une classe d’algorithmes) : s’il existe un ordonnancement respectant toutes les échéances des tâches alors l’algorithme optimal en construit toujours un. - Prédictif : Diminuer la durée d’exécution des tâches, allonger leurs périodes ou utiliser un processeur plus rapide ne peut rendre le système non ordonnançable (il n’existe pas d’anomalies d’ordonnancement). Diagramme de Gantt de l’ordonnancement de 3 tâches avec priorité fixe selon Rate Monotonic 3) Analyse du respect des échéances (analyse hors-ligne durant la conception du système) Objectif. Analyse d’ordonnançabilité : Montrer que l’algorithme d’ordonnancement en-ligne considéré conduira à respecter les échéances des tâches Cette étape fondamentale est aussi appelée analyse de faisabilité (feasibility analysis). Cette étape est généralement complexe et conduit à résoudre des problèmes fortement combinatoires. Tâches Ci Di Ti 1 2 10 10 2 10 25 30 3 55 100 120 - La simulation sur un intervalle d’étude H (feasibility interval) : se limite aux systèmes très simples et aux algorithmes d’ordonnancement prouvés prédictifs : le comportement d’un algorithme non prédictif ne peut pas être effectué via des simulations (impossibilité de prouver que le pire comportement de chaque tâche a bien été simulé). La durée de l’intervalle d’étude est fonction du ppcm des périodes des tâches (c-à-d., la durée de simulation est toujours exponentielle en temps). - Méthodes analytiques :établir des conditions nécessaires ou suffisantes, ou à défaut, simplement suffisantes d’ordonnançabilité. Les principales méthodes appartiennent aux familles de tests suivants : - analyse du facteur d’utilisation du processeur par les tâches (ratio Ci/Ti.) - calcul des pires temps de réponse (reposant généralement sur le calcul du premier point fixe d’équations non linéaires (c-à-d., équations du type f(t)=t ). Exemple : analyse EDF avec tâches périodiques dbf à échéance sur requête (Di=Ti) : ⎢ ⎥ i =1 ⎣ Ti ⎦ n (0, t ) = ∑ ⎢ t ⎥Ci H = 120 Capacité du processeur Dépassement d’échéance pour la tâche 3 160 140 120 100 80 60 40 - analyse de la demande processeur (dbf(t) - demand bound function : durées de traitement des tâches dont les échéances sont dans l’intervalle [0,t[ (exemple ci-contre) 20 0 0 20 40 60 80 dbf(t) Participants • Francis COTTET • François DORIN – Doctorant – MESR • Christian FOTSING – Doctorant –Région • Annie GENIET • Dominique GENIET • Emmanuel GROLLEAU • Sadouanouan MALO – Doctorant – AUF • Thi huyen chau NGUYEN – Doctorant – AUF • Ahmed RAHNI – Doctorant – MESR • Michaël RICHARD • Pascal RICHARD t 100 120