DeepAI AI Chat
Log In Sign Up

Towards a Formal Foundation of Intermittent Computing

by   Milijana Surbatovich, et al.

Intermittently powered devices enable new applications in harsh or inaccessible environments, such as space or in-body implants, but also introduce problems in programmability and correctness. Researchers have developed programming models to ensure that programs make progress and do not produce erroneous results due to memory inconsistencies caused by intermittent executions. As the technology has matured, more and more features are added to intermittently powered devices, such as I/O. Prior work has shown that all existing intermittent execution models have problems with repeated device or sensor inputs (RIO). RIOs could leave intermittent executions in an inconsistent state. Such problems and the proliferation of existing intermittent execution models necessitate a formal foundation for intermittent computing. In this paper, we formalize intermittent execution models, their correctness properties with respect to memory consistency and inputs, and identify the invariants needed to prove systems correct. We prove equivalence between several existing intermittent systems. To address RIO problems, we define an algorithm for identifying variables affected by RIOs that need to be restored after reboot and prove the algorithm correct. Finally, we implement the algorithm in a novel intermittent runtime system that is correct with respect to input operations and evaluate its performance.


page 1

page 2

page 3

page 4


Virtualizing Intermittent Computing

Intermittent computing requires custom programming models to ensure the ...

Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems

Intermittently powered energy-harvesting devices enable new applications...

Alpaca: Intermittent Execution without Checkpoints

The emergence of energy harvesting devices creates the potential for bat...

Nesting Probabilistic Programs

We formalize the notion of nesting probabilistic programming queries and...

Pex: Memory-efficient Microcontroller Deep Learning through Partial Execution

Embedded and IoT devices, largely powered by microcontroller units (MCUs...

Enabling Failure-resilient Intermittent Systems Without Runtime Checkpointing

Self-powered intermittent systems typically adopt runtime checkpointing ...

ReaDmE: Read-Rate Based Dynamic Execution Scheduling for Intermittent RF-Powered Devices

This paper presents a method for remotely and dynamically determining th...