Alpaca: Intermittent Execution without Checkpoints

09/13/2019
by   Kiwan Maeng, et al.
0

The emergence of energy harvesting devices creates the potential for batteryless sensing and computing devices. Such devices operate only intermittently, as energy is available, presenting a number of challenges for software developers. Programmers face a complex design space requiring reasoning about energy, memory consistency, and forward progress. This paper introduces Alpaca, a low-overhead programming model for intermittent computing on energy-harvesting devices. Alpaca programs are composed of a sequence of user-defined tasks. The Alpaca runtime preserves execution progress at the granularity of a task. The key insight in Alpaca is the privatization of data shared between tasks. Updates of shared values in a task are privatized and only committed to main memory on successful execution of the task, ensuring that data remain consistent despite power failures. Alpaca provides a familiar programming interface and a highly efficient runtime model. We also present an alternate version of Alpaca, Alpaca-undo, that uses undo-logging and rollback instead of privatization and commit. We implemented a prototype of both versions of Alpaca as an extension to C with an LLVM compiler pass. We evaluated Alpaca, and directly compared to three systems from prior work. Alpacaconsistently improves performance compared to the previous systems, by up to 23.8x, while also improving memory footprint in many cases, by up to 17.6x.

READ FULL TEXT
research
09/28/2018

Intelligence Beyond the Edge: Inference on Intermittent Embedded Systems

Energy-harvesting technology provides a promising platform for future Io...
research
10/11/2019

Enabling Failure-resilient Intermittent Systems Without Runtime Checkpointing

Self-powered intermittent systems typically adopt runtime checkpointing ...
research
11/04/2017

Optimal Checkpointing for Secure Intermittently-Powered IoT Devices

Energy harvesting is a promising solution to power Internet of Things (I...
research
07/29/2020

Towards a Formal Foundation of Intermittent Computing

Intermittently powered devices enable new applications in harsh or inacc...
research
11/28/2021

Enabling Fast Deep Learning on Tiny Energy-Harvesting IoT Devices

Energy harvesting (EH) IoT devices that operate intermittently without b...
research
02/18/2022

Enabling Volatile Caches for Energy Harvesting Systems

Energy harvesting systems have shown their unique benefit of ultra-long ...
research
08/05/2021

Memory-Aware Partitioning of Machine Learning Applications for Optimal Energy Use in Batteryless Systems

Sensing systems powered by energy harvesting have traditionally been des...

Please sign up or login with your details

Forgot password? Click here to reset