TY - JOUR
T1 - Branch-aware data variable allocation for energy optimization of hybrid SRAM+NVM SPM
AU - Zhan, Jinyu
AU - Li, Yixin
AU - Jiang, Wei
AU - Yu, Jiayu
AU - Yu, Jinghuan
PY - 2020/10
Y1 - 2020/10
N2 - 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 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.
AB - 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 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.
KW - Branch prediction
KW - Data variable allocation
KW - Energy consumption
KW - NVM
KW - SPM
KW - Branch prediction
KW - Data variable allocation
KW - Energy consumption
KW - NVM
KW - SPM
KW - Branch prediction
KW - Data variable allocation
KW - Energy consumption
KW - NVM
KW - SPM
UR - http://www.scopus.com/inward/record.url?scp=85086504668&partnerID=8YFLogxK
UR - https://www.scopus.com/record/pubmetrics.uri?eid=2-s2.0-85086504668&origin=recordpage
U2 - 10.1016/j.sysarc.2020.101797
DO - 10.1016/j.sysarc.2020.101797
M3 - RGC 21 - Publication in refereed journal
SN - 1383-7621
VL - 109
JO - Journal of Systems Architecture
JF - Journal of Systems Architecture
M1 - 101797
ER -