Ordonnancement en-ligne de tâches temps réel

publicité
É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
Téléchargement