Skip to content
This repository has been archived by the owner on Mar 11, 2019. It is now read-only.

The Next 700 CPU Power Models

Maxime Colmant edited this page Jul 1, 2018 · 18 revisions

Overview

This pages describes the settings, analysis and experiments presented in the JSS submission.

The source code is checked in the JSS'18 folder.

Prerequisites

To launch the analysis or the experiments, you must install:

  • sbt, to compile and create self-running apps.
  • openjdk-7-jdk and openjdk-7-jre, to get java.
  • libpfm-4.6, to get an extended access to hardware counters.
  • bluez and libbluetooth-dev, to use the external PowerSPY power meter.
  • parsec-2.1, NPB-3.3.1, SpecJBB, as workloads used in our article.

Source code

Several sbt projects, based on PowerAPI, have been developed upon needs.

Each project has its own configuration, and has to be adapted when needed.

HPC events analysis

The source code used during the Learning Phase is checked inside the hpc-analysis-default project for Intel or AMD architectures, or the hpc-analysis-arm project for ARM architecture instead.

Process-level Power Monitoring

The source code used for this experiment is checked inside the exp-process-level-xeon project.

Adaptive CPU Power Models

The source code used for this experiment is checked inside the exp-domain-pmodel-tegra-1c and exp-domain-pmodel-tegra-4c projects.

System Impact on CPU Power Models

The source code used for this experiment is checked inside the exp-system-impact-xeon project.

How to build?

  • Clone the repository: `git clone https://github.com/Spirals-Team/powerapi.git``
  • Checkout the JSS branch: git checkout research/jss-18
  • Go to the parent sbt project: cd powerapi-jss-18
  • 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-jss-18 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

Setups

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 -