Power Consumption Analyzer
|Name||Power Consumption Analyzer|
|Contacts||Christian Stier (http://sdq.ipd.kit.edu/people/christian stier/)|
|Is Stand-alone Analysis?||No|
|Extends Analyses||SimuLizar, SimuCom|
The Power Consumption Analyzer tooling supports the analysis of power and energy consumption of software systems defined in PCM. Power distribution characteristics are defined using instances of the Power Consumption model. The Power Consumption model references PCM's Resource Environment Model and annotates each resource and ResourceContainer with its consumption characteristics.
Please refer to our technical report for details on the Power Consumption model and our analysis approach.
- Download a Mars Eclipse (version 4.5).
- Install PCM via the nightly update site.
- Install the Power Consumption Analyzer via its update site.
An example instance for the Media Store architecture model can be found here. Perform the following steps to perform a power consumption analysis.
- Run the simulation using the Example 'Energy Analysis Run.launch'. Make sure that 'Delete tempory data after analysis' is unchecked in the 'Analysis Configuration' tab, and that a valid EDP2 repository is opened in the 'Simulation' tab.
- Open EDP2's 'Experiments' view.
- Select the experiment run:
- Open up the mediastoreElsbeere.infrastructure model in Eclipse's tree editor.
- Select the part of the infrastructure for which you want to perform the analysis:
- Open the Power Consumption Analysis view.
- Parametrize the analyzer, i.e., by setting the sliding window size used to aggregate the CPU utilization:
- Start the consumption analysis by clicking the respective button. This will open up graphs for the power consumption, as well as the cumulative energy consumption:
The source code is available in the Palladio SVN.
Energy-Conscious Self-Adaptive Systems Analysis
Self-adaptive software systems adapt their configuration to react to changes in the environment, i.e. varying user demand or available resources.
There exist two overlapping use cases for power consumption analysis of self-adaptive software systems.
- Adapting the system based on varying requirements regarding energy consumption
- Energy being a sparse resource: A mobile device might enforce a different performance/power consumption tradeoff when battery levels are low.
- Energy consumption being valued differently based on user load
- Redistribute load to reduce peak power in data centers
- Increase EE by redistributing load to make use of efficient resource utilization levels
- Analyzing the energy consumption of self-adaptive software systems.
PCA and its SimuLizar extensions support both use cases. The following explains how SimuLizar can be used to analyze Energy Efficiency (EE) of self-adaptive software systems.
Prior to installing the SimuLizar-specific extensions the core PCA needs to be set up. Furthermore, SimuLizar needs to have been installed in your Eclipse, e.g. via the centralized [Palladio p2 Repository |https://sdqweb.ipd.kit.edu/eclipse/palladiosimulator/nightly/]. The SimuLizar PCA extension can be installed via a separate p2 Repository.
An example model that makes use of the functionality discussed in the following can be found in the SVN. The example model redistributes load to second server when the response time on the first server surpasses a certain threshold. For testing purposes, the reconfiguration rule controlling the second server's state immediately switches the second server to the on state. This reconfiguration rule makes use of the Actions model to specify the server state transition.
Using PCA with SimuLizar
The base PCA functionality as discussed in the above section works the same for SimuLizar as for other simulators like SimuCom.
In order to expose energy consumption measurements to self-adaptation mechanisms, a power consumption Monitor needs to be added to SimuLizar's *.monitor model. This makes power measurement estimations available to self-adaptation mechanisms analyzed using SimuLizar. The measurements exposed to adaptation mechanisms are also recorded to the EDP2 repository of the simulation.
Stateful Power Models
The Power Model used by PCA supports the definition of stateful power models. The use case of these models is the differentiation between different power consumption states of resources. Examples for these modes are node states (on, off) and power management functionality like Intel's Turbo mode. Switches between these states are triggered by switching between two power model states in a model transformation. Currently, the consideration of power model state switches is only supported by the SimuLizar power consumption analysis.
The source code for the PCA SimuLizar extension is available in the SimuLizar SVN.