skip to main content
research-article

A simpler, safer programming and execution model for intermittent systems

Published:03 June 2015Publication History
Skip Abstract Section

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×.

References

  1. S. V. Adve and H.-J. Boehm. Memory models: A case for rethinking parallel languages and hardware. Commun. ACM, 53(8), Aug. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. doi: http://dx.doi.org/10.1145/1787234.1787255.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Atkinson and R. Morrison. Orthogonally persistent object systems. The VLDB Journal, 4(3), July 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Blackburn and J. N. Zigman. Concurrency – the fly in the ointment? In 3rd Intl. Workshop on Persistence and Java (PJW3), Sept. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Ceze, J. Tuck, P. Montesinos, and J. Torrellas. BulkSC: Bulk enforcement of sequential consistency. In ISCA, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. doi: http://dx.doi.org/10.1145/1629575.1629589.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 2592814.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In CGO, Mar. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarCross RefCross Ref
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. MIDI Manuf. Assoc. Summary of MIDI messages. http://www. midi.org/techspecs/midimessages.php, 2014. Visited August 3, 2014.Google ScholarGoogle Scholar
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. D. Narayanan and O. Hodson. Whole-system persistence with nonvolatile memories. In ASPLOS, Mar. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. A. Paradiso and T. Starner. Energy scavenging for mobile and wireless electronics. IEEE Pervasive Computing, 4(1):18–27, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. doi: http://dx.doi.org/10.1109/MPRV.2005.9.Google ScholarGoogle Scholar
  30. S. Pelley, P. M. Chen, and T. F. Wenisch. Memory persistency. In ISCA, June 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Powercast Co. Development Kits - Wireless Power Solutions. http: //www.powercastco.com/products/development-kits/. Visited July 30, 2014.Google ScholarGoogle Scholar
  32. B. Ransford, J. Sorber, and K. Fu. Mementos: System support for long-running computation on RFID-scale devices. In ASPLOS, Mar. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarCross RefCross Ref
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. doi: http://dx.doi.org/10.1145/1785414.1785443.Google ScholarGoogle Scholar
  38. Texas Instruments Inc. MSP430 flash memory characteristics. http://www.ti.com/lit/an/slaa334a/slaa334a.pdf, Apr. 2008. Visited August 5, 2014.Google ScholarGoogle Scholar
  39. TI Inc. Overview for MSP430FRxx FRAM. http://ti.com/ wolverine, 2014. Visited July 28, 2014.Google ScholarGoogle Scholar
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 1709893.Google ScholarGoogle Scholar
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarCross RefCross Ref
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. P. Zhang, D. Ganesan, and B. Lu. QuarkOS: Pushing the operating limits of micro-powered sensors. In HotOS, May 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A simpler, safer programming and execution model for intermittent systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 50, Issue 6
            PLDI '15
            June 2015
            630 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2813885
            • Editor:
            • Andy Gill
            Issue’s Table of Contents
            • cover image ACM Conferences
              PLDI '15: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation
              June 2015
              630 pages
              ISBN:9781450334686
              DOI:10.1145/2737924

            Copyright © 2015 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 3 June 2015

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!