Write a Blog >>
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Fri 27 Oct 2017 10:52 - 11:15 at Regency A - Language Design Chair(s): Gregor Richards

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.

Fri 27 Oct

10:30 - 12:00: OOPSLA - Language Design at Regency A
Chair(s): Gregor RichardsUniversity of Waterloo
splash-2017-OOPSLA150909300000010:30 - 10:52
Matthew ParkinsonMicrosoft Research, UK, Dimitrios VytiniotisMicrosoft Research, Cambridge, Kapil VaswaniMicrosoft Research, Manuel CostaMicrosoft Research, Pantazis DeligiannisMicrosoft Research, Dylan McDermottUniversity of Cambridge, Jonathan BalkindPrinceton, USA, Aaron BlanksteinPrinceton, USA
splash-2017-OOPSLA150909435000010:52 - 11:15
Kiwan MaengCarnegie Mellon University, USA, Alexei ColinCarnegie Mellon University, Brandon LuciaCarnegie Mellon University
splash-2017-OOPSLA150909570000011:15 - 11:37
Ennan ZhaiYale University, USA, Ruzica PiskacYale University, Ronghui GuColumbia University, USA, Xun LaoYale University, USA, Xi WangYale University, USA
splash-2017-OOPSLA150909705000011:37 - 12:00
Ted KaminskiUniversity of Minnesota, Lucas KramerUniversity of Minnesota, Travis CarlsonUniversity of Minnesota, USA, Eric Van WykUniversity of Minnesota, USA
DOI Pre-print