Ce projet de recherche doctorale est publié a été réalisé par LAURENT PAUTET

Description d'un projet de recherche doctoral

Méthode de conception de systèmes et d'applicatifs temps-réels embarqués pour une gestion optimale d'énergie

Mots clés :

Résumé du projet de recherche (Langue 1)

Exposé du sujet La gestion de l'énergie est devenue un enjeu majeur dans nos sociétés modernes. La multiplication des équipements électroniques dans différents domaines (avionique, domotique, automobile, etc.) nécessite une prise en compte de cette problématique dans la conception des systèmes temps-réel embarqués. Cette thèse s’inscrit dans ce contexte de gestion de manière optimale de l’énergie consommée par un système sur puces – multi-processeurs, multi-coeurs, potentiellement distribués – devant offrir des contraintes temps réel. La consommation électrique d’un processeur est la somme de la puissance statique et dynamique. La puissance statique est principalement due aux courants de fuite. La puissance dynamique est fonction de la fréquence du processeur f, de la tension de fonctionnement V et peut être approximée selon la relation suivante : C * f * V2 (où C est une constante de l'équipement). Par ailleurs, une certaine tension de courant est nécessaire pour qu’un processeur puisse opérer à une fréquence donnée. Les processeurs actuels offrent la possibilité de changer la fréquence ainsi que la valeur du courant qui les traverse. Ainsi et au niveau logiciel, les principaux travaux de recherche sur la minimisation de la consommation énergétique ont visé à exploiter la possibilité matérielle de changer ces paramètres à travers la proposition d’algorithme d’ordonnancement appelés Dynamic Voltage and Frequency Scaling (DVFS) [1]. Pour les systèmes temps réel, la difficulté est alors de définir des politiques d’ordonnancement qui minimisent la consommation énergétique tout en respectant les contraintes temporelles du système considéré. De manière classique dans ces systèmes, les tâches sont exécutées à la fréquence la plus élevée par un processeur, aboutissant à la création de fenêtres temporelles où le processeur n’est plus utilisé. Les algorithmes proposés calculent donc statiquement, en fonction des besoins applicatifs au pire (connus à priori), un ordonnancement visant à réduire à zéro la taille de ces fenêtres temporelles en diminuant la fréquence, la valeur du courant et donc la consommation d'énergie. Des améliorations à cette technique ont été proposées par exemple pour que la fréquence soit dynamiquement ajustée lorsqu'à l'exécution le pire cas n'est pas ponctuellement suivi [2]. D’autres politiques d’ordonnancement introduisent dans leur modèle les temps de changement des fréquences ou font certaines hypothèses sur les garanties et possibilités que peut offrir un processeur, rendant l’application des solutions proposées non envisageable. Par ailleurs, la généralisation des architectures multi-coeurs dans les années à venir ouvre de nouvelles possibilités. Ces architectures permettent d'augmenter les performances des systèmes tout en maintenant la consommation d'énergie. Cependant, les travaux de recherche ont à ce jour peu exploré les possibilités offertes par des architectures multi-coeurs, multi-processeurs, potentiellement distribués [3,4]. En résumé, l’ensemble de ces travaux restreint la problématique de la gestion de l’énergie aux seules propositions et conception d'algorithmes d’ordonnancements adaptés. Toutefois, les possibilités matérielles des équipements électroniques embarqués sont loin d’être pleinement exploitées par ces techniques. A titre d'exemple, un algorithme DVFS peut théoriquement offrir un gain de l'ordre d'un facteur inférieur à 100 pour un mode d'exécution donné du processeur [5]. Cependant, une carte matérielle offre d’autres mécanismes de gestion de l’énergie, comme par exemple la présence de différents modes de sommeil du/des processeur(s) et des périphériques. L’exploitation de ces possibilités laisse envisager un gain de l'ordre d'un facteur jusqu'à 10000 sur certaines cartes matérielles [5]. L’utilisation d’une approche globale pour prendre en compte l’ensemble des mécanismes de gestion de l’énergie d’un système embarqué - mono-processeur, multi-processeurs, multi-coeurs, potentiellement distribués - est donc nécessaire afin d'optimiser leur usage à des stratégies de gestion à définir. Les travaux de thèse consisteront à permettre l’expression des possibilités de gestion d’énergie à un niveau système et de les dériver/propager jusqu’à la conception des applicatifs et de leurs modes d’exécution. Ainsi, les contributions de cette thèse couvriront à la fois des aspects bas niveau de prise en compte de l'ensemble des mécanismes matériels pour la gestion de l'énergie, mais également des aspects de plus haut niveau par l'introduction d'une méthode de conception d'applications et de systèmes temps-réels embarqués visant une gestion adaptée de l'énergie en fonction de stratégies à définir. En effet, le facteur de gain envisageable par l’exploitation des capacités matérielles est fortement dépendant de l’application exécutée mais également de la manière dont elle est programmée. Par exemple, des systèmes embarqués utilisent des dispositifs d’affichage offrant des garanties de sûreté de fonctionnement. Toutefois, ceux-ci peuvent se révéler utiles que lors de phases particulières du cycle d'exécution du système, tel que pour une interaction ponctuelle avec un utilisateur ou pour une opération de maintenance. Dans le reste du cycle d'exécution, le dispositif d’affichage et les traitements logiciels correspondant ne sont pas nécessaires et peuvent donc être mis en veille. La possibilité d'exprimer ce comportement - et donc ses conséquences sur l'utilisation des mécanismes matériels de gestion de l'énergie pour le support d'exécution - à travers une méthode de conception d'application tempsréel adaptée pour une gestion optimale de l'énergie est nécessaire. Ainsi, l'impact sur les mécanismes génériques du support d’exécution pour la gestion de l'énergie sera également au coeur de ce sujet. La finalité de la thèse est de rapprocher les gains réels au plus près des gains théoriques des systèmes sur puces. Les travaux pourront s’appuyer sur l’extraction de profils applicatifs dynamiques et prédictibles que permet d’envisager l’environnement de conception et d’exécution de systèmes temps-réels sûr de fonctionnement OASIS, développé au sein du laboratoire LaSTRE. Par ailleurs, les travaux devront prendre en compte dès le début différentes architectures typiques des systèmes embarqués du futur, notamment multi-processeurs, potentiellement distribués et hétérogènes, et multi-coeurs. En effet, ces architectures ouvrent des perspectives intéressantes pour la gestion de l'énergie, comme par exemple la migration de tâches ou la mise en sommeil partielle de certains coeurs, qui nécessite une gestion adaptée de l'énergie afin d'augmenter le niveau de performances des applications tout en maintenant leur niveau de consommation d'énergie. 1.I. Hong, D. Kirovski, G. Qu, M. Potkonja and M. B. Srivastava. Power optimization of variable voltage core-based systems. Proc. of the 35th annual conference on Design automation (DAC'98), pages 176-181, NY, USA, 1998. ACM. 2.H. Aydin, R. Melhem, D. Mosse and P. Mejia-Alvarez. Dynamic and aggressive scheduling techniques for power-aware real-time systems. Proc of the 22nd IEEE Real-Time Systems Symposium (RTSS 2001), vol., no., pp. 95-105, Dec. 2001 3.D. Zhu, R. Melhem and B. Childers. Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation in Multi-Processor Real-Time Systems. IEEE Trans. Parallel Distrib. Syst., vol. 14, no. 7, pp. 686 -700. 2003. IEEE Press. 4. D. Simone. Power Management in a manycore operating system. Master thesis. August 2009. ETH Zurich, System Group, department of Computer Science. 5.ST Microelectronics. STM32F103 datasheet. September 2009. Available at http://www.st.com/stonline/products/literature/ds/15060.pdf

