Mementos
Authors:
Open Access
- 5 March 2011
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 46 (3) , 159-170
Abstract
Transiently powered computing devices such as RFID tags, kinetic energy harvesters, and smart cards typically rely on programs that complete a task under tight time constraints before energy starvation leads to complete loss of volatile memory. Mementos is a software system that transforms general-purpose programs into interruptible computations that are protected from frequent power losses by automatic, energy-aware state checkpointing. Mementos comprises a collection of optimization passes for the LLVM compiler infrastructure and a linkable library that exercises hardware support for energy measurement while managing state checkpoints stored in nonvolatile memory. We evaluate Mementos against diverse test cases in a trace-driven simulator of transiently powered RFID-scale devices. Although Mementos's energy checks increase run time when energy is plentiful, they allow Mementos to safely suspend execution when energy dwindles, effectively spreading computation across zero or more power failures. This paper's contributions are: a study of the runtime environment for programs on RFID-scale devices; an energy-aware state checkpointing system for these devices that is implemented for the MSP430 family of microcontrollers; and a trace-driven simulator of transiently powered RFID-scale devices.Keywords
This publication has 22 references indexed in Scilit:
- A 9 $\mu$A, Addressable Gen2 Sensor Tag for Biosignal AcquisitionIEEE Journal of Solid-State Circuits, 2010
- Sensornet Checkpointing: Enabling Repeatability in Testbeds and Realism in SimulationsLecture Notes in Computer Science, 2009
- TinyNode2006
- Energy Scavenging for Mobile and Wireless ElectronicsIEEE Pervasive Computing, 2005
- Contiki - a lightweight and flexible operating system for tiny networked sensors2004
- Application-level checkpointing for shared memory programs2004
- CATCH-compiler-assisted techniques for checkpointing2002
- Portable and fault-tolerant software systemsIEEE Micro, 1998
- Compiler‐assisted full checkpointingSoftware: Practice and Experience, 1994
- The design and implementation of a log-structured file systemACM Transactions on Computer Systems, 1992