Wednesday October 4, 2017
Location: CIC Panther Hollow Room
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. We will introduce Alpaca, a low-overhead programming model for intermittent computing on energy-harvesting devices.
The key insight of Alpaca is dividing programs as a sequence of user-defined tasks and selectively privatizing memory. Alpaca leverages idempotence analysis and privatize some variable to maintain task idempotent while incurring low overhead. 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 eliminates checkpoints, which improves performance up to 15x, and Alpaca avoids static multi-versioning, which improves memory consumption by up to 5.5x compared to previous systems.
Kiwan Maeng, PhD Student, CMU