Ces méthodologies s'attaquent aux défis liés à la consommation d'énergie, tels que l'utilisation des équipements actuels et futurs ou la planification des machines virtuelles dans les centres de données.
Concernant les modèles de programmation, le projet s'est concentré sur la transition d'un modèle à mémoire partagée vers un modèle centré sur les acteurs et l'échange de messages. Ceci permet aux programmeurs d'améliorer l'efficacité énergétique tout en les sensibilisant davantage aux problématiques énergétiques. Deux approches illustratives sont :
• Des solutions de programmation individualisées pour les architectures hétérogènes GPU/CPU. La gestion directe du GPU via un code optimisé peut réduire la consommation d'énergie d'environ 80 %. Cependant, cela requiert une spécialisation qui limite la programmabilité. Le projet ParaDIME a développé des techniques basées sur des langages dédiés qui génèrent du code pour le CPU et le GPU, permettant des économies d'énergie jusqu'à 40 % et, surtout, rendant ces architectures plus accessibles à un plus grand nombre de programmeurs.
• Des outils favorisant une meilleure compréhension de la consommation d'énergie et des coûts. Ces outils évaluent les besoins énergétiques d'un processus unique exécuté dans un environnement virtualisé. Ces données peuvent également servir à l'élaboration de modèles de coûts centrés sur l'utilisateur, à la mise en œuvre d'une planification des tâches prenant en compte la consommation énergétique, et comme indicateur de la quantité de ressources hétérogènes consommées par une application.
Concernant le temps d'exécution, le projet ParaDIME a développé une infrastructure décentralisée de grande envergure, composée de petits centres de données assurant le chauffage et la production d'eau chaude sanitaire. Ce système permettrait d'accroître l'efficacité, comme l'a démontré le partenaire industriel du projet, l'entreprise allemande Cloud&Heat. Les chercheurs de ParaDIME ont développé :
• Un planificateur multi-centres de données : celui-ci répartit les tâches entre différents centres de données, optimisant ainsi la charge des centres et les besoins en chauffage/refroidissement. Il en résulte une réduction des émissions de CO₂ et de la consommation énergétique pouvant atteindre 50 %.
• Un planificateur inter-centres de données : des technologies ont été développées pour réduire à la fois le temps de réactivation des machines virtuelles et les coûts associés à leur migration. La communauté QEMU (un émulateur de machines virtuelles open source) analyse actuellement certains aspects de ces travaux. Les institutions utilisant actuellement QEMU pour virtualiser leurs charges de travail bénéficieront du code de migration pour machines virtuelles optimisé par le projet ParaDIME. De plus, le projet ParaDIME a contribué à une fonctionnalité de suivi des modifications apportées aux périphériques de stockage par blocs, déjà intégrée au noyau Linux le plus récent.
Au niveau matériel, les chercheurs du projet ParaDIME ont proposé et simulé diverses méthodologies pour améliorer l'efficacité des nœuds de calcul, notamment :
• La planification des tâches sur des cœurs hétérogènes (par exemple, des processeurs big.LITTLE ou des systèmes combinant des cœurs FPGA, GPU et CPU). En combinant des cœurs FPGA, GPU et CPU, on peut économiser en moyenne 40 % d'énergie par rapport à un processeur multicœur. La planification ParaDIME réduit également la consommation d'énergie de 20 % en moyenne et la consommation énergétique de 30 % sur différents types de plateformes hétérogènes. Le projet ParaDIME a également analysé des outils d'estimation de la consommation pour divers cœurs.
Une réduction significative de la tension d'alimentation est obtenue. Des économies d'énergie sont réalisées en combinant cette réduction avec des techniques de détection et de correction d'erreurs à faible coût. De plus, les chercheurs de ParaDIME ont étudié cette méthodologie dans des circuits destinés aux futurs dispositifs. La méthodologie ParaDIME permet d'économiser jusqu'à 60 % de l'énergie consommée par le cache de données L1.

Plus d'informations