Ordonnancement dans les systèmes temps réel
Maryline Chetto
iste
Préface15
Maryline Chetto
Chapitre 1. Introduction à l'ordonnancement temps réel
Emmanuel Grolleau17
1.1. Systèmes temps réel17
1.2. Architectures matérielles20
1.2.1. Calculateurs20
1.2.2. Réseaux de communication22
1.2.3. Capteurs et actionneurs22
1.3. Systèmes d'exploitation23
1.3.1. Généralités23
1.3.2. Systèmes d'exploitation temps réel24
1.3.3. Primitives offertes par un noyau25
1.4. Ordonnancement27
1.4.1. Ordonnancement en-ligne et hors-ligne27
1.4.2. Caractérisation des tâches28
1.4.3. Criticité31
1.4.4. Métriques liées à l'ordonnancement31
1.4.5. Facteurs pratiques32
1.4.6. Ordonnancement multicoeur36
1.5. Modélisation et analyse des applications temps réel39
1.5.1. Modélisation39
1.5.2. Analyse40
1.6. Architectures d'un système et ordonnançabilité41
Chapitre 2. Solutions pour les architectures monoprocesseurs
Laurent George et Jean-François Hermant45
2.1. Introduction46
2.2. Caractérisation d'un problème d'ordonnancement47
2.2.1. Modèles de tâche47
2.2.2. Modèles de contraintes temporelles49
2.2.3. Modèles d'ordonnancement50
2.2.4. Concepts et notations52
2.3. Algorithmes d'ordonnancement / optimalité54
2.3.1. Algorithmes à priorités fixes au niveau des tâches FP54
2.3.2. Arlgorithmes FPJL56
2.3.3. Algorithmes à priorités dynamiques57
2.4. Périodes actives et scenarii pires cas59
2.4.1. Périodes actives59
2.4.2. Scénarii pires cas60
2.5. Conditions de faisabilité64
2.5.1. Conditions de faisabilité FP65
2.5.2. Conditions de faisabilité FPJL67
2.6. Analyse de sensibilité70
2.6.1. Sensibilité des WCETs72
2.6.2. Sensibilité des périodes79
2.6.3. Sensibilité des échéances80
2.7. Conclusion85
2.8. Bibliographie86
Chapitre 3. Solutions pour les architectures multiprocesseurs
Joël Goossens et Pascal Richard91
3.1. Introduction91
3.1.1. Modélisation des applications92
3.1.2. Modélisation de la plate-forme93
3.2. Classification des ordonnanceurs93
3.2.1. Ordonnanceurs en-ligne et hors-ligne93
3.2.2. Préemptions et migrations des tâches94
3.2.3. Priorités des tâches95
3.2.4. Classification : définition95
3.3. Propriétés des ordonnanceurs96
3.3.1. Propriétés qualitatives96
3.3.2. Propriétés quantitatives100
3.4. Ordonnancement partitionné103
3.4.1. Algorithmes de partitionnement103
3.4.2. Evaluation des algorithmes de partitionnement107
3.5. Ordonnancement global110
3.5.1. Algorithmes équitables111
3.5.2. Généralisation des algorithmes d'ordonnancement monoprocesseur118
3.6. Conclusion119
3.7. Bibliographie119
Chapitre 4. Synchronisations : protocoles d'accès aux ressources partagées
Serge Midonnet et Frédéric Fauberteau123
4.1. Introduction123
4.2. Terminologie et notations124
4.2.1. Diagrammes125
4.3. Protocole de synchronisation126
4.3.1. Cas des architectures monoprocesseurs126
4.3.2. Cas des architectures multiprocesseurs128
4.4. Problèmes dus aux synchronisations131
4.4.1. Inversion de priorité non bornée131
4.4.2. Interblocages136
4.4.3. Blocages multiples140
4.5. Calcul du facteur de blocage144
4.5.1. Cas des architectures monoprocesseurs144
4.5.2. Cas des architectures multiprocesseurs147
4.6. Conclusion152
4.7. Bibliographie152
Chapitre 5. Focus sur l'ordonnancement probabiliste
Liliane Cucu-Grosjean, Andriana Gogonel et Dorin Maxim155
5.1. Introduction155
5.2. Notations et définitions158
5.3. Modèle d'un système temps réel probabiliste159
5.4. Propriétés imposées160
5.5. Modèles pire cas probabilistes161
5.5.1. Systèmes temps réel avec des arrivées probabilistes162
5.5.2. Comparaison entre les deux modèles162
5.6. Ordonnancement temps réel probabiliste163
5.6.1. Problèmes d'algorithmes d'ordonnancement à priorités fixes (BPAP)163
5.6.2. Non-optimalité de l'algorithmes Rate Monotonic163
5.7. Analyse probabiliste d'ordonnançabilité165
5.8. Classification des principaux résultats existants167
5.9. Bibliographie169
Chapitre 6. L'ordonnancement dans les réseaux
Ye-Qiong Song173
6.1. Introduction173
6.2. Protocole CAN176
6.3. Un exemple d'application embarqué automobile distribuée autour d'un réseau CAN179
6.4. Analyse des temps de réponse des messages CAN182
6.4.1. Méthode d'analyse du pire temps de réponse182
6.4.2. Méthode de calcul de la borne des temps de réponse184
6.4.3. Application à une messagerie CAN185
6.5. Conclusion et discussions186
6.6. Bibliographie188
Chapitre 7. Approches inductives pour l'ordonnancement de paquets das les réseaux de communication
Malika Bourennane et Abdelhamid Mellouk189
7.1. Introduction189
7.1.1. L'approche par priorité190
7.1.2. L'approche guidée par le partage de la bande passante (SD)191
7.1.3. L'approche guidée par l'échéance191
7.1.4. L'approche inductive192
7.2. Concept d'ordonnancement193
7.3. Approches pour l'ordonnancement temps-réel194
7.3.1. La priorité stricte195
7.3.2. Le paradigme Généralized Processor Sharing (GPS)195
7.3.3. L'ordonnanceur PGPS (Packet-by-packet Generalized Processor Sharing)196
7.3.4. Earliest Deadline First (EDF)196
7.3.5. Ordonnancement adaptatif196
7.4. Concepts préalables199
7.4.1. Apprentissage mono-agent199
7.4.2. Apprentissage par renforcement multi-agents203
7.5. Modèles proposé206
7.5.1. L'algorithme d'apprentissage208
7.6. Q-learing avec approximation (NQ-learning)209
7.6.1. Evaluation212
7.6.2. Cas d'un seul agent213
7.6.3. Espace d'action213
7.6.4. Espace d'état213
7.6.5. Fonction récompense213
7.6.6. Algorithmes d'apprentissage214
7.6.7. Cas multi-agents216
7.7. Conclusion217
7.8. Remerciements218
7.9. Bibliographie218
Chapitre 8. Focus sur les réseaux avioniques
Jean-Luc Scharbarg et Christian Fraboul223
8.1. Introduction223
8.2. Architectures de réseaux avioniques224
8.2.1. Evolution historique224
8.2.2. Le réseau AFDX225
8.3. L'analyse temporelles d'un réseau AFDX226
8.4. Caractéristique d'un scénario pire cas227
8.5. Calcul d'une borne supérieure du délai232
8.5.1. Une borne supérieure du délai sur un AFDX par calcul réseau232
8.5.2. Une borne supérieure du délais sur un AFDX par la méthode des trajectoires236
8.6. Résultats sur une configuration embarquée avion241
8.7. Conclusion242
8.8. Bibliographie243
Chapitre 9. Optimisation de la consommation énergétique
Cécile Belleudy245
9.1. Introduction245
9.2. Etat de l'art248
9.2.1. Généralités248
9.2.2. Modélisation de la consommation d'un système d'exploitation249
9.2.3. Stratégies de gestion de la consommation au sein de systèmes multicoeurs250
9.3. Modélisation de la consommation253
9.3.1. Plate-forme de caractérisation : aspect matériel et logiciel253
9.3.2. Modélisation de la consommation254
9.3.3. Changement de contexte254
9.3.4. Communication interprocessus257
9.4. Ordonnancement faible consommation259
9.4.1. Environnement de simulation259
9.4.2. Politique d'ordonnancement faible consommation261
9.5. Résultats expérimentaux264
9.5.1. Application test : décodeur H264264
9.5.2. Analyse des résultats de simulation266
9.6. Conclusion et perspectives269
9.7. Bibliographie269
Chapitre 10. L'ordonnancement dans les objects autonomes en énergie
Maryline Chetto273
10.1. Introduction273
10.2. Modélisation et terminologie276
10.2.1. Modèle de système276
10.2.2. Les types de pénurie278
10.2.3. Terminologie278
10.3. Faiblesses des ordonnanceurs classiques279
10.3.1. Ordonnancement par EDF279
10.3.2. Stratégie ASAP280
10.3.3. Stratégie ALAP281
10.4. Propriétés fondamentales282
10.5. Concepts liés à l'énergie283
10.5.1. Demande processeur283
10.5.2. Demande énergétique285
10.6. Ordonnancement ED-H286
10.6.1. Description informelle286
10.6.2. Règles de ED-H286
10.6.3. Analyse d'optimalité288
10.6.4. Analyse de clairvoyance289
10.6.5. Test d'ordonnançabilité289
10.7. Conclusion290
10.8. Bibliographie291
Chapitre 11. Conception conjointe commande-ordonnancement
Daniel Simon, Ye-Qiong Song et Olivier Sename293
11.1. Objectif de commande et modèles294
11.1.1. Commande en boucle fermée294
11.1.2. Commande et paramètres temporels296
11.2. Ordonnancement des boucles de commande299
11.2.1. Robustesse et relâchement de contraintes temps réel dur301
11.3. Approche continue : ordonnancement régulé304
11.3.1. Architecture, capteurs et actionneurs304
11.3.2. Capteurs305
11.3.3. Actionneurs306
11.3.4. Lois de commande307
11.4. Approche discrète : ordonnancement sous contrainte (m,k)-firm309
11.4.1. Modèle (m,k)-firm310
11.4.2. Ordonnancement sous contrainte (m,k)-firm311
11.4.3. Ordonnancement (m,k)-firm régulé312
11.5. Etude de cas : ordonnancement régulé de décodeur vidéo315
11.6. Conclusion321
11.7. Bibliographie321
Chapitre 12. Approche synchrone et ordonnancement
Yves Sorel et Dumitru Potop-Butucaru325
12.1. Introduction325
12.2. Classification329
12.2.1. Langages synchrones329
12.2.2. Langages apparentés333
12.3. Langages synchrones334
12.3.1. Signal334
12.3.2. Lustre343
12.3.3. Esterel345
12.4. Ordonnancement avec les langage synchrones347
12.5. Langages synchrones étendus pour faire de l'ordonnancement350
12.5.1. Lustre350
12.5.2. Prelude351
12.5.3. Syndex353
12.5.4. Taxys358
12.5.5. PSIC, Embedded Code et Network Code358
12.6. Conclusion360
12.7. Bibliographie360
Chapitre 13. Estimation de temps d'exécution et délais
Claire Maiza, Pascal Raymond et Christine Rochange365
13.1. Le calcul de temps d'exécution pire cas : un exemple366
13.1.1. Analyse de l'architecture de système ambarqué368
13.1.2. Analyse de chemin d'exécution374
13.2. Pour aller plus loin378
13.2.1. Multitâche : le prix de la préemption378
13.2.2. Multicoeur et autres architectures complexes381
13.2.3. Influence des méthodes de conception de l'embarqué critique384
13.2.4. Les outils388
13.3. Conclusion389
13.4. Bibliographie389
Index393