Branch-aware data variable allocation for energy optimization of hybrid SRAM+NVM SPM☆
Jinyu Zhan,Yixin Li,Wei Jiang,Jiayu Yu,Jinghuan Yu
DOI: https://doi.org/10.1016/j.sysarc.2020.101797
IF: 5.836
2020-10-01
Journal of Systems Architecture
Abstract:<p>In this paper, we are interested in the energy optimization of hybrid Scratchpad Memory (SPM) which consists of SRAM and Non-Volatile Memory (NVM). We approach the energy optimization by data allocation with the consideration of the impact of program structure like branches. Our method is composed of two stages, i.e., program analysis stage and data allocation stage. In program analysis stage, we design two strategies to predict the branch execution of the program and reduce the the number of reading/writing operations. Specifically, we propose Branch-based Static Analysis (BSA) strategy for simple programs and Neural Network Branch Prediction (NNBP) strategy for complex programs separately. In data allocation stage, we propose an Energy-based Data Allocation (EDA) strategy to reduce the energy consumption, which can determine how to allocate/migrate data variables onto SRAM/NVM. Incorporating these two stages, we have two branch-aware data variable allocation approaches, i.e., BSA+EDA for simple programs and NNBP+EDA for complex programs. Based on the existing benchmarks, we conduct extensive experiments to evaluate the proposed approaches. The experimental results show that both BSA+EDA and NNBP+EDA can effectively reduce the energy consumption up to 39.4% compared with the other approaches. Moreover, experiments demonstrate that BSA+EDA is suitable for simple programs whereas NNBP+EDA is suitable for complex programs.</p>
computer science, software engineering, hardware & architecture