Optimizing the Energy Footprint of Software Services
Supervision
- Romain Rouvoy
(Associate Professor - ADAM research group) - Lionel Seinturier
(Professor - ADAM research group)
Host
ADAM Research GroupINRIA Lille - Nord Europe
Parc Scientifique de la Haute Borne
40, avenue Halley - Bat. A, Park Plaza
59650 Villeneuve d'Ascq - FRANCE
Context
INRIA, the national institute for research in computer science and control, is dedicated to fundamental and applied research in information and communication science and technology (ICST). Throughout its eight research centres located in seven major regions (Aquitaine, Bretagne, Lorraine, Île-de-France, Nord Pas-de-Calais, Provence Alpes Côte d’Azur, Rhône-Alpes), the Institute has a workforce of 3,700, 2,900 of whom are scientists from INRIA and its partner organizations. INRIA has an annual budget of 162 million euros, 20% of which comes from its own research contracts and development products. INRIA develops many partnerships with industry and fosters technology transfer and company foundations in the field of ICST - some eighty companies have been funded. Startups are financed in particular by INRIA Transfert, a subsidiary of INRIA that supports four startup funds. The international collaborations are based on an incentive strategy of welcoming and recruiting foreign students as well as developing strong exchanges between research scientists. Priority is given to geographic zones with strong growth: Europe, Asia and North America while maintaining reasonable cooperation with South America, Africa and Middle-East.
ADAM is a project-team of the INRIA Lille Nord Europe research center. Members of the ADAM project-team are also part of the LIFL (Laboratoire d'Informatique Fondamentale de Lille) which is a joint unit between CNRS and the University of Lille 1. The objective of the ADAM (Adaptive Distributed Applications and Middleware) project-team is to provide a set of concepts, paradigms, approaches, frameworks, and tools based on advanced software engineering techniques such as CBSE (Component-Based Software Engineering), AOSD (Aspect-Oriented Software Development) or CAC (Context-Aware Computing) to build distributed adaptive software systems (applications and middleware) involving in multi-scale environments and to take into account the adaptation all along the software life-cycle. The ADAM project-team proposes solutions to manage the evolution of application requirements in terms of functional and extra-functional properties either at the level of execution platforms or at the design level. The ADAM project-team applies them to component-based and service-oriented computing distributed applications and platforms.
Motivations
Optimizing the energy cost of digital equipments becomes a mainstream issue to address nowadays environmental concerns, such as global warming or the reduction of energy resources [2]. However, modern digital equipments are based on a complex mix of people, networks, and hardware. Therefore, a reduction of energy costs may not be optimal if it is made conjointly with the hardware and software dimensions. Such a symbiosis offers the possibility to adapt the software according to hardware constraints and vice et versa. These energy-driven changes can be operated at different stages of the equipment's life cycle, from design-time to run-time. For each of these steps, it is necessary to take into account concerns, such as end-user satisfaction, structure evolution, regulatory compliance, elimination of energy losses, the virtualization of server resources, and the return on investment. Therefore, it becomes necessary to integrate as early as possible the energy consumption as a major concern in the design of software. To do this, the software modeling tools must provide architectural constructions to check, adjust, and optimize the system depending on the energy requirements at a given time. For example, these structures must allow sharing of software assets to automatically reduce the existing duplication of system functionality. In some cases, it may also be necessary to deport and virtualize some features to leverage the hardware infrastructure. Finally, the underused digital equipments must be able to reduce their energy footprint by suspending themselves spontaneously. As part of a Digital Home environment, these energy savings also bring significant economic gains for the end user. Thus, the deployment of new digital equipments should not inevitably lead to increased energy costs. On the longer term, intelligent buildings and positive energy building will provide valuable energy information to digital equipments so that they can adapt their behavior depending on their surrounding environment. It is therefore necessary to anticipate the emergence of these new infrastructures to ensure that the digital equipments will be integrated as quickly as possible.
Project
To address these critical challenges for the design of the next generation of digital software, we propose to implement a design methodology to produce innovative products offering an optimal energy footprint. Our goal is to propose a software framework enabling to continuously calibrate applications depending on their energy parameters. The software framework will consist of a monitoring environment measuring software and hardware energy consumptions as well as a realistic bench comparison for ensuring the reliability of the process decision making. This process of decision making will determine the adjustments to be made by evaluating the energy cost of architectural patterns specified in the architectural description of the software. The reconfiguration process will also evaluate the cost of reconfiguring the system in order to limit the reconfiguration to appropriate cases. To address the problems outlined above, we propose to build on an architecture based on the concepts of components and services, similar to Service Component Architecture (SCA) [5] and OSGi [1]. This type of architecture i) facilitates the sharing of software resources by breaking the application silos as services and ii) allows dynamic redeployment of services when adapting the system. The energy footprint of components implementing these services can be dynamically modulated by applying optimization and fusion algorithms . These various adjustments are triggered by highly heterogeneous contextual events (user preferences, energy consumption current and past treatments required by the equipment, availability of resources, etc.). We therefore propose to implement a data-oriented architectural style based on REpresentational State Transfer (REST) [3] in order to support the heterogeneity and the dispersion of contextual information available in the environment. The challenge is to integrate these contextual information in the descriptions of software architecture in order to bind the optimizations applicable to software components (redeployment, merger, division...). The recent experience of the ADAM project-team in the design of context-aware applications for small devices [4] will benefit this project. In particular, the Spaces and FraSCAti platforms provide infrastructure for the preferred implementation of home automation software new generation. The platform FraSCAti [5] supports dynamic reconfiguration of a distributed system comprised of SCA components while the platform Spaces [4] provides an infrastructure for distributed inference adjustment situations.
Objectives
The objectives of the thesis are threefold:to provide a survey and a taxonomy of energy dimensions and optimization algorithms. This study will be based on an exploration of the state of the art in the domain of context-aware self-adaptive and autonomous systems (so called, Green Computing). This document will identify the requirements for enabling energy-driven optimizations;
to propose a novel and modular approach for supporting the energy-driven optimizations of equipments. This approach will provide a “simple but efficient” abstraction for the development of energy-aware systems. The proposed solution will be driven by the requirements identified during the first phase of the project;
to demonstrate and integrate the resulting proposition in the context of a digital home environment.
References
- OSGi- The Dynamic Module System for Java.
- Business Wire. Intel and Google Join with Dell, EDS, EPA, HP, IBM, Le-novo, Microsoft, PG&E, World Wildlife Fund and Others to Launch Climate Savers Computing Initiative, 2007. Press release.
- R. T. Fielding. Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000.
- Enabling Context-Aware Web Services: A Middleware Approach for Ubiquitous Environments. Daniel Romero, Romain Rouvoy, Sophie Chabridon, Denis Conan, Nicolas Pessemier, and Lionel Seinturier. Chapter 5 in Book on Enabling Context-Aware Web Services: Methods, Architectures, and Technologies. p. 113–135. CRC Press. 2009. To appear.
- L. Seinturier, P. Merle, D. Fournier, N. Dolet, V. Schiavoni, and J.-B. Stefani. Reconfigurable SCA Applications with the FraSCAti Platform. In Proceedings of the 6th IEEE International Conference on Service Computing (SCC'09), pages 268-275, September 2009.
Skills
Required: Eclipse, Maven, JavaOptional: Fractal, SCA