e-Surgeon: Diagnosing Energy Leaks of Application Servers
Résumé
GreenIT has emerged as a discipline concerned with the optimization of software solutions with regards to energy consumption. In this domain, most of the state-of-the-art solutions concentrate on coarse-grained approaches to monitor the energy consumption of a device or a process. However, none of the existing solutions addresses in-process energy monitoring to provide in-depth analysis of a process energy consumption. In this paper, we therefore report on a fine-grained real-time energy monitoring framework we developed to diagnose energy leaks with a better accuracy than the state-of-the-art. Concretely, our approach adopts a 2-layer architecture including OS-level and process-level energy monitoring. OS-level energy monitoring estimates the energy consumption of processes according to different hardware devices (CPU, network, memory). Process-level energy monitoring focuses on Java-based applications and builds on OS-level energy monitoring to provide an estimation of energy consumption at the granularity of classes and methods. We argue that this per-method analysis of energy consumption provides better insights to the application in order to identify potential energy leaks. In particular, our preliminary validation demonstrates that we can diagnose energy hotspots of Jetty application servers and monitor their variations when stressing web applications.
L'informatique verte a émergé comme une discipline qui s'intéresse à l'optimisation des solutions logicielles en ce qui concerne la consommation d'énergie. Dans ce domaine, la plupart des solutions de l'état de l'art se concentre sur des approches à gros grains pour contrôler la consommation énergétique d'un matériel ou un processus. Toutefois, aucune des solutions existantes gère la surveillance au niveau processus afin de fournir une analyse en profondeur de la consommation énergétique d'un processus. Dans ce papier, nous proposons un canevas logiciel à grain fin pour surveiller en temps réel la consommation énergétique des applications, et pour diagnostiquer les fuites d'énergie avec une meilleure précision que l'état de l'art. En particulier, notre approche adopte une architecture à 2 couches, une au niveau du système d'exploitation et le suivi de l'énergie au niveau des processus. La couche de surveillance de l'énergie au niveau de l'OS estime la consommation énergétique au niveau du processus selon différents périphériques matériels (processeur, réseau, mémoire). La couche de surveillance de l'énergie au niveau des processus se concentre sur les applications Java et s'appuie sur la couche OS pour fournir une estimation de la consommation d'énergie à la granularité des classes et méthodes. Nous soutenons que cette analyse au niveau des méthodes de la consommation énergétique fournit un meilleur aperçu de l'application afin d'identifier les fuites énergétiques potentielles. En particulier, nos expériences démontrent que nous pouvons diagnostiquer les hotspots énergétique des serveurs d'application Jetty et de surveiller leurs variations lorsque nous mettons sous pression les applications web.
Origine | Fichiers produits par l'(les) auteur(s) |
---|