Abstract
Energy harvesting enables novel devices and applications without batteries, but intermittent operation under energy harvesting poses new challenges to memory consistency that threaten to leave applications in failed states not reachable in continuous execution. This paper presents analytical models that aid in reasoning about intermittence. Using these, we develop DINO (Death Is Not an Option), a programming and execution model that simplifies programming for intermittent systems and ensures volatile and nonvolatile data consistency despite near-constant interruptions. DINO is the first system to address these consistency problems in the context of intermittent execution. We evaluate DINO on three energy-harvesting hardware platforms running different applications. The applications fail and exhibit error without DINO, but run correctly with DINO’s modest 1.8–2.7× run-time overhead. DINO also dramatically simplifies programming, reducing the set of possible failure- related control transfers by 5–9×.
- S. V. Adve and H.-J. Boehm. Memory models: A case for rethinking parallel languages and hardware. Commun. ACM, 53(8), Aug. 2010. Google Scholar
Digital Library
- doi: http://dx.doi.org/10.1145/1787234.1787255.Google Scholar
- M. Atkinson and M. Jordan. Issues raised by three years of developing PJama: An orthogonally persistent platform for Java. In Intl. Conf. Database Theory (ICDT), Jan. 1999. Google Scholar
Digital Library
- M. Atkinson and R. Morrison. Orthogonally persistent object systems. The VLDB Journal, 4(3), July 1995. Google Scholar
Digital Library
- K. Bailey, L. Ceze, S. D. Gribble, and H. M. Levy. Operating system implications of fast, cheap, non-volatile memory. In Workshop on Hot Topics in Operating Systems (HotOS), May 2011. Google Scholar
Digital Library
- S. Blackburn and J. N. Zigman. Concurrency – the fly in the ointment? In 3rd Intl. Workshop on Persistence and Java (PJW3), Sept. 1999. Google Scholar
Digital Library
- M. Buettner, B. Greenstein, and D. Wetherall. Dewdrop: An energyaware task scheduler for computational RFID. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Mar. 2011. Google Scholar
Digital Library
- L. Ceze, J. Tuck, P. Montesinos, and J. Torrellas. BulkSC: Bulk enforcement of sequential consistency. In ISCA, June 2007. Google Scholar
Digital Library
- J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson. NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories. In ASPLOS, Mar. 2011. doi: http://dx.doi.org/10.1145/1950365.1950380. Google Scholar
Digital Library
- J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee. Better I/O through byte-addressable, persistent memory. In Symposium on Operating Systems Principles (SOSP), Oct. 2009. Google Scholar
Digital Library
- doi: http://dx.doi.org/10.1145/1629575.1629589.Google Scholar
- A. Czeskis, K. Koscher, J. R. Smith, and T. Kohno. RFIDs and secret handshakes: defending against ghost-and-leech attacks and unauthorized reads with context-aware communications. In ACM Conference on Computer and Communications Security (CCS), Oct. 2008. doi: http://dx.doi.org/10.1145/1455770.1455831. Google Scholar
Digital Library
- J. Dai, X. Bai, Z. Yang, Z. Shen, and D. Xuan. Mobile phone-based pervasive fall detection. Personal Ubiquitous Computing, 14(7), Oct. 2010. doi: http://dx.doi.org/10.1007/s00779-010-0292-x. Google Scholar
Digital Library
- S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J. Jackson. System software for persistent memory. In EuroSys ’14, Apr. 2014. doi: http://doi.acm.org/10.1145/2592798. Google Scholar
Digital Library
- 2592814.Google Scholar
- C. Ferri, A. Viescas, T. Moreshet, I. Bahar, and M. Herlihy. Energy implications of transactional memory for embedded architectures. In Workshop on Exploiting Parallelism with Transactional Memory and other Hardware Assisted Methods (EPHAM’08), Apr. 2008.Google Scholar
- S. Gollakota, M. S. Reynolds, J. R. Smith, and D. J. Wetherall. The emergence of RF-powered computing. Computer, 47(1), 2014. doi: http://dx.doi.org/10.1109/MC.2013.404. Google Scholar
Digital Library
- L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In ISCA, June 2004. Google Scholar
Digital Library
- H. Jayakumar, A. Raha, and V. Raghunathan. QuickRecall: A low overhead HW/SW approach for enabling computations across power cycles in transiently powered computers. In Int’l Conf. on VLSI Design and Int’l Conf. on Embedded Systems, Jan. 2014. Google Scholar
Digital Library
- A. Kansal, S. Saponas, A. B. Brush, K. S. McKinley, T. Mytkowicz, and R. Ziola. The Latency, Accuracy, and Battery (LAB) abstraction: Programmer productivity and energy efficiency for continuous mobile context sensing. In OOPSLA, Oct. 2013. doi: http://dx.doi.org/10. 1145/2509136.2509541. Google Scholar
Digital Library
- L. Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21(7), July 1978. doi: http://dx.doi.org/10. 1145/359545.359563. Google Scholar
Digital Library
- C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In CGO, Mar. 2004. Google Scholar
Digital Library
- R. LeMoyne, T. Mastroianni, M. Cozza, C. Coroian, and W. Grundfest. Implementation of an iPhone for characterizing Parkinson’s disease tremor through a wireless accelerometer application. In Int’l Conf. IEEE Engineering in Medicine and Biology Society (EMBC), Aug. 2010. doi: http://dx.doi.org/10.1109/IEMBS.2010.5627240.Google Scholar
Cross Ref
- J. Manson, W. Pugh, and S. V. Adve. The Java memory model. In POPL, Jan. 2005. doi: http://dx.doi.org/10.1145/1040305.1040336. Google Scholar
Digital Library
- MIDI Manuf. Assoc. Summary of MIDI messages. http://www. midi.org/techspecs/midimessages.php, 2014. Visited August 3, 2014.Google Scholar
- A. Mirhoseini, E. M. Songhori, and F. Koushanfar. Idetic: A high-level synthesis approach for enabling long computations on transientlypowered ASICs. In IEEE Pervasive Computing and Communication Conference (PerCom), Mar. 2013. URL http://aceslab.org/ sites/default/files/Idetic.pdf.Google Scholar
Cross Ref
- D. Narayanan and O. Hodson. Whole-system persistence with nonvolatile memories. In ASPLOS, Mar. 2012. 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
- doi: http://dx.doi.org/10.1109/MPRV.2005.9.Google Scholar
- S. Pelley, P. M. Chen, and T. F. Wenisch. Memory persistency. In ISCA, June 2014. Google Scholar
Digital Library
- Powercast Co. Development Kits - Wireless Power Solutions. http: //www.powercastco.com/products/development-kits/. Visited July 30, 2014.Google Scholar
- B. Ransford, J. Sorber, and K. Fu. Mementos: System support for long-running computation on RFID-scale devices. In ASPLOS, Mar. 2011. Google Scholar
Digital Library
- L. Ren, Q. Zhang, and W. Shi. Low-power fall detection in homebased environments. In ACM International Workshop on Pervasive Wireless Healthcare (MobileHealth), June 2012. doi: http://dx.doi. org/10.1145/2248341.2248349. Google Scholar
Digital Library
- M. Salajegheh, S. S. Clark, B. Ransford, K. Fu, and A. Juels. CCCP: secure remote storage for computational RFIDs. In USENIX Security Symposium, Aug. 2009. URL https://spqr.eecs.umich.edu/ papers/salajegheh-CCCP-usenix09.pdf. 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
- P. Sewell, S. Sarkar, S. Owens, F. Z. Nardelli, and M. O. Myreen. x86-TSO: A rigorous and usable programmers model for x86 multiprocessors. Commun. ACM (Research Highlights), 53(7), July 2010. Google Scholar
Digital Library
- doi: http://dx.doi.org/10.1145/1785414.1785443.Google Scholar
- Texas Instruments Inc. MSP430 flash memory characteristics. http://www.ti.com/lit/an/slaa334a/slaa334a.pdf, Apr. 2008. Visited August 5, 2014.Google Scholar
- TI Inc. Overview for MSP430FRxx FRAM. http://ti.com/ wolverine, 2014. Visited July 28, 2014.Google Scholar
- S. Venkataraman, N. Tolia, P. Ranganathan, and R. H. Campbell. Consistent and durable data structures for non-volatile byte-addressable memory. In FAST, Feb. 2011. URL https://www.usenix.org/legacy/events/fast11/tech/ full_papers/Venkataraman.pdf. Google Scholar
Digital Library
- N. Villar and S. Hodges. The Peppermill: A human-powered user interface device. In Conference on Tangible, Embedded, and Embodied Interaction (TEI), Jan. 2010. doi: http://dx.doi.org/10.1145/1709886. Google Scholar
Digital Library
- 1709893.Google Scholar
- H. Volos, A. J. Tack, and M. M. Swift. Mnemosyne: lightweight persistent memory. In ASPLOS, Mar. 2011. doi: http://dx.doi.org/ 10.1145/1950365.1950379. Google Scholar
Digital Library
- D. Yeager, P. Powledge, R. Prasad, D. Wetherall, and J. Smith. Wirelessly-charged UHF tags for sensor data collection. In IEEE Int’l Conference on RFID, Apr. 2008.Google Scholar
Cross Ref
- L. Yerva, B. Campbell, A. Bansal, T. Schmid, and P. Dutta. Grafting energy-harvesting leaves onto the sensornet tree. In Conference on Information Processing in Sensor Networks (IPSN), Apr. 2012. doi: http://dx.doi.org/10.1145/2185677.2185733. Google Scholar
Digital Library
- P. Zhang, D. Ganesan, and B. Lu. QuarkOS: Pushing the operating limits of micro-powered sensors. In HotOS, May 2013. Google Scholar
Digital Library
- J. Zhao, S. Li, D. H. Yoon, Y. Xie, and N. P. Jouppi. Kiln: Closing the performance gap between systems with and without persistence support. In MICRO, Dec. 2013. Google Scholar
Digital Library
Index Terms
A simpler, safer programming and execution model for intermittent systems
Recommendations
Supporting peripherals in intermittent systems with just-in-time checkpoints
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationBatteryless energy-harvesting devices have the potential to be the foundation of applications for which batteries are infeasible. Just-In-Time checkpointing supports intermittent execution on energy-harvesting devices by checkpointing processor state ...
A simpler, safer programming and execution model for intermittent systems
PLDI '15: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and ImplementationEnergy harvesting enables novel devices and applications without batteries, but intermittent operation under energy harvesting poses new challenges to memory consistency that threaten to leave applications in failed states not reachable in continuous ...
A survey on program-state retention for transiently-powered systems
AbstractLow-power small-scale embedded sensing systems employing batteries generally impose high maintenance costs. To enable maintenance-free operation, they are powered from energy harvested from the environment thus making them batteryless. ...






Comments