Project Description

Determining the Influence of Software Configurations on Energy Consumption (funded by the DFG: 590,000€, 2018-2022)

Reducing energy consumption is an increasingly important goal of our society. It is predicted that IT energy usage will almost double by the year 2020, not only due to numerous data centers, but also because of billions of end devices. At the same time, software and hardware systems grow ever more complex by providing configuration capabilities, which makes it difficult to select a software and hardware system that not only satisfies the functional requirements, but also considers its energy consumption. In general, there are two important causes of energy wasting of IT systems: sub-optimal configuration of configurable systems (users‘ perspective) and inefficient implementation (developers‘ perspective).

Green Configuration will target both causes to reduce the energy consumption of IT systems. In this project, we will develop techniques to measure, predict, and optimize the influence of features and their interactions on the energy consumption of a configurable system. Furthermore, we will develop methods and analysis techniques to support developers in identifying the cause of energy problems in the source code.

The heart of the project is the energy-influence model, which captures the influence of software, hardware, and workload features on energy consumption. We will determine the influence using a combination of black-box and white-box measurements with modern learning strategies (e.g., active learning and transfer learning). We will use tailored sampling techniques and related them to the results of control-flow and data-flow analysis techniques to determine optimal configurations and trace the origin of energy leaks. The goal is to learn an accurate influence model with few measurements, which can then be use to relate the individual influences to regions of the source code.

The influence model builds the foundation of the Green Configurator, a tool to show the consequences of configuration decisions to users. The Green Analyzer builds also on the influence model to support developers in maintenance tasks, for example, by highlighting regions in the source code with high energy consumption.

Green Configuration commits to the German goal of reducing energy consumption. By making consequences of configuration decisions visible to the user, we aim at inducing long-term behavioral changes that potentially save more energy than pure software-based optimizations. The foundational character of the project can fertilize further research in related fields. For instance, we investigate the issue of the effect of software-hardware configuration on quality attributes and provide accurate and realistic surrogate models for multi-objective optimization. By combining software analysis with machine learning, we also expect new insights about the effect of program flow and control flow on energy consumption.

Resources

As a result of the Green Configuration, we make available the following resources:

The Green Configurator is a prototype of an application that lets you you configure a software system and estimates several non-functional properties.

White-box performance-influence models are an approach for modeling configuration-dependent properties of software systems at the method level.

Our python library P4 provides a sklearn-like Bayesian regressor. We are currently working on packaging it as a PyPI package, but it can already be used as a Docker container:

FFAME is a fine-grained fast measurement system for Energy consumption. At the moment, its hardware and software design are developed in our internal git repository. However, it will become public very soon:

Publications

2022

  • N. Siegmund, J. Dorn, M. Weber, C. Kaltenecker, and S. Apel. Green Configuration: Can AI Help in Reducing Energy Consumption of Configurable Software Systems? IEEE Computer, 2022. To appear.

2021

2020

2019

2018

2017

  • Pooyan Jamshidi, Miguel Velez, Christian Kästner, Norbert Siegmund, and Prassad Kawthekar.Transfer Learning for Improving Model Predictions in Highly Configurable Software. In Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), pages 31-41, IEEE, May 2017. Acceptance rate: 23%.
  • Vivek Nair, Tim Menzies, Norbert Siegmund, and Sven Apel. Using Bad Learners to find Good Configurations. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE), pages 257 – 267, ACM Press, September 2017. Acceptance rate: 24% (72 / 295).
  • Jeho Oh, Don Batory, Margaret Myers, and Norbert Siegmund. Finding Near-Optimal Configurations in Product Lines by Random Sampling. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE), pages 61 – 71, ACM Press, September 2017. Acceptance rate: 24% (72 / 295).
  • Norbert Siegmund, Stefan Sobernig, and Sven Apel. Attributed Variability Models: Outside the Comfort Zone. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE), pages 268 – 278, ACM Press, September 2017. Acceptance rate: 24% (72 / 295).

Funding

Green Configuration is funded by the German Research Foundation (DFG) under the contracts SI 2171/3-1. The funding period is from 2018 to 2021.

Contact

Prof. Dr.-Ing. Norbert Siegmund

Chair of Software Systems
Leipzig University

Project Leader

M. Sc. Johannes Dorn

Software Systems
Leipzig University

PhD Student

M. Sc. Max Weber

Software Systems
Leipzig University

PhD Student