Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

A simpler, safer programming and execution model for intermittent systems

Published: 03 June 2015 Publication History

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.
[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.
[4]
M. Atkinson and R. Morrison. Orthogonally persistent object systems. The VLDB Journal, 4(3), July 1995.
[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.
[6]
S. Blackburn and J. N. Zigman. Concurrency – the fly in the ointment? In 3rd Intl. Workshop on Persistence and Java (PJW3), Sept. 1999.
[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.
[8]
L. Ceze, J. Tuck, P. Montesinos, and J. Torrellas. BulkSC: Bulk enforcement of sequential consistency. In ISCA, June 2007.
[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.
[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.
[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.
[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.
[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.
[15]
[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.
[17]
S. Gollakota, M. S. Reynolds, J. R. Smith, and D. J. Wetherall. The emergence of RF-powered computing. Computer, 47(1), 2014.
[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.
[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.
[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. 1145/2509136.2509541.
[21]
L. Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21(7), July 1978. 1145/359545.359563.
[22]
C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In CGO, Mar. 2004.
[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.
[24]
J. Manson, W. Pugh, and S. V. Adve. The Java memory model. In POPL, Jan. 2005.
[25]
MIDI Manuf. Assoc. Summary of MIDI messages. http://www. midi.org/techspecs/midimessages.php, 2014. Visited August 3, 2014.
[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.
[27]
D. Narayanan and O. Hodson. Whole-system persistence with nonvolatile memories. In ASPLOS, Mar. 2012.
[28]
J. A. Paradiso and T. Starner. Energy scavenging for mobile and wireless electronics. IEEE Pervasive Computing, 4(1):18–27, 2005.
[30]
S. Pelley, P. M. Chen, and T. F. Wenisch. Memory persistency. In ISCA, June 2014.
[31]
Powercast Co. Development Kits - Wireless Power Solutions. http: //www.powercastco.com/products/development-kits/. Visited July 30, 2014.
[32]
B. Ransford, J. Sorber, and K. Fu. Mementos: System support for long-running computation on RFID-scale devices. In ASPLOS, Mar. 2011.
[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. org/10.1145/2248341.2248349.
[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.
[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.
[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.
[38]
Texas Instruments Inc. MSP430 flash memory characteristics. http://www.ti.com/lit/an/slaa334a/slaa334a.pdf, Apr. 2008. Visited August 5, 2014.
[39]
TI Inc. Overview for MSP430FRxx FRAM. http://ti.com/ wolverine, 2014. Visited July 28, 2014.
[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.
[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.
[42]
[43]
H. Volos, A. J. Tack, and M. M. Swift. Mnemosyne: lightweight persistent memory. In ASPLOS, Mar. 2011. 10.1145/1950365.1950379.
[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.
[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.
[46]
P. Zhang, D. Ganesan, and B. Lu. QuarkOS: Pushing the operating limits of micro-powered sensors. In HotOS, May 2013.
[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.

Cited By

View all
  • (2024)Selective Data Protection for Energy-Efficient Deep Neural Network Inference in Intermittent IoT SystemsProceedings of the 12th International Workshop on Energy Harvesting and Energy-Neutral Sensing Systems10.1145/3698384.3699618(35-41)Online publication date: 4-Nov-2024
  • (2024)User-directed Assembly Code Transformations Enabling Efficient Batteryless Arduino ApplicationsProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/36595908:2(1-32)Online publication date: 15-May-2024
  • (2024)Deciphering the Enigma of Satellite Computing with COTS Devices: Measurement and AnalysisProceedings of the 30th Annual International Conference on Mobile Computing and Networking10.1145/3636534.3649371(420-435)Online publication date: 29-May-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 June 2015
Published in SIGPLAN Volume 50, Issue 6

Check for updates

Author Tag

  1. Intermittent Computing

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)203
  • Downloads (Last 6 weeks)22
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Selective Data Protection for Energy-Efficient Deep Neural Network Inference in Intermittent IoT SystemsProceedings of the 12th International Workshop on Energy Harvesting and Energy-Neutral Sensing Systems10.1145/3698384.3699618(35-41)Online publication date: 4-Nov-2024
  • (2024)User-directed Assembly Code Transformations Enabling Efficient Batteryless Arduino ApplicationsProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/36595908:2(1-32)Online publication date: 15-May-2024
  • (2024)Deciphering the Enigma of Satellite Computing with COTS Devices: Measurement and AnalysisProceedings of the 30th Annual International Conference on Mobile Computing and Networking10.1145/3636534.3649371(420-435)Online publication date: 29-May-2024
  • (2024)Adaptable Runtime Monitoring for Intermittent SystemsProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650070(1175-1191)Online publication date: 22-Apr-2024
  • (2024)The Internet of Batteryless ThingsCommunications of the ACM10.1145/362471867:3(64-73)Online publication date: 22-Feb-2024
  • (2024)FASE: Energy Isolation Framework for Latency-Sensitive Applications in Intermittent Systems With Multiple PeripheralsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.331819943:2(456-467)Online publication date: 1-Feb-2024
  • (2024)EarlyBird: Energy belongs to those who wake up early2024 IEEE 30th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA)10.1109/RTCSA62462.2024.00011(1-10)Online publication date: 21-Aug-2024
  • (2024)SCHEMATIC: Compile-Time Checkpoint Placement and Memory Allocation for Intermittent SystemsProceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO57630.2024.10444789(258-269)Online publication date: 2-Mar-2024
  • (2024)Ensuring consistent recovery under power failure with minimal NVM write overheadJournal of Systems Architecture10.1016/j.sysarc.2024.103083148(103083)Online publication date: Mar-2024
  • (2024)A meta-pattern for building QoS-optimal mobile services out of equivalent microservicesService Oriented Computing and Applications10.1007/s11761-024-00391-118:2(109-120)Online publication date: 20-Mar-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media