

Title: Your Abstractions are Worth^H^H^H^H^HPowerless! Non-Volatile Storage and Computation on Embedded Devices* (*Batteries Not Included)
Abstract:
Did you hear the one about how many batteries it takes to turn on a
Turing machine? None! It's outside the model of computation. Yet
it's extremely difficult to store information or compute without
power. Perpetual computing is hard. As embedded systems continue to
shrink in size and energy consumption, the battery becomes the
greatest bottleneck. I will describe recent research results on
batteryless, RFID-scale computers: the UMass Moo platform, stochastic
storage on Half-Wits (USENIX FAST), and energy-aware checkpoints with
Mementos (ACM 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 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).