一句话:提出 BitSpec,编译器与硬件协同对程序变量位宽进行细粒度推测执行,平均降低能耗 9.9%、最高 28.2%。
微型设备应用广泛,但对能耗预算要求苛刻,同时还需保持可接受的性能。其硬件已被高度优化,进一步优化空间有限。本文指出一个被忽视的机会:程序变量的位宽选择。当前编译器直接把源码中声明的位宽翻译到二进制,然而作者观察到大多数变量在大部分执行时间内并未用满源码所指定的位宽。为此,论文提出 BitSpec,一个对程序变量位宽进行细粒度推测的系统,采用编译器-体系结构协同设计:编译器透明地把变量位宽缩减到其预期需求,硬件则监控被推测的变量,一旦发现推测失败便报告给软件,由软件以原始位宽重新执行,从而保证正确性。评估表明,BitSpec 平均降低能耗 9.9%,最高可达 28.2%。
Tiny devices have become ubiquitous in people's daily lives. Their applications dictate tight energy budgets, but also require reasonable performance to meet user expectations. To this end, the hardware of tiny devices has been highly optimized, making further optimizations difficult. In this work, we identify a missed opportunity: the bitwidth selection of program variables. Today's compilers directly translate the bitwidth specified in the source code to the binary. However, we observe that most variables do not utilize the full bitwidth specified in the source code for the majority of execution. To leverage this opportunity, we propose BitSpec : a system that performs fine-grained speculation on the bitwidth of program variables. BitSpec is implemented as a compiler-architecture co-design, where the compiler transparently reduces the bitwidth of program variables to their expected needs and the hardware monitors speculative variables, reporting misspeculation to the software, which re-executes at the original bitwidth, ensuring correctness. BitSpec reduces energy consumption by 9.9% on average, up to 28.2% .
@inproceedings{McMichenDWGKJC25,
title = {Saving Energy with Per-Variable Bitwidth Speculation},
author = {Tommy McMichen and David Dlott and Panitan Wongse-ammat and Nathan Greiner and Hussain Khajanchi and Russ Joseph and Simone Campanoni},
booktitle = {ASPLOS},
year = {2025},
doi = {10.1145/3676641.3716271}
}