• Aucun résultat trouvé

mitation de la majorité des travaux ayant proposé des solutions architecturales adaptatives. Or, les variations PVT intra-die deviennent de plus en plus impor- tantes et limitent les performances des circuits produits dans des technologies avancées. La proposition de S. Das permet d’aborder cette limitation même si l’utilisation des seuls capteurs de fonctionnalité pose encore quelques difficultés, qui pourraient être compensées par l’utilisation de capteurs complémentaires.

La limitation commune au développement et à la généralisation des solutions présentées précédemment est leur coût, à la fois en terme de développement du matériel et en terme d’implémentation et/ou d’utilisation dans le contexte d’un MPSoC. Ces propositions, basées sur des conceptions de capteurs particuliers, semblent trop en rupture par rapport aux plateformes développées usuellement et aux flots de conception associés. Une solution très bas coût en matériel, en conception et en utilisation pourrait être mieux acceptée à la fois par les concep- teurs de circuits intégrés et les responsables de produits.

Dans la section suivante, une architecture adaptative bas coût est présentée. Les limitations relatives aux coûts de conception et d’intégration sont surmontées par l’utilisation de capteurs, d’actionneurs et l’application de politiques d’ajus- tement génériques.

2.3

Proposition d’une architecture AVFS idéale

Le concept fondateur de l’architecture adaptative proposée réside dans le fait de décentraliser le maximum de fonctionnalités (action sur le point de fonctionne- ment, surveillance de la variabilité, décision de ré-adaptation) pour les déporter au plus proche de chaque ressource. Cela permet d’obtenir naturellement un sys- tème dédié et optimisé pour la gestion de la ressource en prenant en compte les variations locales.

L’architecture idéale proposée est basée sur l’implémentation locale de la tech- nique DVFS, augmentée d’un système de surveillance de la variabilité environne- mentale et d’un système de décision de la politique d’ajustement local à appliquer aux actionneurs. Cette architecture locale que l’on nomme AVFS (Adaptive Vol- tage and Frequency Scaling) peut être définie comme un DVFS adaptatif local [53]. En effet, la technique DVFS ayant fait ses preuves en terme d’efficacité sur des circuits mono-processeur, le premier défi est de la rendre implémentable localement en la mettant à l’échelle d’une ressource d’un MPSoC. Le second chal- lenge est d’améliorer le système DVFS classique par la surveillance dynamique de la variabilité et l’adaptation du fonctionnement de la ressource. La Figure 2.5 montre que l’architecture AVFS proposée reprend les actionneurs de tension et de fréquence, ainsi que l’organe de contrôle local, intégrés dans le DVFS comme le montre la Figure 1.4a. Pour rendre le système DVFS adaptatif, des capteurs (carrés noirs sur la Figure 2.5) et un organe d’ajustement local sont ajoutés pour

réaliser un système adaptatif, en boucle fermée. Contrˆole Global Local Contrˆole Actionneur V Actionneur F Ilˆot Adaptatif

...

Ressource IA Ajustement Local IA IA IA

Figure 2.5 – Principaux éléments composant l’architecture adaptative

L’aspect local de la solution adaptative est très important afin de pouvoir ré- duire au maximum les marges de fonctionnement de chaque ressource. La struc- ture idéale de l’AVFS forme un îlot adaptatif permettant d’instrumenter chaque unité de calcul. Dans chaque îlot, l’architecture AVFS est donc composée :

– d’actionneurs pour appliquer un point de fonctionnement tension/fréquence à la ressource gérée du MPSoC ;

– de capteurs de variabilité intégrés dans l’unité de calcul à surveiller (repré- sentés par de petits carrés noirs sur la Figure 2.5), avec éventuellement un système de traitement ou de mise en forme des mesures (non représenté) ; – d’un système décisionnel, incluant le Contrôle local et l’Ajustement local,

qui prend en compte les contraintes de performances provenant du contrôle global et les mesures de variabilité locale.

L’îlot adaptatif forme donc une bulle locale qui s’intègre dans un schéma de contrôle plus global. La structure globale la plus adaptée à la communication semble être de placer les îlots en étoile autour du contrôle global, et que le dialogue entre le contrôle global et les îlots se fasse à travers un réseau asynchrone afin que les communications soit indépendantes des performances de chaque ressource.

La ressource à laquelle on applique l’architecture adaptative peut avoir une taille plus ou moins importante selon la granularité d’implémentation choisie. Une ressource peut être un cœur ou un groupe de cœurs (cluster) dont la surface oc- cupée est plus ou moins étendue. L’architecture AVFS locale présente l’avantage de pouvoir être mise à l’échelle suivant la granularité de l’îlot adaptatif consi- déré. Cependant la performance maximale de la ressource est toujours limitée par la pire condition locale de variabilité qui règne en son sein. Donc, plus la

