Problématique de l`ordonnancement temps-réel

Transcription

Problématique de l`ordonnancement temps-réel
Problématique de l’ordonnancement temps-réel
1
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Plan du cours
La notion de tâche temps-réel
Le mécanisme d’ordonnancement
L’ordonnancement de tâches périodiques
L’ordonnancement de tâches apériodiques
2
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
La notion de tâche temps-réel
Le modèle canonique des tâches temps-réel
r0
T0
T1
D0
D1
C0
d0
r1
τi(Ci, Ti, Di)
d1
- ri : date de réveil
- Di : délai critique
- Ti : période d’exécution
- di = ri + Di : date d’échéance
- Ci : durée d’exécution maximale
- L = Di – Ci : laxité
3
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
La notion de tâche temps-réel
Les niveaux de contraintes temporelles
- Temps-réel strict/dur (hard real-time)
(ex : Airbag)
- toutes les instances de tâches doivent être exécutées dans le respect
de leurs échéances
- Temps-réel souple/mou (soft real-time)
(ex : Distributeur automatique)
- les tâches peuvent manquer des échéances
- Temps-réel ferme (firm real-time)
(ex : Systèmes multimédias)
- les tâches sont autorisées à ne pas respecter occasionnellement
leurs échéances
4
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
La notion de tâche temps-réel
Les types de tâches temps-réel
- Les tâches périodiques
(ex : Relevé de température)
- activation à intervalles réguliers,
- à échéances sur requêtes si Di = Ti
- Les tâches apériodiques/sporadiques
- activation à des instants irréguliers,
- intervalle de temps entre deux activations borné (sporadiques) ou non
(apériodiques),
- à contraintes relatives, (ex : Requête sur une borne de service)
(ex : Arrêt d’urgence)
- à contraintes strictes
5
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
La notion de tâche temps-réel
Diagramme d’états d’une tâche temps-réel
- courant : la tâche s’exécute sur le processeur
- prêt : la tâche est prête à s’exécuter mais n’a pas le processeur
- en-attente : il manque une ressource (en plus du processeur) à la
tâche pour qu’elle puisse s’exécuter
6
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Le mécanisme d’ordonnancement
L’ordonnancement des tâches temps-réel
ORDONNANCEUR
PROCESSEUR
tâche élue
DISPATCHER
file d’attente
des tâches en attente
file d’attente des
tâches prêtes
- ORDONNANCEUR : alloue le processeur aux différentes tâches
- DISPATCHER : implémente l’ordonnanceur (élection des tâches prêtes)
7
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Le mécanisme d’ordonnancement
Typologie des algorithmes d’ordonnancement
- Monoprocesseur / multiprocesseur
- En-ligne / Hors-ligne
- Préemptif / Non préemptif
- Oisif / Non oisif
- Centralisé / Réparti
8
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
L’ordonnancement non préemptif
- Ordonnancement selon l’ordre d’arrivée :
- premier arrivé, premier servi (First Come First Serve - FCFS)
- Ordonnancement selon la durée de calcul :
- le plus court d’abord (Shortest Job First – SJF)
9
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
L’ordonnancement préemptif
T1
- Ordonnancement sans notion de priorité :
- temps-partagé avec politique du tourniquet (round-robin)
T2
T3
- Ordonnancement à priorités (statiques ou dynamiques) :
CPU
T3
- la tâche la plus prioritaire obtient le processeur
T1
CPU
T2
10
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif sans notion de priorité
L’ordonnancement temps-partagé (Round-Robin)
- Principe : allocation du processeur par tranche (quantum) de temps
- Exemple (q=20, n=4) :
Tâches
τ1 (53)
τ 2 (17)
τ 3 (68)
τ 4 (24)
0
20
37
57
77
97
117 134
121
154
162
Temps
- Chaque tâche obtient le processeur au bout de (n-1)*q unités de temps au plus
11
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif sans notion de priorité
L’ordonnancement temps-partagé (Round-Robin)
- Intérêts :
- Equité de l’attribution du processeur entre toutes les tâches
- Mise en œuvre simple
- Inconvénients :
- Pas de prise en compte de l’importance relative des tâches
- Difficulté du choix de la tranche de temps
Æ Si q est trop grand, round-robin devient équivalent à FIFO
Æ Si q est trop petit, il y a augmentation du nombre de
changements de contexte !
12
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités
L’ordonnancement préemptif à priorités
- Ordonnancement à priorités fixes (statiques)
- Rate Monotonic (RM)
- Deadline Monotonic (DM)
- Ordonnancement à priorités dynamiques
- Earliest Deadline First (EDF)
- Least Laxity First (LLF)
13
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités fixes
Rate Monotonic (RM)
- Principe : une tâche est d’autant plus prioritaire que sa période d’activation
Ti est petite
- Exemple :
Tâches
τ 1 (3,20,20)
τ 2 (2,10,10)
τ 3 (2,5,5)
0
2
4
6
8
10
12
14
16
18
20
Temps
- Propriété : RM est optimal dans la classe des algorithmes à priorités fixes
pour des tâches périodiques indépendantes à échéances sur requêtes (Di=Ti)
14
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités fixes
Rate Monotonic (RM)
- Conditions de faisabilité :
n
- Condition nécessaire :
Ci
U = ∑ ≤1
i =1 Ti
n
- Condition suffisante :
1
Ci
U = ∑ ≤ n(2 n − 1)
i =1 Ti
U (1) = 1; U (2) = 0.828; U (3) = 0.779; U (∞) = ln 2 ≈ 0.693
15
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités fixes
Deadline Monotonic (DM)
- Principe : une tâche est d’autant plus prioritaire que son délai critique
Di est petit
- Exemple :
Tâches
τ 1 (3,20,9)
τ 2 (2,10,10)
τ 3 (2,5,5)
0
2
4
6
8
10
12
14
16
18
20
Temps
- Propriété : DM est optimal dans la classe des algorithmes à priorités fixes
pour des tâches périodiques indépendantes telles que Di≤Ti
16
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités fixes
Deadline Monotonic (DM)
- Conditions de faisabilité :
n
- Condition nécessaire :
Ci
U = ∑ ≤1
i =1 Ti
n
- Condition suffisante :
1
Ci
U =∑
≤ n(2 n − 1)
i =1 Di
U (1) = 1; U (2) = 0.828; U (3) = 0.779; U (∞) = ln 2 ≈ 0.693
17
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités fixes
L’ordonnancement à priorités fixes
- Intérêts :
- Mécanisme simple
- S’implante naturellement dans les OS du marché
- Inconvénients :
- Hypothèses restrictives
- Indépendance des tâches impérative pour l’utilisation des conditions
de faisabilité
- Borne supérieure pour le facteur d’utilisation du processeur
18
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités dynamiques
Earliest Deadline First (EDF)
- Principe : à chaque instant, la tâche la plus prioritaire est celle dont
l’échéance absolue di est la plus proche
- Exemple :
Tâches
τ 1 (1,20,8)
τ 2 (4,10,10)
τ 3 (2,5,4)
0
2
4
6
8
10
12
14
16
18
20
Temps
- Propriété : EDF est optimal dans la classe des algorithmes préemptifs
pour des tâches périodiques indépendantes telles que Di≤Ti
19
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités dynamiques
Earliest Deadline First (EDF)
- Condition de faisabilité :
- si Di=Ti :
n
- Condition nécessaire et suffisante :
Ci
U = ∑ ≤1
i =1 Ti
- si Di ≤Ti :
n
- Condition suffisante :
Ci
≤1
U =∑
i =1 Di
20
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités dynamiques
Least Laxity First (LLF)
- Principe : à chaque instant, la tâche la plus prioritaire est celle dont
la laxité L(t) = ri+Di-(t+Ci (t)) est la plus petite
- Exemple :
Tâches
τ 1 (1,20,8)
τ 2 (4,10,10)
τ 3 (2,5,4)
0
2
4
6
8
10
12
14
16
18
20
Temps
- Propriété : LLF est optimal dans la classe des algorithmes préemptifs
pour des tâches périodiques indépendantes telles que Di≤Ti
21
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités dynamiques
Least Laxity First (LLF)
- Condition de faisabilité :
- si Di=Ti :
n
- Condition nécessaire et suffisante :
Ci
U = ∑ ≤1
i =1 Ti
- si Di ≤Ti :
n
- Condition suffisante :
Ci
≤1
U =∑
i =1 Di
22
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches périodiques
Ê Ordonnancement préemptif à priorités dynamiques
L’ordonnancement à priorités dynamiques
- Intérêts :
- Simplicité de mise en oeuvre
- Optimisation de l’usage des ressources
- Bien adapté aux tâches périodiques à courtes échéances
- Inconvénients :
- Indépendance des tâches impératives pour l’utilisation des conditions
de faisabilité
- Instabilité en cas de surcharge (EDF)
- Nombreux changements de contexte dans certains cas (LLF)
- Difficilement implantable dans les OS actuels
23
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
L’ordonnancement de tâches apériodiques
- Objectif :
- cas de tâches apériodiques à contraintes relatives
→ minimiser le temps de réponse des tâches
- cas de tâches apériodiques à contraintes strictes
→ garantir le respect d’un maximum de tâches
24
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
L’ordonnancement de tâches apériodiques
- La gestion des tâches en arrière-plan :
- Background scheduling (BG)
- La gestion des tâches par un serveur :
à priorités fixes :
à priorités dynamiques :
- Polling Server (PS)
- Dynamic Sporadic Server (DSS)
- Deferrable Server (DS)
- Dynamic Priority Exchange Server (DPE)
- Priority Exchange Server
- Improved Priority Exchange Server (IPE)
- Sporadic Server
- Total Bandwidth Server (TBS)
- Slack Stealer Server
- Earliest Deadline as Late as possible (EDL)
25
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches en arrière-plan
Background Scheduling (BG)
- Principe : les tâches apériodiques sont exécutées en tâches de fond,
lorsqu’il n’y a pas de requêtes périodiques à l’état prêt
- Mécanisme de fonctionnement :
Tâches périodiques
RM/EDF
File de + haute priorité
CPU
Tâches apériodiques
FCFS
File de + basse priorité
26
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches en arrière-plan
Background Scheduling (BG)
- Exemple (RM-BG):
Tâches
τ 1 (4,10,10)
τ 2 (2,6,6)
2
1
Apériodiques
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
Temps
27
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches en arrière-plan
Background Scheduling (BG)
- Intérêts :
- Simplicité de mise en oeuvre
- Pas d’impact sur les tâches périodiques
- Inconvénients :
- Le temps de réponse des tâches apériodiques peut être élevé
- Applicable uniquement pour des tâches apériodiques à contraintes relatives
- Utilisable principalement dans des systèmes à charge modérée
28
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités fixes
Polling Server (PS)
- Principe : Une tâche périodique (Cs, Ps) appelée serveur apériodique active les
tâches apériodiques dans son temps d’exécution appelé capacité du serveur
- Exemple (RM-PS, Cs=2; Ts=5):
Tâches
τ 1 (2,6,6)
τ 2 (1,4,4)
2
1
2
1
PS (2,5)
0
2
4
6
8
10
12
14
16
18
20
22
24
26
2
Capacité de 1
PS
0
Temps
29
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités fixes
Polling Server (PS)
- Intérêts :
- Meilleures performances que celles obtenues avec la gestion des
tâches apériodiques en tâches de fond
- Faibles complexités de calcul et d’implémentation
- Inconvénients :
- La capacité du serveur est perdue en cas d’absence de tâche apériodique
en attente lors du réveil du serveur
- Hypothèses restrictives de l’algorithme RM
30
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités fixes
Deferrable Server (DS)
- Principe : identique à celui du Polling server à l’exception que DS conserve sa
capacité courante jusqu’à la fin de sa période d’activation
- Exemple (RM-DS, Cs=2; Ts=5):
Tâches
τ 1 (2,6,6)
τ 2 (1,4,4)
2
1
2
1
DS (2,5)
0
2
4
6
8
10
12
14
16
18
20
22
24
26
2
Capacité de 1
DS
0
Temps
31
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités fixes
Deferrable Server (DS)
- Intérêts :
- Meilleures performances que celles obtenues avec le server Polling
- Faibles complexités de calcul et d’implémentation
- Inconvénients :
- Hypothèses restrictives de l’algorithme RM
32
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités dynamiques
Total Bandwidth Server (TBS)
- Principe : Lorsque la kème requête apériodique arrive au temps t=rk, elle reçoit
une échéance fictive calculée comme suit :
Date de réveil de la requête occurrente
Durée d’exécution de la requête occurrente
C ka
d k = m a x ( rk , d k − 1 ) +
Us
Largeur de bande CPU allouée au serveur
Échéance fictive de la requête précédente
33
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités dynamiques
Total Bandwidth Server (TBS)
- Exemple (EDF-TBS, Up=0.75; Us=0.25):
Tâches
τ 1 (3,6,6)
τ 2 (2,8,8)
d1
1
2
d2
1
d3
TBS (0.25)
0
2
4
6
8
d1 = max(3,0) +
10
12
14
16
18
20
22
24
1
= 3+ 4 = 7
0.25
d 2 = max(9,7) +
26
Temps
2
= 9 + 8 = 17
0.25
d 3 = max(14,17) +
1
= 17 + 4 = 21
0.25
34
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités dynamiques
Total Bandwidth Server (TBS)
- Intérêts :
- Mise en œuvre assez simple
- Faibles complexités de calcul et d’implémentation
- Inconvénients :
- Performances assez médiocres pour des systèmes fortement chargés
- Nécessité de connaître les durées d’exécution des tâches apériodiques
occurrentes
35
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités dynamiques
Earliest Deadline as Late as possible (EDL)
- Principe selon l’algorithme suivant :
début
si (tâches apériodiques présentes) alors
- exécuter les tâches apériodiques au + tôt
- exécuter les tâches périodiques au + tard
sinon
- exécuter les tâches périodiques au + tôt
fin
36
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités dynamiques
Earliest Deadline as Late as possible (EDL)
- Exemple (EDF-EDL) :
Tâches
τ 1 (3,6,6)
τ 2 (2,8,8)
1
2
1
EDL
0
2
4
6
8
10
12
14
16
18
20
22
24
26
Temps
37
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
L’ordonnancement de tâches apériodiques
Ê La gestion des tâches par un serveur à priorités dynamiques
Earliest Deadline as Late as possible (EDL)
- Intérêts :
- Serveur optimal
- Pas de nécessité de connaître les durées d’exécution des tâches
apériodiques occurrentes
- Inconvénients :
- Complexités de calcul et d’implémentation élevées
- Besoins mémoire importants
38
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Conclusion (1)
- En bref :
- L’ordonnanceur a pour rôle d’allouer le processeur aux différentes tâches
- L’ordonnancement temps-réel
- est régi par une politique spécifique basé sur la priorité
- peut être hors-ligne ou en-ligne
- doit être déterministe
- Compromis simplicité / performances des algorithmes d’ordonnancement
- Quantification de l’overhead d’ordonnancement
39
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Conclusion (2)
- Programmation synchrone / asynchrone
- Modèle de temps synchrone – Cadre d’étude
- Hypothèse des temps de calculs et des temps de communications nuls
- Simultanéité possible pour les événements
- Contrôle logique et temporel de l’application Æ vérification formelle
- Modèle de temps asynchrone – Monde réel
- Temps de calculs éventuellement longs
- Non-simultanéité des événements
- Difficultés voire impossibilité de preuves de correction de l’application
40
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Extension à la notion d’exécutif temps-réel
Outils de
compilation
Outils
d’édition
Gestion
E/S
Ordonnanceur
Gestion
mémoire
Noyau
TR
Exécutif
TR
OS
TR
Gestion
du temps
Outils de
debuggage
41
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006
Références
1.
Giorgio Buttazzo, HARD REAL-TIME COMPUTING SYSTEMS:
Predictable Scheduling Algorithms and Applications, Second Edition,
Springer, 2004.
2.
J. Stankovic, K. Ramamritham, M. Spuri, and G. Buttazzo, Deadline
Scheduling for Real-Time Systems, Kluwer Academic Publishers,
Boston, 1998.
3.
J. W. S. Liu, Real-Time Systems, Prentice Hall, New Jersey, 2000.
42
Module E4 : Systèmes temps-réel
Audrey Marchand 2005-2006