L'augmentation du coût des énergies fossiles et l'émergence de modèles économiques indexés sur la consommation énergétique (cf. Cloud computing) ont accéléré les recherches et les développements réalisés dans le domaine du Green computing. Alors que beaucoup de scientifiques se concentrent sur l'optimisation de l'allocation des ressources à l'échelle d'une machine ou d'un réseau de machines, nos recherches attaquent cette même problématique sous un angle différent. Nous pensons en effet qu'une optimisation efficace de la l'empreinte énergétique des applications passe par une meilleure compréhension de leur consommation.Dans le cadre de ce projet, l’équipe a développé une librairie, PowerAPI [1], fournissant en temps réel la consommation énergétique d’un logiciel à l’échelle du processus système.
A ce jour, nous comptons une seule API, développée en Scala, permettant d’intéragir avec PowerAPI. Afin de rendre notre librairie accessible à un plus grand nombre de langages de programmation, nous souhaitons développer une nouvelle API compatible avec la majeure partie des langages existants. Il s’agit donc de développer l’API en deux parties avec 1) une interface générique, sous la forme d’un système de fichier virtuel et 2) de nouvelles API se reposant sur l’interface développée en 1) et intéragissant avec l’utilisateur dans un langage donné (e.g., C/C++, Python).
La méthodologie sera la suivante :
1. Prendre en main les outils existants ;
2. Concevoir une interface générique pour PowerAPI sous la forme d’un système de fichier virtuel en utilisant des solutions comme FUSE [2] et en s’inspirant du projet STROLL [3] ;
3. Développer de nouvelles API dans différents langages de programmation (à déterminer), et se basant sur l’interface générique développée en 2 pour interagir avec la librairie PowerAPI.
Liens associés :
|