2.3. PROPOSITION D’UNE ARCHITECTURE AVFS IDÉALE 23

ressource est étendue, plus les disparités PVT au sein de la ressource risquent d’être importantes et moins il est possible d’optimiser l’efficacité énergétique de toute la ressource. En suivant cette logique, et en tenant compte qu’aujourd’hui les circuits sont soumis à des variations intra-die des procédés de fabrication, à des IRdrops locaux et à des gradients importants de température, le découpage le plus fin possible serait donc le plus adapté pour obtenir la meilleure efficacité énergétique de l’îlot. Cependant le matériel nécessaire pour surveiller la variabilité et réajuster les paramètres de fonctionnement doit être implémenté dans chaque ressource et une multiplication excessive des îlots peut conduire à un surplus de matériel très invasif et énergivore. Il est donc certain qu’un compromis doit être trouvé entre efficacité de l’AVFS et le coût de l’adaptation. Ce compromis permet de définir la granularité à laquelle il n’est plus rentable énergétiquement d’implémenter l’architecture. Ce point sera discuté au chapitre 4.

Les capteurs doivent être intégrés dans la ressource afin de surveiller unifor- mément la ressource, ou a minima les zones les plus sujettes à la variabilité. Ils doivent permettre de mesurer la variabilité en un point précis du circuit, ce qui implique qu’ils soient suffisamment petits pour avoir une empreinte silicium né- gligeable. Le but est qu’ils soient capables de mesurer les trois composantes PVT de la variabilité en temps réel et avec la meilleure précision possible. L’idéal serait de disposer de capteurs qui nous renseignent sur l’état des procédés de fabrica- tion sur toute la surface du circuit et sur les évolutions locales de vieillissement tout au long de la vie du circuit intégré. De même, des capteurs de tension et de température permettant d’obtenir une cartographie de l’évolution temporelle et spatiale de la tension et de la température seraient souhaitables.

Les actionneurs permettent d’appliquer à la ressource le point de fonction- nement choisi. Les caractéristiques de performances recherchées pour ces action- neurs sont de délivrer une valeur de sortie la plus proche possible de la consigne et ce le plus rapidement possible. De plus, leur consommation en fonctionne- ment doit être minimisée afin de conserver un bon rendement énergétique. Enfin, la surface occupée par ces actionneurs doit être la plus faible possible afin que la duplication des actionneurs dans chaque ressource ne représente pas un coût surfacique important. Il est à noter que, si la Figure 2.5 présente une structure composée des deux actionneurs que nous considérerons par la suite, le principe de l’AVFS reste identique si d’autres actionneurs sont ajoutés (par exemple un actionneur de tension de substrat).

La partie décisionnelle a pour rôle de fournir aux actionneurs les consignes de paramètres de fonctionnement qui doivent être appliqués à la ressource. Ce calcul est fait en fonction des contraintes de performance liées à la tâche à exécuter et de l’état de variabilité de la ressource. Cette partie est donc composée de deux éléments : le Contrôle local, hérité du DVFS, et l’Ajustement local qui permet de prendre en considération les mesures locales de variabilité provenant des capteurs.

Cet organe décisionnel a également pour objectif de diffuser les mesures de va- riabilité locale (notamment la température) vers les niveaux de contrôle globaux. D’un point de vue des performances attendues, le système décisionnel doit être fiable et il doit introduire le moins de retard possible dans la boucle de contrôle. Le contrôle local reçoit, de la part du contrôle global, les contraintes de perfor- mances relatives à une tâche. Pour calculer la fréquence cible Fcible, qui permet

de respecter les performances, le contrôle local doit connaître le budget tempo- rel dont la ressource dispose pour exécuter la tâche (DL, Deadline) ainsi que la charge de travail que représente cette tâche (WL, Workload). La charge de travail peut être obtenue lors de la compilation, tandis que la contrainte temporelle, liée aux aspects temps réel, est généralement donnée par l’OS (Operating System). Le contrôle local choisit également le niveau de tension permettant de fonctionner à la fréquence cible choisie, tout en consommant le moins possible.

Sans information sur l’état actuel de tension et de température de la res- source, les consignes des actionneurs doivent inclure des marges de fonctionne- ment qui permettent de couvrir toutes les déviations pouvant survenir. Le rôle de l’ajustement local est donc de prendre en compte les mesures de variabilité dynamique afin de réajuster les consignes des actionneurs en vue de diminuer les marges de fonctionnement.

Si les bases et les principaux éléments composant une architecture AVFS locale ont été présentés dans cette section, la réalisation de ce projet est en partie limitée par les choix matériels d’implémentation de chaque bloc, en fonction des éléments disponibles ou non. Dans la section suivante, les choix effectués pour réaliser l’architecture considérée sont présentés et argumentés.