It's extremely difficult to store information or compute without power. As embedded systems continue to shrink in size and energy consumption, batteries become the greatest hurdle to further optimization. In this talk, I will describe our recent research results on batteryless, RFID-scale computers and the pain it causes my graduate students. This work consists of three systems: the UMass Moo platform, stochastic storage on Half-Wits (USENIX FAST), and energy-aware checkpoints with Mementos (ASPLOS).
The UMass Moo is an embedded system based on the Intel WISP. The mixed signal system combines hardware and software to behave like an RFID tag with non-volatile memory, sensing, radio communication, and von Neumann-style computation. This batteryless device operates on RF energy harvesting and uses a small capacitor as a voltage supply. The capacitor stores 100 million times less energy than a typical AA battery. This lack of energy leads to two research challenges: how to reliably store data in non-volatile memory at low cost and low voltage, and how to compute when power losses interrupt programs every few hundred milliseconds.
The Half-Wits work analyzes the stochastic behavior of writing to embedded flash memory at voltages lower than recommended by a microcontroller's specifications to reduce energy consumption. Flash memory integrated within a microcontroller typically requires the entire chip to operate on common supply voltage almost double what the CPU portion requires. Our approach tolerates a lower supply voltage so that the CPU may operate in a more energy efficient manner. Our software-only coding algorithms enable reliable storage at low voltages on unmodified hardware by exploiting the electrically cumulative nature of half-written data in write-once bits. Measurements show that our software approach reduces energy consumption by up to 50%. This work is joint with Erik Learned-Miller (UMass Amherst) and Andrew Jiang (Texas A&M).
Mementos helps programs run to completion despite interruptions of power. Transiently powered computers such as the UMass Moo risk the frequent, complete loss of volatile memory. Thus, Mementos automatically instruments programs with energy-aware checkpoints to protect RAM and registers. Mementos consists of a suite of compile- and run-time tools that help to transform long-running programs into interruptible computations. The contributions include a study of the run-time environment for programs on RFID-scale devices, an energy-aware state checkpointing system for MSP430 family of microcontrollers, and a trace-driven simulator of transiently powered RFID-scale devices. This work is joint with Jacob Sorber (Dartmouth College).
Technical details appear on http://spqr.cs.umass.edu/