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.
L’estimation de cette consommation se base sur l’observation de l’utilisation des composants matériels (e.g., CPU, disque, réseau) par un processus système donné. Chaque composant matériel est modélisé comme une "sonde énergétique" composée :
- D’un "capteur", responsable de la collecte en temps réel de statistiques d’utilisation des ressources au sein du système d’exploitation ;
- D’une "formule", ou modèle analytique, responsable de l’estimation de la consommation énergétique du processus système pour le composant matériel concerné.
Une fois la sonde énergétique modélisée, il est alors possible de récupérer les informations de consommation énergétique au sein d’un "listener", pouvant effectuer différents rendus, e.g, console texte, fichier, ou graphique.
Actuellement, nous pouvons uniquement récupérer les résultats de consommation localement à la machine d’exécution. Nous aimerions maintenant développer une interface graphique Web, nous permettant de contrôler PowerAPI à distance. Il s’agit alors de concevoir une interface capable de configurer une requête utilisateur, de l’exécuter et de récupérer son résultat. La méthodologie sera la suivante :
1. Prise en main des outils existants ;
2. Conception de l’interface, en se basant par exemple sur des frameworks Web existants [2, 3] ;
3. Développement de l’interface Web.
Liens associés :
|