Table of Contents
Fetching ...

Data-Driven Power Modeling and Monitoring via Hardware Performance Counters Tracking

Sergio Mazzola, Gabriele Ara, Thomas Benz, Björn Forsberg, Tommaso Cucinotta, Luca Benini

TL;DR

The paper addresses online, fine-grained power estimation for heterogeneous, DVFS-enabled platforms. It proposes a data-driven, architecture-agnostic PMC-based approach that decomposes the system into sub-systems, learns per-DVFS linear predictors, and composes them with a LUT; Runmeter implements this in the Linux kernel with a moving-window PMC sampler. The work demonstrates that, on an NVIDIA Jetson Xavier, instantaneous power MAPEs reach $7.5\%$ and energy MAPEs reach $1.3\%$ while incurring only $0.7\%$ runtime overhead, enabling practical power-aware dynamic power management and scheduling. It further contributes an automated counter-selection, NNLS-based training, and an in-kernel monitoring framework, paving the way for broader OS integration and extension to additional sub-systems.

Abstract

In the current high-performance and embedded computing era, full-stack energy-centric design is paramount. Use cases require increasingly high performance at an affordable power budget, often under real-time constraints. Extreme heterogeneity and parallelism address these issues but greatly complicate online power consumption assessment, which is essential for dynamic hardware and software stack adaptations. We introduce a novel architecture-agnostic power modeling methodology with state-of-the-art accuracy, low overhead, and high responsiveness. Our methodology identifies the best Performance Monitoring Counters (PMCs) to model the power consumption of each hardware sub-system at each Dynamic Voltage and Frequency Scaling (DVFS) state. The individual linear models are combined into a complete model that effectively describes the power consumption of the whole system, achieving high accuracy and low overhead. Our evaluation reports an average estimation error of 7.5 % for power consumption and 1.3 % for energy. Furthermore, we propose Runmeter, an open-source, PMC-based monitoring framework integrated into the Linux kernel. Runmeter manages PMC samples collection and manipulation, efficiently evaluating our power models at runtime. With a time overhead of only 0.7 % in the worst case, Runmeter provides responsive and accurate power measurements directly in the kernel, which can be employed for actuation policies such as Dynamic Power Management (DPM) and power-aware task scheduling.

Data-Driven Power Modeling and Monitoring via Hardware Performance Counters Tracking

TL;DR

The paper addresses online, fine-grained power estimation for heterogeneous, DVFS-enabled platforms. It proposes a data-driven, architecture-agnostic PMC-based approach that decomposes the system into sub-systems, learns per-DVFS linear predictors, and composes them with a LUT; Runmeter implements this in the Linux kernel with a moving-window PMC sampler. The work demonstrates that, on an NVIDIA Jetson Xavier, instantaneous power MAPEs reach and energy MAPEs reach while incurring only runtime overhead, enabling practical power-aware dynamic power management and scheduling. It further contributes an automated counter-selection, NNLS-based training, and an in-kernel monitoring framework, paving the way for broader OS integration and extension to additional sub-systems.

Abstract

In the current high-performance and embedded computing era, full-stack energy-centric design is paramount. Use cases require increasingly high performance at an affordable power budget, often under real-time constraints. Extreme heterogeneity and parallelism address these issues but greatly complicate online power consumption assessment, which is essential for dynamic hardware and software stack adaptations. We introduce a novel architecture-agnostic power modeling methodology with state-of-the-art accuracy, low overhead, and high responsiveness. Our methodology identifies the best Performance Monitoring Counters (PMCs) to model the power consumption of each hardware sub-system at each Dynamic Voltage and Frequency Scaling (DVFS) state. The individual linear models are combined into a complete model that effectively describes the power consumption of the whole system, achieving high accuracy and low overhead. Our evaluation reports an average estimation error of 7.5 % for power consumption and 1.3 % for energy. Furthermore, we propose Runmeter, an open-source, PMC-based monitoring framework integrated into the Linux kernel. Runmeter manages PMC samples collection and manipulation, efficiently evaluating our power models at runtime. With a time overhead of only 0.7 % in the worst case, Runmeter provides responsive and accurate power measurements directly in the kernel, which can be employed for actuation policies such as Dynamic Power Management (DPM) and power-aware task scheduling.
Paper Structure (28 sections, 7 equations, 5 figures, 1 table)

This paper contains 28 sections, 7 equations, 5 figures, 1 table.

Figures (5)

  • Figure 1: Scheme of the proposed data-driven, automatic power modeling approach for dvfs-enabled heterogeneous platforms.
  • Figure 2: Instantaneous power estimate for the system-level power model (on the left) and its breakdown to the individual sub-systems (on the right), with $f_{\text{CPU}}=1.2GHz$, $f_{\text{GPU}}=830\mega\hertz$.
  • Figure 3: Distribution of approximation error between floating-point and fixed-point implementations of the CPU power model. The distribution is shown in terms of both absolute power approximation error and percentage error.
  • Figure 4: Distribution of the ape of the online energy estimates over the duration of each benchmark.
  • Figure 5: Comparison of the instantaneous CPU power consumption measurement provided by the onboard INA3221 sensor and the estimation computed at runtime by the in-kernel power model. Each plot represents the same sequential execution of several workloads over time at different frequencies.