É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
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.
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)
Ci
Di
Ti
ri(k) di(k) ri(k+1)
Ri
Di
ri (l) di(l)
Ei
Ti
…… Ci
Préemption 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
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
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.
1) Modélisation du comportement de l’application temps réel
2) Algorithme d’ordonnancement en-ligne
3) Analyse du respect des échéances (analyse hors-ligne durant la conception du système)
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
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.
-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 ).
-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)
0
20
40
60
80
100
120
140
160
0 20406080100120
dbf(t) t
Dépassement d’échéance pour la tâche 3
()
i
n
ii
C
T
t
tdbf ∑
=⎥
⎦
⎥
⎢
⎣
⎢
=
1
,0
Exemple : analyse EDF
avec tâches
périodiques
à échéance sur
requête (Di=Ti) :
Tâches
1
2
3
Ci
2
10
55
Di
10
25
100
Ti
10
30
120
120
H
Capacité du processeur
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