Intermittent Computing with Efficient State Backup by Asynchronous DMA

Wei Zhang1, Sonran Liu2,1, Mingsong Lv1, Qiulin Chen3, and Nan Guan1
1The Hong Kong Polytechnic University, Hong Kong
2Northeastern University, China
3Huawei Technologies Co., Ltd., China

ABSTRACT


Energy harvesting promises to power billions of Internet-of-Things devices without being restricted by battery life. The energy output of harvesters is typically weak and highly unstable, so computing systems must frequently back up program states into non-volatile memory to ensure a program will progress in the presence of frequent power failures. However, state backup is a time-consuming process. In existing solutions for this problem, state backup is conducted sequentially with program execution, which considerably impact system performance. This paper proposes techniques to parallelize state backup and program execution with asynchronous DMA. The challenge is that program states can be incorrectly backed up, which may further cause the program to deliver incorrect computation. Our main idea is to allow errors to occur in parallel state backup and program execution, and detect the errors at the end of the state backup. Moreover, we propose a technique that allows the system to tolerate backup errors during execution without harming logical correctness. We designed a run-time system to implement the proposed approach. Experimental results on an STM32F7-based platform show that execution performance can be considerably improved by parallelizing state backup and program execution.

Keywords: Intermittent Computing, Asynchronous DMA, State Backup, Execution Performance.



Full Text (PDF)