Green Middleware

This page presents the activities of the ADAM project-team in the domain of Green Middleware.

A major concern of the ADAM team is to use monitoring information to build better software systems that can be aware of their energy consumption. This concern has led to three contributions that are presented in the remainder of this page.

  1. Monitoring the energy of a software system at the process-level
  2. Monitoring the energy of a software system at the code level
  3. Establishing a survey of techniques to monitor energy at the middleware layer

Introduction: Towards a greener software world

Energy-aware software solutions and approaches are becoming broadly available, as energy concerns are becoming mainstream. The increasing usage of computers and other electronic devices (e.g., smartphones, sensors) is continuously impacting our overall energy consumption. Information and Communications Technology (ICT) accounted for 2% of global carbon emissions in 2007 [1] or 830M tCO2e [2], and is expected to grow to 1,430 M tCO2e in 2020 [2]. These values illustrate the opportunities for efficient ICT solutions to reduce carbon emissions and energy consumption. Rising energy costs in computers and mobile devices implies the optimization and the adaptation of computer systems. In this domain, research in GreenIT already proposes various approaches aiming at achieving energy savings in computers and software. In particular, monitoring the energy consumption of the system is a requirement to achieve such savings.

References

[1] Gartner, Green IT: The New Industry Shockware, Presentation at Symposium/ITXPO Conference, 2007.

[2] M. Webb, SMART 2020: enabling the low carbon economy in the information age, a report by The Climate Group on behalf of the Global eSustainability Initiative, GeSI, 2008.

Energy monitoring at the process-level

Studying energy monitoring of an application at the process-level has led the ADAM team to develop its own tool: PowerAPI. PowerAPI is a library to monitor energy spent by an application at the process-level. Energy monitoring is done by applying specific formulae, through the interaction between the application and hardware components (CPU, memory, disk, etc.). One of goals of PowerAPI is to adapt itself to the monitoring needs and so, in providing an API to precisely define what kind of energy monitoring scenario we want to follow. In addition, PowerAPI doesn't need external devices such as power-meters. All the computation is done thanks to energy formulae, in using information provided by the environment.

Publications and related links

  1. Runtime Monitoring of Software Energy Hotspots. A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. In 27th International Conference on Automated Software Engineering (ASE'12). Essen, Germany, September 2012.
  2. A Preliminary Study of the Impact of Software Engineering on GreenIT. A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. In 1st International Workshop on Green and Sustainable Software (GREENS'12/ICSE'12), Zurich, Switzerland, June 2012.
  3. e-Surgeon: Diagnosing Energy Leaks of Application Servers. A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. Inria Research Report, January 2012.
  4. Linux: Understanding Process-Level Power Consumption. A. Bourdon, A. Noureddine, R. Rouvoy, and L. Seinturier. Invited talk at the 2nd International Workshop on Green Computing Middleware (GCM @ Middleware'11), Lisbon, Portugal, December 2011.
  5. PowerAPI website
  6. Aurélien Bourdon interview on PowerAPI at Rencontres Inria Industrie, March 2012.
  7. PowerAPI : mesurer la consommation électrique des logiciels sans wattmètre. GreenIT.fr, Janvier 2013.
  8. Mesurer la consommation en énergie des logiciels avec précision. 01 Business & Technologies, Janvier 2013
  9. PowerAPI: A Software Library to Monitor the Energy Consumed at the Process-Level. ERCIM News, January 2013.

Energy monitoring at the code-level

Monitoring the energy consumption at the code-level have multiple scientific objectives, in particular for detecting energy hotspots of applications. The created energy profile of applications can be used from understanding where the energy is spend, to adapting software for energy-efficiency. In ADAM team, we created a tool called e-Surgeon which is a comprehensive architecture to monitor energy consumption by an application at the code-level. It is build around PowerAPI and is based on a modular approach. Concretely, e-Surgeon is split in two complementary parts: PowerAPI and a high level application profiling environment. A Java implementation of the latter called Jalen is available as a Java Agent, allowing introspection of Java application and monitoring the energy spend by methods, classes or packages.

Publications and related links

  1. Runtime Monitoring of Software Energy Hotspots. A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. In 27th International Conference on Automated Software Engineering (ASE'12). Essen, Germany, September 2012.
  2. e-Surgeon: Diagnosing Energy Leaks of Application Servers. A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. Inria Research Report, January 2012.
  3. e-Surgeon website (Github)
  4. Jalen website (Github)

Energy monitoring techniques at the middleware layer

Many approaches have been proposed to manage the energy consumption of the hardware, operating system, or software layers (including the previous approaches developed by ADAM team). A new generation of communicating and mobile devices that uses complex middleware platform functionalities is emerging. Therefore, energy management has emerged as a topic of research interest in the middleware layer. The state-of-the-art approaches for energy management middleware platforms has been studies in a review report. This article defines also an architectural taxonomy and compares existing approaches on the basis of this taxonomy. In particular, the article reviews middleware platforms and details a number of approaches where energy management is handled. It also reviews application scenarios where the energy management concepts at the middleware layer are applied in intelligent environments.

Publications and related links

  1. A Review of Middleware Approaches for Energy Management in Distributed Environments. A. Noureddine, R. Rouvoy, and L. Seinturier. In Software: Practice and Experience journal (SPE). Volume 43, Issue 9, pages 1071–1100, September 2013.

News

  • 2013/12/09: Ceremony for the PRES ULNF International Research Thesis Award 2013 granted to Gabriel Tamura for his PhD Thesis - U. Lille 1, Building P3, Maxwell Amphitheater
  • 2013/12/05: Rémi Druilhe PhD defense
  • 2013/11/27: Maria Gomez Lacruz received the Best Poster Award at the Welcome PhD session organized by PRES UNLF
  • 2013/11/04: Filip Krikava joins ADAM
  • 2013/10/29: The ApiSwarm project is selected in the context of the Windows Azure Research Award Program
  • 2013/10/15: Maria Gomez Lacruz joins ADAM
  • 2013/10/01: Maxime Colmant, Vincenzo Musco, Loïc Huertas and Bo Zhang join ADAM
  • 2013/09/01: Daniel Le Berre and Jifeng Xuan join ADAM
  • 2013/07/05: Russel Nzekwa PhD defense