Alpaca: intermittent execution without checkpoints
By Kiwan Maeng, Alexei Colin, Brandon Lucia. Proc. ACM Program. Lang., 2017
303 citations recorded by the source corpus.
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. Shared values written in a task are detected using idempotence analysis and copied into a buffer private to the task. At the end of the task, modified values from the private buffer are atomically committed to main memory, ensuring that data remain consistent despite power failures. Alpaca provides a familiar programming interface, a highly efficient runtime model, and places fewer restrictions on a target device's hardware architecture. We implemented a prototype of Alpaca as an extension to C with an LLVM compiler pass. We evaluated Alpaca, and directly compared to two systems from prior work. Alpaca eliminates checkpoints, which improves performance up to 15x, and avoids static multi-versioning, which improves memory consumption by up to 5.5x.
Subfields: Computer Networks and Communications, Electrical and Electronic Engineering, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/294792bb0138327171ecaacb8c2101a14b13812d
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Kiwan Maeng
- Bradley Denby
- Brandon Lucia
- Michael G. Rabbat
- Carole-Jean Wu
- Bor-Yiing Su
- Angelia Nedić
- Young Geun Kim
In Electrical and Electronic Engineering
- Brandon Lucia
- Michael G. Rabbat
- Carole-Jean Wu
- Young Geun Kim
- Alexander Olshevsky
- Angelia Nedić
- Aryan Mokhtari
- Xiaojing Ye
In Hardware and Architecture
Citations in the corpus
- Orbital Edge Computing: Nanosatellite Constellations as a New Class of Computer System (2020, background): “OEC systems operate like intermittent systems [16, 17, 37–39, 61, 65, 93, 100], harvesting energy while sleeping to charge capacitors.”
- CPR: Understanding and Improving Failure Tolerant Training for Deep Learning Recommendation with Partial Recovery (2020, background): “Intermittent computing (Ransford et al., 2011; Jayakumar et al., 2014; Maeng & Lucia, 2018; Maeng et al., 2019; Maeng & Lucia, 2019; 2020; Hester et al., 2015; Hester & Sorber, 2017; Lucia & Ransford, 2015; Van Der Woude & Hicks, 2016; Hicks, 2017; Ma et al., 2015; Choi et al., 2019), a field enabli”