Résumé du projet de recherche (Langue 2)

Pour les systèmes temps réel, la difficulté est de définir des politiques d’ordonnancement qui
minimisent la consommation énergétique tout en respectant les contraintes temporelles du système
considéré. De manière classique dans ces systèmes, les tâches sont exécutées à la fréquence la plus
élevée par un processeur, aboutissant à la création de fenêtres temporelles où le processeur n’est
plus utilisé. Les algorithmes proposés calculent donc statiquement, en fonction des besoins
applicatifs au pire (connus à priori), un ordonnancement visant à réduire à zéro la taille de ces
fenêtres temporelles en diminuant la fréquence, la valeur du courant et donc la consommation
d'énergie. Des améliorations à cette technique ont été proposées par exemple pour que la fréquence
soit dynamiquement ajustée lorsqu'à l'exécution le pire cas n'est pas ponctuellement suivi [2].
D’autres politiques d’ordonnancement introduisent dans leur modèle les temps de changement des
fréquences ou font certaines hypothèses sur les garanties et possibilités que peut offrir un
processeur, rendant l’application des solutions proposées non envisageable.
Par ailleurs, la généralisation des architectures multi-coeurs dans les années à venir ouvre de
nouvelles possibilités. Ces architectures permettent d'augmenter les performances des systèmes tout
en maintenant la consommation d'énergie. Cependant, les travaux de recherche ont à ce jour peu
exploré les possibilités offertes par des architectures multi-coeurs, multi-processeurs,
potentiellement distribués [3,4].