Power Consumption Profiler

Aus SDQ-Wiki
Zur Navigation springen Zur Suche springen

System Profiling

Out Power Consumption Profiler allows for the extraction of server profiles that can be used to derive representative power models of servers. Our profiler uses realistic workloads and targets specific metric values to extract meaningful input for training power models.

As our profiler builds upon proprietary code owned by the Standard Performance Evaluation Corporation (SPEC), code access can only be granted to other members of SPEC. Should you be a member of SPEC, feel free to contact the authors to get access to the code. In case you are interested in using our approach in a different context, we are happy to identify paths to fully open sourcing our code.

Import of Profiling Results

Before the power models can be extracted from the measurement results, the measurements need to be imported into the evaluation environment. We use EDP2 that comes with the latest release of Palladio. The plugins for importing measurements can be found in the SVN. The relevant plugins are

  • de.fzi.power.profilingimport
  • de.fzi.power.profilingimport.edit
  • de.fzi.power.profilingimport.editor

As a prerequisite you need to have our energy analysis tooling installed.

Training Power Models

Our profiler is fully integrated with our tooling for analyzing the power consumption of software systems. We use the power model language/meta-model described in our publication [1].

We use the profiles extracted using our profiler as input to statistical learning techniques such as robust nonlinear regression or symbolic regression (genetic programming). Our toolchain enables an easy integration of further parametrization techniques. The framework we built for training power models integrates with our Eclipse-based power modeling tools.

The p2 update site allows for an installation of our regression tooling in Eclipse. As a prerequisite, the power consumption analyzer needs to be installed.


In order to evaluate the accuracy of the models extracted using our approach, we employed the application workloads of HiBench and SPECjbb2015. HiBench covers a set of Hadoop big data application workloads. SPECjbb2015 represents an Enterprise web server application.

Evaluation Results

You can download measurements and analysis scripts used in the evaluation here. The main analysis and measurement results are contained in the folder Scripts/Measurements. In this folder, you will find the profiling data in 20160810-140500-merged. The results from the evaluation are contained in the folders HiBench and SPECjbb. Each of the folders contains R scripts we used to analyze the data. When using these scripts, make sure that you change the working directory contained in the topmost line of the scripts, to the path where the result files are actually located.

Evaluation Tooling

To ease the comparison of measurement data and the prediction of power models, we implemented evaluation tooling that allows for the comparison of measurements and predictions of power models. The tooling fully integrates with our existing Eclipse-based tooling, and can be installed as Eclipse plugins. As of now, you can check out the source code for the plugins from SVN: UI Plugin, Evaluation Plugin. To check out the code via SVN use the credentials anonymous, anonymous.

Evaluation Resources

The evaluation resources are available in the SVN. You can use the resources to train and evaluate the power models considered in the evaluation. To import measurement run results, open one of the *.mapping models. Before loading them, make sure that the Csv File Uri of all Metric To Csv Mapping String point towards the folders and files where you stored the aforementioned Evaluation results. You can import the measurements into EDP2 by right-clicking on the Repository in the mapping and clicking on "Import Measurements into EDP2".


  1. Christian Stier, Anne Koziolek, Henning Groenda, and Ralf Reussner. “Model-Based Energy Efficiency Analysis of Software Architectures”. In Proceedings of the 9th European Conference on Software Architecture (ECSA '15), Dubrovnik/Cavtat, Croatia, 2015, Lecture Notes in Computer Science. Springer. 2015.