Bringing Energy Information to the Instruction Set
In the last decades, many advances have been made in clock frequencies and silicon integration. With the increase in energy consumption, energy-aware computing has become a topic of great interest to the community. A wide variety of works focus on software techniques to reduce energy consumption when a device's battery is running out. Even then, by not knowing how much energy is available on a device 1) some routines can start and do not finish due to an energy outage, 2) non-critical routines can be called even when the device's battery is running out, and 3) critical and energy-intensive routines can quickly drain the rest of the device's battery, even though these routines may have an alternative implementation (more simplified or less accurate). The current way of collecting energy information is hardware and Operating System dependant and may take too much time. This work proposes a new branch instruction to the RISC-V instruction set architecture, called Branch if Energy Low (BEL). Using a single instruction, compilers/software developers can evaluate if the available energy is bellow a threshold and branch to routines with less energy consumption. BEL can be used on intermittent devices and approximate computing. We evaluate BEL on approximate computing benchmark applications and showed that it is possible to reaches an average of 52.32% energy savings with negligible 0.04% of accuracy degradation.
H. Esmaeilzadeh E. Blem R. S. Amant K. Sankaralingam and D. Burger "Dark silicon and the end of multicore scaling" 2011 38th Annual International Symposium on Computer Architecture (ISCA) pp. 365-376 2011.
C. Märtin Post-dennard scaling and the final years of moore's law September 2014.
L. A. Barroso and U. Hölzle "The case for energy-proportional computing" Computer vol. 40 no. 12 pp. 33-37 2007.
K. Siddesha and G. V. Jayaramaiah "A review on techniques for power management in embedded systems" International Journal of Emerging Technologies and Innovative Research vol. 6 pp. 514-519 May 2019.
K. Nagalakshmi and N. Gomathi "Analysis of power management techniques in multicore processors" in Artificial Intelligence and Evolutionary Computations in Engineering Systems Singapore:Springer Singapore pp. 397-418 2017.
K. Ma Y. Zheng S. Li K. Swaminathan X. Li Y. Liu et al. "Architecture exploration for ambient energy harvesting nonvolatile processors" 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA) pp. 526-537 2015.
A. S. Krishnan C. Suslowicz D. Dinu and P. Schaumont "Secure intermittent computing protocol: Protecting state across power loss" 2019 Design Automation Test in Europe Conference Exhibition (DATE) pp. 734-739 2019.
W. L. Bircher and L. K. John "Analysis of dynamic power management on multi-core processors" Proceedings of the 22nd Annual International Conference on Supercomputing ser. ICS '08 pp. 327-338 2008.
J. Schwarzrock M. G. Jordan G. Korol C. C. de Oliveira A. F. Lorenzon and A. C. S. Beck "On the influence of data migration in dynamic thread management of parallel applications" 2019 IX Brazilian Symposium on Computing Systems Engineering (SBESC) pp. 1-8 2019.
G. Kornaros Multi-Core Embedded Systems United States:CRC Press 2019.
P. Carazo R. Apolloni F. Castro D. Chaver L. Pinuel and F. Tirado "L1 data cache power reduction using a forwarding predictor" in Integrated Circuit and System Design. Power and Timing Modeling Optimization and Simulation Berlin Heidelberg:Springer Berlin Heidelberg pp. 116-125 2011.
H.-H. Chu Y.-C. Kao and Y.-S. Chen "Adaptive thermal-aware task scheduling for multi-core systems" Journal of Systems and Software vol. 99 pp. 155-174 2015.
M. Fan Q. Han S. Liu S. Ren G. Quan and S. Ren "Enhanced fixed-priority real-time scheduling on multi-core platforms by exploiting task period relationship" Journal of Systems and Software vol. 99 pp. 85-96 2015.
S. Heo K. Barr and K. Asanović "Reducing power density through activity migration" Proceedings of the 2003 International Symposium on Low Power Electronics and Design ser. ISLPED '03 pp. 217-222 2003.
"Power capping framework" Copyright The kernel Development Community [online] Available: https://www.kernel.org/doc/html/latest/power/powercap/powercap.html.
"Perf(1)" Linux Manual Page 2020 [online] Available: https://man7.org/linus/man-pages/man1/perf.1.html.
L. M. Page Msr(4) 2020.
R. Azevedo and C. Petry Powermodels for risc-v processor 2020.
A. Yazdanbakhsh D. Mahajan H. Esmaeilzadeh and P. Lotfi-Kamran "Axbench: A multiplatform benchmark suite for approximate computing" IEEE Design Test vol. 34 no. 2 pp. 60-68 2017.
D. Bagley B. Fulgham and I. Gouy The computer language benchmarks game 2020.
J. Karimov T. Rabl and V. Markl "Polybench: The first benchmark for polystores" in Performance Evaluation and Benchmarking for the Era of Artificial Intelligence Cham:Springer International Publishing pp. 24-41 2019.