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.
翻译:在当前高性能与嵌入式计算时代,全栈能效-centric设计至关重要。应用场景要求在可承受功耗预算内实现日益增长的性能,往往还需满足实时约束。极端异构性与并行性虽能应对这些挑战,却极大增加了对在线功耗评估的难度——而后者正是实现动态软硬件栈自适应调整的关键。我们提出了一种全新的架构无关功耗建模方法,具备最先进的精度、低开销与高响应性。该方法能在每个动态电压频率缩放(DVFS)状态下,为各硬件子系统识别最佳性能监控计数器(PMCs)以建模功耗。各线性子模型组合成完整模型,有效描述系统整体功耗,实现高精度与低开销。评估显示:功耗平均估算误差为7.5%,能量误差为1.3%。此外,我们提出了Runmeter——集成于Linux内核的开源PMC监测框架。Runmeter管理PMC样本的采集与处理,在运行时高效评估我们的功耗模型。最坏情况下仅产生0.7%时间开销,Runmeter能在内核中直接提供响应迅速且准确的功耗测量结果,可应用于动态功耗管理(DPM)及功耗感知任务调度等执行策略。