Abstract
Modern multiprocessor systems-on-chip (MpSoCs) offer tremendous power and performance optimization opportunities by tuning thousands of potential voltage, frequency and core configurations. As the workload phases change at runtime, different configurations may become optimal with respect to power, performance or other metrics. Identifying the optimal configuration at runtime is infeasible due to the large number of workloads and configurations. This paper proposes a novel methodology that can find the Pareto-optimal configurations at runtime as a function of the workload. To achieve this, we perform an extensive offline characterization to find classifiers that map performance counters to optimal configurations. Then, we use these classifiers and performance counters at runtime to choose Pareto-optimal configurations. We evaluate the proposed methodology by maximizing the performance per watt for 18 single- and multi-threaded applications. Our experiments demonstrate an average increase of 93%, 81% and 6% in performance per watt compared to the interactive, ondemand and powersave governors, respectively.
Original language | English (US) |
---|---|
Article number | 123 |
Journal | ACM Transactions on Embedded Computing Systems |
Volume | 16 |
Issue number | 5s |
DOIs | |
State | Published - Sep 2017 |
Keywords
- Basic blocks
- Clang
- DPM
- DVFS
- Energy
- LLVM
- Logistic regression
- Mobile platforms
- Multi-cores
- PAPI
- Pareto optimization
- Performance per watt
- Power
ASJC Scopus subject areas
- Software
- Hardware and Architecture