Saving Energy with Per-Variable Bitwidth Speculation
Description
Artifact accompanying "Saving Energy with Per-Variable Bitwidth Speculation".
Abstract:
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 the energy consumption of tiny devices in production by 14.4% on average, up to 28.2%
Files
Files
(922.9 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:62144fa02dd1a898fe33bcc625944f49
|
922.9 MB | Download |