Skip to main content
QUICK REVIEW

[Paper Review] Enabling Failure-resilient Intermittent Systems Without Runtime Checkpointing

Wei-Ming Chen, Tei-Wei-Kuo|arXiv (Cornell University)|Oct 11, 2019
Parallel Computing and Optimization Techniques29 references4 citations
TL;DR

This paper proposes a failure-resilient design for intermittent embedded systems that enables instant recovery and consistent progress accumulation without runtime checkpointing or system suspension. By leveraging persistent data versions in non-volatile memory and a recovery handler that reruns unfinished tasks, the approach improves forward progress by up to 43% and reduces recovery time by at least 90% compared to checkpointing-based methods.

ABSTRACT

Self-powered intermittent systems typically adopt runtime checkpointing as a means to accumulate computation progress across power cycles and recover system status from power failures. However, existing approaches based on the checkpointing paradigm normally require system suspension and/or logging at runtime. This paper presents a design which overcomes the drawbacks of checkpointing-based approaches, to enable failure-resilient intermittent systems. Our design allows accumulative execution and instant system recovery under frequent power failures while enforcing the serializability of concurrent task execution to improve computation progress and ensuring data consistency without system suspension during runtime, by leveraging the characteristics of data accessed in hybrid memory. We integrated the design into FreeRTOS running on a Texas Instruments device. Experimental results show that our design can still accumulate progress when the power source is too weak for checkpointing-based approaches to make progress, and improves the computation progress by up to 43% under a relatively strong power source, while reducing the recovery time by at least 90%.

Motivation & Objective

  • To address the high runtime overhead and performance degradation caused by frequent checkpointing in intermittent, energy-harvesting systems.
  • To eliminate system suspension during runtime while ensuring data consistency across power failures.
  • To enable continuous progress accumulation in self-powered devices under unstable power conditions.
  • To achieve instant system recovery by maintaining persistent task states and data versions in non-volatile memory.
  • To support concurrent task execution with serializability and correctness without relying on runtime checkpointing.

Proposed method

  • A data manager controls data access to ensure serializability and atomically commits modified data copies from volatile memory to persistent versions in non-volatile memory.
  • A recovery handler in non-volatile memory maintains task attributes and state information, enabling instant resumption of unfinished tasks after power restoration.
  • Lengthy tasks are allocated in non-volatile memory to preserve context and allow immediate resumption post-failure.
  • The system integrates with FreeRTOS by extending its memory management and task scheduler to support persistent data and recovery logic.
  • Data consistency is maintained by committing only completed task modifications to non-volatile memory in a serialized, atomic manner.
  • Runtime suspension is eliminated by avoiding checkpointing; instead, progress is recovered by re-executing unfinished tasks from the last consistent state.

Experimental results

Research questions

  • RQ1Can a failure-resilient intermittent system achieve consistent progress accumulation without runtime checkpointing or system suspension?
  • RQ2How can data consistency be ensured across power cycles when volatile memory is lost?
  • RQ3Can system recovery be achieved in less than 1 ms while maintaining forward progress under frequent power failures?
  • RQ4What is the performance gain of eliminating checkpointing overhead in terms of computation progress and recovery time?
  • RQ5How does the design scale with varying power failure frequency and task length?

Key findings

  • The proposed design improves forward progress by up to 43% compared to system-wide checkpointing and logging-based approaches under a relatively strong power source.
  • Recovery time is reduced to 0.6 ms, a reduction of at least 90% compared to checkpointing-based approaches that require 7.6 ms and 7 ms for recovery.
  • Runtime suspension is completely eliminated, as the system no longer requires checkpointing or logging during execution.
  • Data recentness after recovery is significantly improved, especially as checkpointing periods increase, due to reduced rollback of data states.
  • The design maintains data consistency and serializability across concurrent task execution without requiring changes to the programming model or application code.
  • The prototype implementation on FreeRTOS running on a Texas Instruments device confirms the effectiveness of the approach in real-world intermittent computing scenarios.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.