Un système temps réel est un système avec des contraintes temporelles fortes [Sta88, Fis07] : la validité du système ne dépend pas seulement du résultat mais également de la date à laquelle le résultat a été obtenu. Ces systèmes sont de plus en plus présents autour de nous, que ce soit dans les produits grand public ou industriels. Leur étude est un domaine actif de la recherche, notamment pour exploiter au mieux les capacités matérielles tout en respectant les contraintes temporelles. Les travaux existants ont notamment cherché à améliorer l’ordonnançabilité de ces systèmes, c’est-à-dire garantir qu’un nombre maximum de tâches puissent être exécutées sur le système tout en garantissant qu’aucune échéance ne soit violée.
Un système embarqué est un système soumis à certaines contraintes en raison de son environnement. Contrairement à un système classique, il est situé dans un environnement plus ou moins « hostile » avec principalement des contraintes d’énergie et d’espace. Par exemple, les constructeurs automobiles intègrent maintenant de plus en plus de systèmes embarqués dans leurs véhicules et ces systèmes doivent prendre le moins de place possible pour s’intégrer dans l’habitacle du véhicule. Ce travail ne traite que des systèmes embarqués et nous ne préciserons plus systématiquement par la suite le caractère embarqué de ces systèmes. Notons néanmoins qu’un système embarqué peut être temps réel ou non.
Dans le cadre de cette thèse, nous nous intéressons aux systèmes multiprocesseurs, c’est-àdire des systèmes avec plusieurs cœurs de calcul. En effet, les avancées technologiques rendant maintenant difficile l’augmentation de la fréquence de chaque processeur, l’accroissement des capacités de calcul des systèmes se fait en augmentant le nombre de processeurs. Les systèmes multiprocesseurs sont donc de plus en plus présents même dans le cadre des systèmes temps réel embarqués. Les systèmes monoprocesseurs vont ainsi être remplacés par des systèmes multiprocesseurs. Les industriels seront obligés de se tourner vers des systèmes multiprocesseurs. Toutes ces raisons justifient l’étude des systèmes multiprocesseurs. Dans le cadre de systèmes temps réel multiprocesseurs embarqués, le nombre de processeurs est classiquement compris entre 2 et 4 processeurs.
Les systèmes disposant maintenant de capacités de calcul plus importantes, il devient nécessaire pour exploiter ces possibilités de pouvoir exécuter sur le même système des tâches avec différents niveaux de criticité, c’est-à-dire des tâches critiques mais également des tâches dont la criticité est moindre comme par exemple des tâches de supervision ou de contrôle. Ces systèmes sont généralement regroupés sous la définition de systèmes temps réel à criticité mixte. En plus des systèmes temps réel dur, nous souhaitons nous intéresser à ces systèmes qui vont devenir de plus en plus présents et pour lesquels aucune solution n’a encore été proposée afin de réduire la consommation énergétique
La motivation principale pour réduire la consommation énergétique des systèmes embarqués temps réel multiprocesseurs est d’augmenter leur autonomie car ces systèmes embarqués sont souvent dans des environnements hostiles où la source d’énergie principale a une capacité réduite (e.g. une batterie). Réduire leur consommation énergétique permet également de réduire l’encombrement car les systèmes ayant une consommation énergétique réduite nécessitent de plus petites sources d’énergies et moins de mécanismes de refroidissement [Gru02].
Plus généralement, réduire notre consommation énergétique est également aujourd’hui un objectif sociétal non spécifique aux systèmes temps réel. Les ressources énergétiques fossiles se raréfiant et la consommation énergétique mondiale augmentant rapidement, il paraît important de réduire la consommation énergétique de tous les systèmes du fait de leur prolifération et de leur importance dans notre société. Une consommation énergétique réduite est également maintenant devenue un argument de vente important.
La consommation énergétique des systèmes temps réel est constituée des consommations dynamique et statique, qui sont dues respectivement à l’activité des transistors du circuit et aux courants de fuite [AP11]. Dans le cadre de cette thèse, nous nous intéressons uniquement à la consommation énergétique des processeurs, qui sont les principaux composants et qui sont responsables de la majorité de la consommation énergétique [SBDM99, CH10]. Les autres composants du système comme la mémoire ou les périphériques consomment également de l’énergie mais leur activité est liée à celle du processeur qui est responsable de leur activation. La consommation statique ayant évoluée et étant maintenant responsable de la majorité de la consommation énergétique [KAB+03, HSC+11], il est nécessaire d’utiliser les états basse-consommation des processeurs, seule solution pour réduire la consommation énergétique. Un délai de transition et une pénalité énergétique sont par contre nécessaires pour revenir d’un état basse-consommation à l’état actif.
1 Introduction |