Mementos: system support for long-running computation on RFID-scale devices

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.

[1]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[2]  Yue Wang,et al.  Exploiting Half-Wits: Smarter Storage for Low-Power Devices , 2011, FAST.

[3]  RICHARD KOO,et al.  Checkpointing and Rollback-Recovery for Distributed Systems , 1986, IEEE Transactions on Software Engineering.

[4]  Mario A. Nascimento,et al.  A Survey of Distributed Database Checkpointing , 1997, Distributed and Parallel Databases.

[5]  David E. Culler,et al.  Telos: enabling ultra-low power wireless research , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[6]  W. Graham Richards,et al.  Art of electronics , 1983, Nature.

[7]  W. Kent Fuchs,et al.  CATCH-compiler-assisted techniques for checkpointing , 1990, [1990] Digest of Papers. Fault-Tolerant Computing: 20th International Symposium.

[8]  Joseph A. Paradiso,et al.  Energy scavenging for mobile and wireless electronics , 2005, IEEE Pervasive Computing.

[9]  Eric M. Yeatman,et al.  Advances In Power Sources For Wireless Sensor Nodes , 2004 .

[10]  Dong Kun Noh,et al.  SolarStore: enhancing data reliability in solar-powered storage-centric sensor networks , 2009, MobiSys '09.

[11]  Kevin Fu,et al.  Towards Autonomously-Powered CRFIDs , 2009 .

[12]  Taesoon Park,et al.  Checkpointing and rollback-recovery in distributed systems , 1989 .

[13]  David Wetherall,et al.  Revisiting Smart Dust with RFID Sensor Networks , 2008, HotNets.

[14]  Dan Rubenstein,et al.  Challenge: ultra-low-power energy-harvesting active networked tags (EnHANTs) , 2009, MobiCom '09.

[15]  J. A. McDermid Checkpointing and Error Recovery in distributed Systems , 1981, ICDCS.

[16]  Remzi H. Arpaci-Dusseau,et al.  8th USENIX Symposium on Networked Systems Design and Implementation (NSDI '11) , 2010 .

[17]  Fan Zhang,et al.  A 9 $\mu$ A, Addressable Gen2 Sensor Tag for Biosignal Acquisition , 2010, IEEE Journal of Solid-State Circuits.

[18]  Brian Otis,et al.  SOCWISP: A 9 μA, Addressable Gen2 Sensor Tag for Biosignal Acquisition , 2013 .

[19]  Kevin Fu,et al.  Getting Things Done on Computational RFIDs with Energy-Aware Checkpointing and Voltage-Aware Scheduling , 2008, HotPower.

[20]  SchulzMartin,et al.  Application-level checkpointing for shared memory programs , 2004 .

[21]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[22]  Henry Hoffmann,et al.  Quality of service profiling , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[23]  Donald S. Fussell,et al.  Compressed caching and modern virtual memory simulation , 1999 .

[24]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[25]  Volker Strumpen,et al.  Portable and fault-tolerant software systems , 1998, IEEE Micro.

[26]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[27]  Kai Li,et al.  Libckpt: Transparent Checkpointing under UNIX , 1995, USENIX.

[28]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[29]  Kevin Fu,et al.  Maximalist Cryptography and Computation on the WISP UHF RFID Tag , 2013 .

[30]  Paul H. Siegel,et al.  Storage Coding for Wear Leveling in Flash Memories , 2009, IEEE Transactions on Information Theory.

[31]  J Olivo,et al.  Energy Harvesting and Remote Powering for Implantable Biosensors , 2011, IEEE Sensors Journal.

[32]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[33]  Adam Dunkels,et al.  Sensornet Checkpointing: Enabling Repeatability in Testbeds and Realism in Simulations , 2009, EWSN.

[34]  Craig Gentry,et al.  Non-interactive Verifiable Computing: Outsourcing Computation to Untrusted Workers , 2010, CRYPTO.

[35]  W. Kent Fuchs,et al.  Compiler‐assisted full checkpointing , 1994, Softw. Pract. Exp..

[36]  Stewart J. Thomas,et al.  Electromagnetic Energy Harvesting for Sensing, Communication, and Actuation , 2010 .

[37]  Kevin Fu,et al.  On the limits of effective hybrid micro-energy harvesting on mobile CRFID sensors , 2010, MobiSys '10.

[38]  Peter K. Szwed,et al.  Application-level checkpointing for shared memory programs , 2004, ASPLOS XI.

[39]  David Wetherall,et al.  Dewdrop: An Energy-Aware Runtime for Computational RFID , 2011, NSDI.

[40]  H. Dubois-Ferriere,et al.  TinyNode: a comprehensive platform for wireless sensor network applications , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[41]  Adam Dunkels,et al.  Demo abstract: MSPsim - an extensible simulator for MSP430-equipped sensor boards , 2007 .

[42]  David Wetherall,et al.  Recognizing daily activities with RFID-based sensors , 2009, UbiComp.

[43]  Andrea C. Arpaci-Dusseau,et al.  Membrane: Operating system support for restartable file systems , 2010, TOS.

[44]  Alanson P. Sample,et al.  Design of an RFID-Based Battery-Free Programmable Sensing Platform , 2008, IEEE Transactions on Instrumentation and Measurement.

[45]  Micah Beck,et al.  Compiler-Assisted Memory Exclusion for Fast Checkpointing , 1995 .

[46]  Emmanuel J. Candès,et al.  Robust uncertainty principles: exact signal reconstruction from highly incomplete frequency information , 2004, IEEE Transactions on Information Theory.

[47]  Philip Levis,et al.  Surviving sensor network software faults , 2009, SOSP '09.