Abstract

Embedded systems experience execution interruption due to power failures. After a power failure restarts, recovering the interrupted program from the initial state may lead to non-termination execution. To rapid recovery of program execution under power failures, the execution states are backed up by non-volatile memory (NVM) under power failures for embedded systems. However, frequent checkpoints will shorten the lifetime of the NVM and result in significant NVM write overhead, leading to low energy utilization in a power cycle. In this paper, we propose an incremental checkpoint approach called Call-Stack-Based to mitigate the NVM write overhead. It does not introduce additional run-time overhead when compared to other state-of-the-art methods. We introduce the pseudo-function call-stack-based strategy to further mitigate non-termination issues during execution. Simultaneously, we also propose an adaptive call-stack-based optimization strategy, a technique aimed at optimizing checkpoints within loops to enhance overall performance. To further prevent the NVM contents from becoming cluttered and taking up unnecessary space, we introduce a method to clean up irrelevant data on the NVM that is not required for restoration. In conclusion, the evaluation results demonstrate an average reduction of 99.88% and 88.71% in NVM write overhead for Call-Stack-Based backup compared to the Always-Based and Step-Based, respectively.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call