TY - JOUR
T1 - Ensuring consistent recovery under power failure with minimal NVM write overhead
AU - Jia, Min
AU - Sha, Edwin Hsing Mean
AU - Zhuge, Qingfeng
AU - Xu, Rui
N1 - Publisher Copyright:
© 2024 Elsevier B.V.
PY - 2024/3
Y1 - 2024/3
N2 - Intermittent embedded devices and systems are widely used in various scenarios, but they often experience power failures due to unstable power supplies. Non-volatile memory (NVM) is gaining popularity in embedded systems due to its byte-addressability, low access latency, and high density. As a result, backups can be stored in NVM, and global data are directly manipulated in NVM in this architecture. However, NVM has limited write endurance and modifications to global data frequently occur which results in a significant number of writes. As a result, the extensive NVM accesses may lead to poor performance for intermittent programs. This paper presents an energy-efficient approach, called shadow-stack to minimize NVM write overhead while ensuring consistency. Furthermore, we propose a series of principles to assist programmers in rewriting the programs. And we prove the correctness of these principles using formal methods. Experimental results demonstrate that shadow-stack achieves an approximately 95.1%, 81.3%, and 76.6% improvement in NVM writes overhead compared with log-based, Coach, and Clank, respectively on average. Simultaneously, shadow-stack also significantly reduces energy and time consumption compared with log-based approach by up to 19.4× and 6.87×, Coach by up to 4.2× and 2.46×, and Clank by up to 3.4× and 2.26× respectively.
AB - Intermittent embedded devices and systems are widely used in various scenarios, but they often experience power failures due to unstable power supplies. Non-volatile memory (NVM) is gaining popularity in embedded systems due to its byte-addressability, low access latency, and high density. As a result, backups can be stored in NVM, and global data are directly manipulated in NVM in this architecture. However, NVM has limited write endurance and modifications to global data frequently occur which results in a significant number of writes. As a result, the extensive NVM accesses may lead to poor performance for intermittent programs. This paper presents an energy-efficient approach, called shadow-stack to minimize NVM write overhead while ensuring consistency. Furthermore, we propose a series of principles to assist programmers in rewriting the programs. And we prove the correctness of these principles using formal methods. Experimental results demonstrate that shadow-stack achieves an approximately 95.1%, 81.3%, and 76.6% improvement in NVM writes overhead compared with log-based, Coach, and Clank, respectively on average. Simultaneously, shadow-stack also significantly reduces energy and time consumption compared with log-based approach by up to 19.4× and 6.87×, Coach by up to 4.2× and 2.46×, and Clank by up to 3.4× and 2.26× respectively.
KW - Consistent recovery
KW - Energy efficiency
KW - Intermittent computing
KW - Non-Volatile Memory (NVM)
KW - Write endurance
UR - https://www.scopus.com/pages/publications/85184766092
U2 - 10.1016/j.sysarc.2024.103083
DO - 10.1016/j.sysarc.2024.103083
M3 - 文章
AN - SCOPUS:85184766092
SN - 1383-7621
VL - 148
JO - Journal of Systems Architecture
JF - Journal of Systems Architecture
M1 - 103083
ER -