Towards a Formal Foundation of Intermittent Computing

07/29/2020
by   Milijana Surbatovich, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/28/2021

Virtualizing Intermittent Computing

Intermittent computing requires custom programming models to ensure the ...
research
04/09/2021

Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems

Intermittently powered energy-harvesting devices enable new applications...
research
09/13/2019

Alpaca: Intermittent Execution without Checkpoints

The emergence of energy harvesting devices creates the potential for bat...
research
03/16/2018

Nesting Probabilistic Programs

We formalize the notion of nesting probabilistic programming queries and...
research
11/30/2022

Pex: Memory-efficient Microcontroller Deep Learning through Partial Execution

Embedded and IoT devices, largely powered by microcontroller units (MCUs...
research
10/11/2019

Enabling Failure-resilient Intermittent Systems Without Runtime Checkpointing

Self-powered intermittent systems typically adopt runtime checkpointing ...
research
03/26/2021

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

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

Please sign up or login with your details

Forgot password? Click here to reset