Parallel Heterogeneous Energy efficient Real-time Multiprocessor Architecture
Parallel Heterogeneous Energy efficient Real-time Multiprocessor Architecture

Présentation du Projet Pherma

Résumé
Les systèmes embarqués et mobiles voient leur complexité croître de façon continue. Ils intègrent de plus en plus des architectures multiprocesseur sur puce (MPSOC) dont le parallélisme augmente avec les besoins de performances. Cette évolution induit des difficultés croissantes à modéliser les comportements de ces architectures avec pour conséquence première des difficultés accrues pour concevoir un système qui vérifie a priori des contraintes d'échéance de tâches et/ou de débit. Le corollaire est que l'optimisation de la consommation d'énergie devient de moins en moins efficace avec l'augmentation du pessimisme de la prédiction/estimation des comportements. Ceci va à l'encontre des besoins de réduction de l'énergie consommée, alors qu'il s'agit d'un critère qui prend de plus en plus d'importance dans de nombreuses applications mobiles. Pour aborder cette problématique cruciale, le projet PHERMA (Parallel Heterogeneous Energy efficient Real-time Multiprocessor Architecture) vise à reconsidérer le schéma de contrôle (RTOS) dans une architecture MPSOC dans le but :
  • de proposer un modèle d'architecture Sw/Hw performante ayant des comportements déterministes afin de garantir des temps de réponse maximum,
  • de faciliter/adapter l'analyse d'ordonnançabilité basée sur ce modèle d'architecture afin de vérifier a priori que les fins d'exécution des tâches respectent leurs échéances,
  • de proposer des méthodes d'optimisation hors-ligne et en-ligne de la consommation d'énergie en considérant ce modèle d'architecture.
Objectifs
Le projet PHERMA cherche à proposer un environnement de conception et d'exécution pour de nouvelles architectures basées sur un modèle d'exécution hétérogène appelé SCMP (pour Scalable Chip Multi Processing, et développé par le CEA). Ce modèle supporte la migration dynamique des tâches comme leur préemption. Il est vu par le CPU comme un coprocesseur dédié au contrôle et à l'exécution des applications critiques tandis que le CPU reste en charge des services plus standards. Afin d'assurer le contrôle de ces applications critiques, le projet PHERMA prévoit d'implémenter certains services du système d'exploitation (OS) directement via le matériel afin de tendre vers un comportement de l'OS graduable et déterministe (en terme de temps de réponse) ; graduable de façon à s'adapter au nombre croissant des cœurs embarqués dans les architectures MPSoC, et déterministe de façon à mieux satisfaire aux exigences du contexte temps réel et de la consommation d'énergie. Le développement de tels systèmes temps réel performants et prédictibles réclame l'étude de politiques d'ordonnancement adaptées ainsi que des techniques d'analyse d'ordonnançabilité associées afin de garantir le respect des contraintes temporelles d'exécution.
Notre proposition consiste à réexaminer l'organisation de la gestion d'une architecture MPSoC afin que :

i) l'efficacité globale de cette gestion soit effectivement améliorée,
ii) les contraintes temps réel comme celles relatives à la consommation d'énergie soient traitées conjointement.

Notre approche est basée sur une virtualisation de l'architecture MPSoC sous la forme d'un « monoprocesseur à tâches multiples parallèles ». Ceci conduit à une vue homogène des tâches (threads) et des communications inter-tâches qui, habituellement, sont gérées à des niveaux de contrôle différents dans les architectures parallèles. Dans cette architecture MPSoC virtualisée, les tâches comme les communications sont des composants d'application qui doivent être ordonnancés par une même et unique couche de contrôle (l'ordonnanceur) et exécutés par les unités de l'architecture. Un unique ordonnanceur pour les tâches et les communications conduit à cette vision d'un « monoprocesseur à tâches multiples parallèles ». Ce point est important dans la mesure où il offre la possibilité d'exploiter les approches traditionnelles d'analyse d'ordonnançabilité monoprocesseur pour la vérification du respect des contraintes temporelles, sous réserve que les valeurs des durées d'exécution (WCET) des tâches et des communications soient connues.
Dans de nombreux systèmes, la maîtrise de la consommation d'énergie/puissance devient un objectif de même importance que celui du contrôle temporel de l'exécution des tâches temps réel : par exemple, une consommation maximum de 3W (exigence imposée par la technologie des batteries) est généralement prise en compte par les concepteurs de téléphones portables, ceci quel que soient le nombre et le type des fonctionnalités supportées par ces équipements. De plus, les prochaines architectures MPSoC incluront de plus en plus de mémoire, ce qui contribuera largement à la consommation d'énergie du système. Gérer les modes de consommation d'une mémoire multi-banques est donc de première importance pour éviter qu'elle n'occasionne une augmentation de la consommation d'énergie, ceci tout en appliquant des techniques de réduction des fréquence et tension (DVFS) pour la partie processeur.
Structure du projet
Le projet est décomposé en 5 sous-projets (SP) comme montré par la figure qui suit. Le premier SP (SP1) concerne le pilotage du projet, de la définition du modèle d'architecture et du plan de validation. Deux SPs (SP2 et SP3) relèvent des tâches techniques du projet, SP4 de la validation des résultats et SP5 de la dissémination des résultats.


Impact scientifique et technique
Les retombées du projet PHERMA devraient être significatives puisque celui-ci traite d'un point-clé de la conception de systèmes exigeants en matière de performances temporelles et de consommation d'énergie : quelques méthodologies existent pour vérifier des propriétés ou la correction d'un modèle de système temps réel mais un besoin demeure pour des modèles d'architecture et des méthodes de conception/projection qui permettent une implémentation globale tout en préservant les comportements attendus et les scénarios d'économie d'énergie. Par les résultats du projet PHERMA, validés sur un prototype, nous montrerons qu'un système déterministe, à faible consommation et parallèle peut être conçu de sorte que :

i) l'utilisation des ressources soit optimisée (augmentation du taux d'occupation, minimisation du surdimensionnement de l'architecture induit par le pessimisme des modèles),
ii) la consommation d'énergie soit réduite (mise en œuvre de stratégies hors-ligne et en-ligne), et
iii)la robustesse soit améliorée (déterminisme accru) limitant ainsi les coûts de validation.

De tels résultats sont de prime importance pour les industriels qui visent par exemple le marché des systèmes (mobiles) embarqués de pointe. Le projet PHERMA n'apportera pas une solution complète et générale à un tel problème global, mais nous sommes convaincus qu'il contribuera de manière significative à l'émergence d'autres projets de recherche sur ce thème : améliorer encore le compromis performance/déterminisme des architectures, tout comme les liens entre les modèles/analyses d'ordonnançabilité et les architectures.
Impact industriel et économique
Les produits développés par THALES Communications dans les prochaines années seront mobiles, multi-protocoles et supporteront des services multipes (image, video, JPEG2000, MPEG2, MPEG4, H264). La consommation sera un des enjeux majeurs de ces produits.
Les équipements modernes mobiles tirent profit des architectures multiprocesseur pour répondre aux exigences de performances résultant de la variété des informations qu'ils ont à traiter. Pour de tels systèmes hétérogènes et de complexité croissante, les techniques classiques de gestion et d'optimisation de la consommation d'énergie doivent être reconsidérées. Pour cette raison, la maîtrise des questions d'énergie dans les systèmes embarqués à venir passe par une approche de conception globale et cohérente de l'OS.
Pour THALES Communications, le projet PHERMA ouvrira sur des techniques innovantes d'optimisation de la consommation. Il conduira à des solutions efficaces pour l'implémentation d'applications logicielles embarquées temps réel.