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.
- W. Baek and T. Chilimbi. Green: A system for supporting energy-conscious programming using principled abstractions. Technical Report MSR-TR-2009-89, Microsoft Research, July 2009.Google Scholar
- P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987. ISBN 0-201-10715-5. Google Scholar
Digital Library
- G. Bronevetsky, D. Marques, K. Pingali, P. K. Szwed, and M. Schulz. Application-level checkpointing for shared memory programs. In Proc. 11th Int'l Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-XI), pages 235--247. ACM, Oct. 2004. Google Scholar
Digital Library
- J. Bruck, A. Vardy, A. Jiang, E. Yaakobi, J. Wolf, R. Mateescu, and P. Siegel. Storage coding for wear leveling in flash memories. In IEEE Int'l Symposium on Information Theory (ISIT '09), pages 1229--1233, June 2009. Google Scholar
Digital Library
- M. Buettner, B. Greenstein, A. Sample, J. R. Smith, and D. Wetherall. Revisiting smart dust with RFID sensor networks. In Proc. 7th ACM Workshop on Hot Topics in Networks (HotNets-VII), Oct. 2008.Google Scholar
- M. Buettner, R. Prasad, M. PHilipose, and D. Wetherall. Recognizing daily activities with rfid-based sensors. In Proc. 11th Int'l Conference on Ubiquitous Computing (UbiComp '09), pages 51--60. ACM, Sept. 2009. Google Scholar
Digital Library
- M. Buettner, B. Greenstein, and D. Wetherall. Dewdrop: An energy-aware task scheduler for computational RFID. In Proc. 8th USENIX Symposium on Networked Systems Design and Implementation (NSDI '11). USENIX Association, Mar. 2011. To appear. Google Scholar
Digital Library
- E. Candès, J. Romberg, and T. Tao. Robust uncertainty principles: Exact signal reconstruction from highly incomplete frequency information. IEEE Transactions on Information Theory, 52 (2): 489--509, Feb. 2006. Google Scholar
Digital Library
- H.-J. Chae, D. J. Yeager, J. R. Smith, and K. Fu. Maximalist cryptography and computation on the WISP UHF RFID tag. In Proc. Conference on RFID Security, July 2007.Google Scholar
- Y. Chen, O. Gnawali, M. Kazandjieva, P. Levis, and J. Regehr. Surviving sensor network software faults. In Proc. ACM SIGOPS 22nd Symposium on Operating Systems Principles (SOSP '09), pages 235--246, Oct. 2009. Google Scholar
Digital Library
- S. S. Clark, J. Gummeson, K. Fu, and D. Ganesan. Towards autonomously-powered CRFIDs. In Workshop on Power Aware Computing and Systems (HotPower '09), Oct. 2009.Google Scholar
- H. Dubois-Ferrière, L. Fabre, R. Meier, and P. Metrailler. TinyNode: a comprehensive platform for wireless sensor network applications. In Proc. 5th Int'l Conference on Information Processing in Sensor Networks (IPSN '06), pages 358--365. ACM, Apr. 2006. Google Scholar
Digital Library
- A. Dunkels, B. Grönvall, and T. Voigt. Contiki--a lightweight and flexible operating system for tiny networked sensors. In Proc. First IEEE Workshop on Embedded Networked Sensors (Emnets-I). IEEE Computer Society, Nov. 2004. Google Scholar
Digital Library
- J. Eriksson, A. Dunkels, N. Finne, F. Österlind, and T. Voigt. MSPsim--an extensible simulator for MSP430-equipped sensor boards. In Proc. 4th European Conference on Wireless Sensor Networks (EWSN '07), Poster/Demo session. Springer, Jan. 2007.Google Scholar
- R. Gennaro, C. Gentry, and B. Parno. Non-interactive verifiable computing: Outsourcing computation to untrusted workers. In Advances in Cryptology--CRYPTO 2010, volume 6223 of Lecture Notes in Computer Science, pages 465--482. Springer, Aug. 2010. Google Scholar
Digital Library
- M. Gorlatova, P. Kinget, I. Kymissis, D. Rubenstein, X. Wang, and G. Zussman. Challenge: Ultra-low-power Energy-Harvesting Active Networked Tags (EnHANTs). In Proc. 15th Annual Int'l Conference on Mobile Computing and Networking (MobiCom '09), pages 253--260. ACM, Sept. 2009. Google Scholar
Digital Library
- J. Gummeson, S. S. Clark, K. Fu, and D. Ganesan. On the limits of effective micro-energy harvesting on mobile CRFID sensors. In Proc. 8th Annual ACM/USENIX Int'l Conference on Mobile Systems, Applications, and Services (MobiSys '10). ACM, June 2010. Google Scholar
Digital Library
- P. Horowitz and W. Hill. The Art of Electronics. Cambridge University Press, 1989. ISBN 0-521-37095-7. Google Scholar
Digital Library
- S. F. Kaplan. Compressed caching and modern virtual memory simulation. PhD thesis, University of Texas at Austin, Dec. 1999. Google Scholar
Digital Library
- R. Koo and S. Toueg. Checkpointing and rollback-recovery for distributed systems. In Proceedings of 1986 ACM Fall Joint Computer Conference (ACM '86), pages 1150--1158. IEEE Computer Society, 1986. Google Scholar
Digital Library
- C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In Proc. 2004 Int'l Symposium on Code Generation and Optimization (CGO'04). ACM, Mar. 2004. Google Scholar
Digital Library
- P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler. TinyOS: An operating system for sensor networks. In Ambient Intelligence. Springer Verlag, 2004.Google Scholar
- C. Li and W. Fuchs. CATCH--Compiler-assisted techniques for checkpointing. In Digest of Papers, 20th Int'l Symposium on Fault-Tolerant Computing (FTCS-20), pages 74--81. IEEE, June 1990.Google Scholar
- C. Li, E. Stewart, and W. Fuchs. Compiler-assisted full checkpointing. Software: Practice & Experience, 24 (10): 871--886, 1994. Google Scholar
Digital Library
- J.-L. Lin, M. H. Dunham, and M. A. Nascimento. A survey of distributed database checkpointing. Distributed and Parallel Databases, 5 (3): 289--319, July 1997. Google Scholar
Digital Library
- M. J. Litzkow, M. Livny, and M. W. Mutka. Condor--a hunter of idle workstations. In Proc. 8th Int'l Conference on Distributed Computing Systems (ICDCS '88), pages 104--111. IEEE Computer Society, June 1988.Google Scholar
Cross Ref
- J. A. McDermid. Checkpointing and error recovery in distributed systems. In Proc. 2nd Int'l Conference on Distributed Computing Systems (ICDCS '81), pages 271--282. IEEE Computer Society, 1981.Google Scholar
- S. Misailovic, S. Sidiroglou, H. Hoffman, and M. C. Rinard. Quality of service profiling. In Proc. 32nd ACM/IEEE Int'l Conference on Software Engineering (ICSE '10). ACM, May 2010. Google Scholar
Digital Library
- J. Olivo, S. Carrara, and G. D. Micheli. Energy harvesting and remote powering for implantable biosensors. IEEE Sensors Journal, PP (99), October 2010.Google Scholar
- F. Österlind, A. Dunkels, T. Voigt, N. Tsiftes, J. Eriksson, and N. Finne. Sensornet checkpointing: Enabling repeatability in testbeds and realism in simulators. In Proc. 6th European Conference on Wireless Sensor Networks (EWSN '09). Springer, Feb. 2009. Google Scholar
Digital Library
- J. A. Paradiso and T. Starner. Energy scavenging for mobile and wireless electronics. IEEE Pervasive Computing, 4 (1): 18--27, 2005. Google Scholar
Digital Library
- J. S. Plank, M. Beck, and G. Kingsley. Compiler-assisted memory exclusion for fast checkpointing. IEEE Technical Committee on Operating Systems and Application Environments, 7 (4): 10--14, Winter 1995.Google Scholar
- J. S. Plank, M. Beck, G. Kingsley, and K. Li. Libckpt: Transparent checkpointing under Unix. In Proc. USENIX 1995 Technical Conference on UNIX and Advanced Computing Systems, pages 213--223, Jan. 1995. Google Scholar
Digital Library
- P. Plauger. Embedded C++: An Overview. Embedded Systems Programming, 10: 40--53, 1997.Google Scholar
- J. Polastre, R. Szewczyk, and D. Culler. Telos: Enabling ultra-low power wireless research. In Proc. 4th Int'l Symposium on Information Processing in Sensor Networks: Special track on Platform Tools and Design Methods for Network Embedded Sensors (IPSN/SPOTS '05). IEEE, Apr. 2005. Google Scholar
Digital Library
- B. Ransford, S. Clark, M. Salajegheh, and K. Fu. Getting things done on computational RFIDs with energy-aware checkpointing and voltage-aware scheduling. In USENIX Workshop on Power Aware Computing and Systems (HotPower '08), Dec. 2008. Google Scholar
Digital Library
- M. Rosenblum and J. K. Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems (TOCS), 10 (1): 26--52, 1992. Google Scholar
Digital Library
- M. Salajegheh, Y. Wang, K. Fu, A. A. Jiang, and E. Learned-Miller. Exploiting half-wits: Smarter storage for low-power devices. In Proc. 9th USENIX Conference on File and Storage Technologies (FAST '11), Feb. 2011. To appear. Google Scholar
Digital Library
- A. P. Sample, D. J. Yeager, P. S. Powledge, A. V. Mamishev, and J. R. Smith. Design of an RFID-based battery-free programmable sensing platform. IEEE Transactions on Instrumentation and Measurement, 57 (11): 2608--2615, Nov. 2008.Google Scholar
Cross Ref
- J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: A language and runtime system for perpetual systems. In Proceedings of The Fifth Int'l ACM Conference on Embedded Networked Sensor Systems (SenSys '07), pages 161--174, Nov. 2007. Google Scholar
Digital Library
- V. Strumpen. Portable and fault-tolerant software systems. IEEE Micro, 18 (5): 22--32, 1998. Google Scholar
Digital Library
- S. Sundararaman, S. Subramanian, A. Rajimwale, A. C. Arpaci-Dusseau, R. H. Arpaci-Dusseau, and M. M. Swift. Membrane: Operating system support for restartable file systems. In Proc. 8th USENIX Conference on File and Storage Technologies (FAST '10), Feb. 2010. Google Scholar
Digital Library
- Texas Instruments Incorporated. MSP430 Ultra-Low Power Microcontrollers. http://www.ti.com/msp430.Google Scholar
- S. Thomas, J. Teizer, and M. Reynolds. Electromagnetic energy harvesting for sensing, communication, and actuation. In Proc. 27th Int'l Symposium on Automation and Robotics in Construction (ISARC '10). IAARC, June 2010.Google Scholar
Cross Ref
- Y. Yang, L. Wang, D. K. Noh, H. K. Le, and T. F. Abdelzaher. SolarStore: Enhancing data reliability in solar-powered storage-centric sensor networks. In Proc. 7th Annual Int'l Conference on Mobile Systems, Applications, and Services (MobiSys '09), pages 333--346. ACM, 2009. Google Scholar
Digital Library
- D. Yeager, F. Zhang, A. Zarrasvand, N. George, T. Daniel, and B. Otis. A 9 μa, addressable Gen2 sensor tag for biosignal acquisition. IEEE Journal of Solid-State Circuits, 45 (10): 2198--2209, Oct. 2010.Google Scholar
Cross Ref
- E. Yeatman. Advances in power sources for wireless sensor nodes. In Proc. Int'l Workshop on Wearable and Implantable Body Sensor Networks (BSN '04), pages 20--21. IEEE Computer Society, Apr. 2004.Google Scholar
Index Terms
Mementos: system support for long-running computation on RFID-scale devices
Recommendations
Mementos: system support for long-running computation on RFID-scale devices
ASPLOS XVI: Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systemsTransiently 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 ...
Mementos: system support for long-running computation on RFID-scale devices
ASPLOS '11Transiently 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 ...
Energy-aware rate adaptation for computational RFID
Rate adaptation is an effective method to maximise the transmission goodput, especially for the passive sensing systems with a more variable channel environment and unstable energy states. Most existing approaches share three common drawbacks: excessive ...







Comments