-
Notifications
You must be signed in to change notification settings - Fork 16
PowerAPI: A Middleware Toolkit to Learn and Monitor the CPU Power Consumption
This pages describes the settings, analysis and experiments presented in the Middleware'16 submission.
The source code is checked in the Middleware'16 folder.
To launch the analysis or the experiments, you must install:
-
sbt
, to compile and create self-running apps. -
openjdk-7-jdk
andopenjdk-7-jre
, to get java. - libpfm-4.6, to get an extended access to hardware counters.
-
bluez
andlibbluetooth-dev
, to use the external PowerSPY power meter. - parsec-2.1, NPB-3.3.1, SpecJBB, as workloads used in our article.
Several sbt projects, based on PowerAPI, have been developed upon needs.
Each project has its own configuration, and has to be adapted when needed.
The source code used during the Learning Phase (cf. Section 3.1) is checked inside the hpc-analysis-default
project for Intel or AMD architectures, or the hpc-analysis-arm
project for ARM architecture instead.
The source code used for this experiment (cf. Section 5.3) is checked inside the exp-process-level-xeon
project.
The source code used for this experiment (cf. Section 5.4) is checked inside the exp-domain-pmodel-tegra-1c
and exp-domain-pmodel-tegra-4c
projects.
The source code used for this experiment (cf. Section 5.5) is checked inside the exp-system-impact-xeon
project.
- Clone the repository: `git clone https://github.com/Spirals-Team/powerapi.git``
- Checkout the Middleware'16 branch:
git checkout research/middleware-16
- Go to the parent sbt project:
cd powerapi-middleware-16
- Launch sbt:
sbt
, and choose one of the project listed below:> project ...
- Create a self-running app:
universal:packageZipTarball
- Get the app packaged as a tarball, extract it, configure it (
conf/
) and use it (sudo ./bin/...
)
All projects are listed in the powerapi-middleware-16
project.
hpc-analysis-default
hpc-analysis-arm
exp-domain-pmodel-tegra-1c
exp-domain-pmodel-tegra-4c
exp-process-level-xeon
exp-system-impact-xeon
Processor | Freq. | Design | TDP | SMT | DVFS | Turbo | OS | Kernel | Details |
---|---|---|---|---|---|---|---|---|---|
Intel Xeon W3520 | 2.66GHz | 8 threads | 130W | Yes | Yes | Yes | Ubuntu 14.04 | 3.13 | ondemand governor enabled |
Intel Xeon W3520 | 2.66GHz | 8 threads | 130W | Yes | Yes | Yes | CentOS 7 | 3.10 | balanced profile enabled |
Intel Xeon W3520 | 2.66GHz | 8 threads | 130W | Yes | Yes | Yes | CentOS 7 | 3.10 | latency-performance profile enabled |
Intel i3 2120 | 3.10GHz | 4 threads | 55W | Yes | Yes | No | Ubuntu 14.04 | 3.13 | ondemand governor enabled |
ARM Cortex A15 | 2.32GHz | 4 cores | N/A | No | No | No | Ubuntu 14.04 | 3.10 | - |
ARM Cortex A15 | 2.32GHz | 1 low power core | N/A | No | No | No | Ubuntu 14.04 | 3.10 | - |
AMD Opteron 8354 | 2.2GHz | 16 cores | N/A | No | No | No | Ubuntu 14.04 | 3.13 | - |