Abstract
Intermittently powered devices enable new applications in harsh or inaccessible environments, such as space or in-body implants, but also introduce problems in programmability and correctness. Researchers have developed programming models to ensure that programs make progress and do not produce erroneous results due to memory inconsistencies caused by intermittent executions. As the technology has matured, more and more features are added to intermittently powered devices, such as I/O. Prior work has shown that all existing intermittent execution models have problems with repeated device or sensor inputs (RIO). RIOs could leave intermittent executions in an inconsistent state. Such problems and the proliferation of existing intermittent execution models necessitate a formal foundation for intermittent computing.
In this paper, we formalize intermittent execution models, their correctness properties with respect to memory consistency and inputs, and identify the invariants needed to prove systems correct. We prove equivalence between several existing intermittent systems. To address RIO problems, we define an algorithm for identifying variables affected by RIOs that need to be restored after reboot and prove the algorithm correct. Finally, we implement the algorithm in a novel intermittent runtime system that is correct with respect to input operations and evaluate its performance.
Supplemental Material
- Alberto Arreola, Domenico Balsamo, Geof Merrett, and Alex Weddell. 2018. RESTOP: Retaining External Peripheral State in Intermittently-Powered Sensor Systems. Sensors 18 (01 2018 ). https://doi.org/10.3390/s18010172 Google Scholar
Cross Ref
- D. Balsamo, A. Weddell, A. Das, A. Arreola, D. Brunelli, B. Al-Hashimi, G. Merrett, and L. Benini. 2016. Hibernus++: A Self-Calibrating and Adaptive System for Transiently-Powered Embedded Devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems PP, 99 ( 2016 ). https://doi.org/10.1109/TCAD. 2016.2547919 Google Scholar
Digital Library
- Domenico Balsamo, Alex S Weddell, Geof V Merrett, Bashir M Al-Hashimi, Davide Brunelli, and Luca Benini. 2015. Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems. IEEE Embedded Systems Letters 7, 1 ( 2015 ). https://doi.org/10.1109/LES. 2014.2371494 Google Scholar
Digital Library
- Naama Ben-David, Guy E. Blelloch, Michal Friedman, and Yuanhao Wei. 2019. Delay-Free Concurrency on Faulty Persistent Memory. In The 31st ACM Symposium on Parallelism in Algorithms and Architectures (SPAA '19). ACM, New York, NY, USA. https://doi.org/10.1145/3323165.3323187 Google Scholar
Digital Library
- Gautier Berthou, Tristan Delizy, Kevin Marquet, Tanguy Risset, and Guillaume Salagnac. 2017. Peripheral state persistence for transiently-powered systems. In 2017 Global Internet of Things Summit (GIoTS). IEEE. https://doi.org/10.1109/giots. 2017.8016243 Google Scholar
- Guy E. Blelloch, Phillip B. Gibbons, Yan Gu, Charles McGufey, and Julian Shun. 2018. The Parallel Persistent Memory Model. In Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures, SPAA 2018, Vienna, Austria, July 16-18, 2018. https://doi.org/10.1145/3210377.3210381 Google Scholar
Digital Library
- James Bornholt, Antoine Kaufmann, Jialin Li, Arvind Krishnamurthy, Emina Torlak, and Xi Wang. 2016. Specifying and Checking File System Crash-Consistency Models. SIGARCH Comput. Archit. News 44, 2 (March 2016 ). https: //doi.org/10.1145/2980024.2872406 Google Scholar
Digital Library
- Dhruva R. Chakrabarti, Hans-J. Boehm, and Kumud Bhandari. 2014. Atlas: Leveraging Locks for Non-Volatile Memory Consistency. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA '14). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/ 2660193.2660224 Google Scholar
Digital Library
- Haogang Chen, Daniel Ziegler, Tej Chajed, Adam Chlipala, M. Frans Kaashoek, and Nickolai Zeldovich. 2015. Using Crash Hoare Logic for Certifying the FSCQ File System. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP '15). ACM, New York, NY, USA. https://doi.org/10.1145/2815400.2815402 Google Scholar
Digital Library
- Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making Persistent Objects Fast and Safe with Next-generation, Non-volatile Memories. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). https://doi.org/10.1145/1950365.1950380 Google Scholar
Digital Library
- Alexei Colin, Graham Harvey, Brandon Lucia, and Alanson P. Sample. 2016. An Energy-interference-free Hardware-Software Debugger for Intermittent Energy-harvesting Systems. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16). https://doi.org/10.1145/2872362. 2872409 Google Scholar
Digital Library
- Alexei Colin and Brandon Lucia. 2016. Chain: Tasks and Channels for Reliable Intermittent Programs. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016 ). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/2983990.2983995 Google Scholar
Digital Library
- Alexei Colin and Brandon Lucia. 2018. Termination Checking and Task Decomposition for Task-Based Intermittent Programs. In Proceedings of the 27th International Conference on Compiler Construction (CC 2018 ). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3178372.3179525 Google Scholar
Digital Library
- Alexei Colin, Emily Ruppel, and Brandon Lucia. 2018. A Reconfigurable Energy Storage Architecture for Energy-Harvesting Devices. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '18). Association for Computing Machinery, New York, NY, USA. https://doi.org/10. 1145/3173162.3173210 Google Scholar
Digital Library
- Manjeet Dahiya and Sorav Bansal. 2018. Automatic Verification of Intermittent Systems. In Verification, Model Checking, and Abstract Interpretation, Isil Dillig and Jens Palsberg (Eds.). Cham. https://doi.org/10.1007/978-3-319-73721-8_8 Google Scholar
Cross Ref
- Marc De Kruijf and Karthikeyan Sankaralingam. 2013. Idempotent code generation: Implementation, analysis, and evaluation. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). https: //doi.org/10.1109/CGO. 2013.6495002 Google Scholar
Digital Library
- Marc A. de Kruijf, Karthikeyan Sankaralingam, and Somesh Jha. 2012. Static Analysis and Compiler Design for Idempotent Processing. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '12). https://doi.org/10.1145/2254064.2254120 Google Scholar
Digital Library
- Jasper de Winkel, Carlo Delle Donne, Kasim Sinan Yildirim, Przemysław Pawełczak, and Josiah Hester. 2020. Reliable Timekeeping for Intermittent Computing. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '20). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3373376.3378464 Google Scholar
Digital Library
- Bradley Denby and Brandon Lucia. 2020. Orbital Edge Computing: Nanosatellite Constellations as a New Class of Computer System. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '20). Association for Computing Machinery, New York, NY, USA. https://doi.org/10. 1145/3373376.3378473 Google Scholar
Digital Library
- Gidon Ernst, Jörg Pfähler, Gerhard Schellhorn, and Wolfgang Reif. 2016. Inside a Verified Flash File System: Transactions and Garbage Collection. In Verified Software: Theories, Tools, and Experiments, Arie Gurfinkel and Sanjit A. Seshia (Eds.). Springer International Publishing, Cham. https://doi.org/10.1007/978-3-319-29613-5_5 Google Scholar
Digital Library
- Francesco Fraternali, Bharathan Balaji, Yuvraj Agarwal, Luca Benini, and Rajesh Gupta. 2018. Pible: battery-free mote for perpetual indoor BLE applications. In Proceedings of the 5th Conference on Systems for Built Environments. ACM. https://doi.org/10.1145/3276774.3282823 Google Scholar
Digital Library
- Karthik Ganesan, Joshua San Miguel, and Natalie Enright Jerger. 2019. The What's Next Intermittent Computing Architecture. In 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE. https://doi.org/10.1109/ HPCA. 2019.00039 Google Scholar
Cross Ref
- Kaan Genç, Michael D. Bond, and Guoqing Harry Xu. 2020. Crafty: Eficient, HTM-Compatible Persistent Transactions. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020 ). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3385412.3385991 Google Scholar
Digital Library
- Graham Gobieski, Brandon Lucia, and Nathan Beckmann. 2019. Intelligence Beyond the Edge: Inference on Intermittent Embedded Systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '19). Association for Computing Machinery, New York, NY, USA. https: //doi.org/10.1145/3297858.3304011 Google Scholar
Digital Library
- Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, and James Cheney. 2002. Region-based Memory Management in Cyclone. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI '02). ACM, New York, NY, USA. https://doi.org/10.1145/512529.512563 Google Scholar
Digital Library
- Josiah Hester and Jacob Sorber. 2017. Flicker: Rapid Prototyping for the Batteryless Internet of Things. In Proceedings of the 15th ACM Conference on Embedded Network Sensor Systems (SenSys '17). https://doi.org/10.1145/3131672.3131674 Google Scholar
Digital Library
- Josiah Hester, Kevin Storer, and Jacob Sorber. 2017. Timely Execution on Intermittently Powered Batteryless Sensors. In Proceedings of the 15th ACM Conference on Embedded Network Sensor Systems (SenSys '17). https://doi.org/10.1145/ 3131672.3131673 Google Scholar
Digital Library
- Josiah Hester, Nicole Tobias, Amir Rahmati, Lanny Sitanayah, Daniel Holcomb, Kevin Fu, Wayne P. Burleson, and Jacob Sorber. 2016. Persistent Clocks for Batteryless Sensing Devices. ACM Trans. Embed. Comput. Syst. 15, 4, Article 77 ( Aug. 2016 ). https://doi.org/10.1145/2903140 Google Scholar
Digital Library
- Matthew Hicks. 2017. Clank: Architectural Support for Intermittent Computation. In Proceedings of the 44th Annual International Symposium on Computer Architecture (ISCA '17). https://doi.org/10.1145/3079856.3080238 Google Scholar
Digital Library
- Joseph Izraelevitz, Terence Kelly, and Aasheesh Kolli. 2016a. Failure-Atomic Persistent Memory Updates via JUSTDO Logging. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16). ACM, New York, NY, USA. https://doi.org/10.1145/2872362.2872410 Google Scholar
Digital Library
- Joseph Izraelevitz, Hammurabi Mendes, and Michael L. Scott. 2016b. Linearizability of Persistent Memory Objects Under a Full-System-Crash Failure Model. In Distributed Computing, Cyril Gavoille and David Ilcinkas (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-53426-7_23 Google Scholar
- Neal Jackson, Joshua Adkins, and Prabal Dutta. 2019. Capacity over Capacitance for Reliable Energy Harvesting Sensors. In Proceedings of the 18th International Conference on Information Processing in Sensor Networks (IPSN '19). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3302506.3310400 Google Scholar
Digital Library
- Hrishikesh Jayakumar, Arnab Raha, and Vijay Raghunathan. 2014. QuickRecall: A low overhead HW/SW approach for enabling computations across power cycles in transiently powered computers. In 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems. https://doi.org/10.1109/VLSID. 2014.63 Google Scholar
Digital Library
- Rajeev Joshi and Gerard Holzmann. 2007. A Mini Challenge: Build a Verifiable Filesystem. Formal Asp. Comput. 19 ( 06 2007 ). https://doi.org/10.1007/s00165-006-0022-3 Google Scholar
Cross Ref
- Chih-Kai Kang, Chun-Han Lin, Pi-Cheng Hsiu, and Ming-Syan Chen. 2018. HomeRun: HW/SW Co-Design for Program Atomicity on Self-Powered Intermittent Systems. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED '18). Article 29. https://doi.org/10.1145/3218603.3218633 Google Scholar
Digital Library
- Vito Kortbeek, Kasim Sinan Yildirim, Abu Bakar, Jacob Sorber, Josiah Hester, and Przemysław Pawełczak. 2020. TimeSensitive Intermittent Computing Meets Legacy Software. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ' 20). Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3373376.3378476 Google Scholar
Digital Library
- Eric Koskinen and Junfeng Yang. 2016. Reducing Crash Recoverability to Reachability. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '16). ACM, New York, NY, USA. https://doi.org/10.1145/2837614.2837648 Google Scholar
Digital Library
- Chris Lattner and Vikram Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization (CGO '04). IEEE Computer Society, Washington, DC, USA. http://dl.acm.org/citation.cfm?id= 977395. 977673Google Scholar
Digital Library
- Q. Liu, J. Izraelevitz, S. K. Lee, M. L. Scott, S. H. Noh, and C. Jung. 2018. iDO: Compiler-Directed Failure Atomicity for Nonvolatile Memory. In 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). https: //doi.org/10.1109/MICRO. 2018.00029 Google Scholar
Digital Library
- Brandon Lucia and Benjamin Ransford. 2015. A Simpler, Safer Programming and Execution Model for Intermittent Systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2015 ). https://doi.org/10.1145/2737924.2737978 Google Scholar
Digital Library
- Kaisheng Ma, Xueqing Li, Jinyang Li, Yongpan Liu, Yuan Xie, Jack Sampson, Mahmut Taylan Kandemir, and Vijaykrishnan Narayanan. 2017. Incidental Computing on IoT Nonvolatile Processors. In Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-50 '17). ACM, New York, NY, USA. https://doi.org/10.1145/ 3123939.3124533 Google Scholar
Digital Library
- Kaisheng Ma, Xueqing Li, Shuangchen Li, Yongpan Liu, John Jack Sampson, Yuan Xie, and Vijaykrishnan Narayanan. 2015a. Nonvolatile processor architecture exploration for energy-harvesting applications. IEEE Micro 35, 5 ( 2015 ). https://doi.org/10.1109/MM. 2015.88 Google Scholar
Digital Library
- Kaisheng Ma, Yang Zheng, Shuangchen Li, Karthik Swaminathan, Xueqing Li, Yongpan Liu, Jack Sampson, Yuan Xie, and Vijaykrishnan Narayanan. 2015b. Architecture exploration for ambient energy harvesting nonvolatile processors. In High Performance Computer Architecture (HPCA), 2015 IEEE 21st International Symposium on. https://doi.org/10.1109/ HPCA. 2015.7056060 Google Scholar
Cross Ref
- Kiwan Maeng, Alexei Colin, and Brandon Lucia. 2017. Alpaca: Intermittent Execution Without Checkpoints. Proc. ACM Program. Lang. 1, OOPSLA, Article 96 (Oct. 2017 ). https://doi.org/10.1145/3133920 Google Scholar
Digital Library
- Kiwan Maeng, Alexei Colin, and Brandon Lucia. 2019. Alpaca: Intermittent Execution without Checkpoints. ( 2019 ). arXiv:cs.DC/ 1909.06951Google Scholar
- Kiwan Maeng and Brandon Lucia. 2018. Adaptive Dynamic Checkpointing for Safe Eficient Intermittent Computing. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (OSDI'18). USENIX Association, Berkeley, CA, USA. http://dl.acm.org/citation.cfm?id= 3291168. 3291178Google Scholar
Digital Library
- Kiwan Maeng and Brandon Lucia. 2019. Supporting Peripherals in Intermittent Systems with Just-In-Time Checkpoints. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '19). https://doi.org/10.1145/3314221.3314613 Google Scholar
Digital Library
- Andrea Maioli, Luca Mottola, Muhammad Hamad Alizai, and Junaid Haroon Siddiqui. 2019. On intermittence bugs in the battery-less internet of things (WIP paper). In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems. ACM. https://doi.org/10.1145/3316482.3326346 Google Scholar
Digital Library
- J. San Miguel, K. Ganesan, M. Badr, and N. E. Jerger. 2018. The EH Model: Analytical Exploration of Energy-Harvesting Architectures. IEEE Computer Architecture Letters 17, 1 (Jan 2018 ). https://doi.org/10.1109/LCA. 2017.2777834 Google Scholar
Digital Library
- Azalia Mirhoseini, Ebrahim M Songhori, and Farinaz Koushanfar. 2013. Idetic: A high-level synthesis approach for enabling long computations on transiently-powered ASICs. In Pervasive Computing and Communications (PerCom), 2013 IEEE International Conference on. https://doi.org/10.1109/PerCom. 2013.6526735 Google Scholar
Cross Ref
- Dushyanth Narayanan and Orion Hodson. 2012. Whole-system Persistence. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVII). https://doi.org/ 10.1145/2150976.2151018 Google Scholar
Digital Library
- Matteo Nardello, Harsh Desai, Davide Brunelli, and Brandon Lucia. 2019. Camaroptera: A Batteryless Long-Range Remote Visual Sensing System. In Proceedings of the 7th International Workshop on Energy Harvesting & Energy-Neutral Sensing Systems (ENSsys'19). ACM, New York, NY, USA. https://doi.org/10.1145/3362053.3363491 Google Scholar
Digital Library
- Gian Ntzik, Pedro da Rocha Pinto, and Philippa Gardner. 2015. Fault-Tolerant Resource Reasoning. In Programming Languages and Systems, Xinyu Feng and Sungwoo Park (Eds.). Springer International Publishing, Cham. https://doi.org/10.1007/978-3-319-26529-2_10 Google Scholar
Cross Ref
- Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory Persistency. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (ISCA '14). Piscataway, NJ, USA. https://doi.org/10.1109/ISCA. 2014.6853222 Google Scholar
Cross Ref
- Steven Pelley, Peter M Chen, and Thomas F Wenisch. 2015. Memory Persistency: Semantics for Byte-Addressable Nonvolatile Memory Technologies. IEEE Micro 35, 3 ( 2015 ). https://doi.org/10.1109/MM. 2015.46 Google Scholar
Digital Library
- Proteus Digital Health. 2015. Proteus Digital Health. http://www.proteus.com/. ( 2015 ).Google Scholar
- Azalea Raad and Viktor Vafeiadis. 2018. Persistence Semantics for Weak Memory: Integrating Epoch Persistency with the TSO Memory Model. Proc. ACM Program. Lang. 2, OOPSLA, Article 137 (Oct. 2018 ). https://doi.org/10.1145/3276507 Google Scholar
Digital Library
- Azalea Raad, John Wickerson, Gil Neiger, and Viktor Vafeiadis. 2019b. Persistency Semantics of the Intel-X86 Architecture. Proc. ACM Program. Lang. 4, POPL, Article 11 ( Dec. 2019 ). https://doi.org/10.1145/3371079 Google Scholar
Digital Library
- Azalea Raad, John Wickerson, and Viktor Vafeiadis. 2019a. Weak Persistency Semantics from the Ground Up: Formalising the Persistency Semantics of ARMv8 and Transactional Models. Proc. ACM Program. Lang. 3, OOPSLA, Article 135 (Oct. 2019 ). https://doi.org/10.1145/3360561 Google Scholar
Digital Library
- Ganesan Ramalingam and Kapil Vaswani. 2013. Fault Tolerance via Idempotence. ( 2013 ). https://doi.org/10.1145/2429069. 2429100 Google Scholar
Digital Library
- Benjamin Ransford, Jacob Sorber, and Kevin Fu. 2011. Mementos: System Support for Long-running Computation on RFID-scale Devices. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). https://doi.org/10.1145/1950365.1950386 Google Scholar
Digital Library
- Emily Ruppel and Brandon Lucia. 2019. Transactional Concurrency for Intermittent Systems. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '19). https://doi.org/10.1145/ 3314221.3314583 Google Scholar
Digital Library
- Gerhard Schellhorn, Gidon Ernst, Jörg Pfähler, Dominik Haneberg, and Wolfgang Reif. 2014. Development of a Verified Flash File System. In Proceedings of the 4th International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z-Volume 8477 (ABZ 2014 ). Springer-Verlag, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43652-3_2 Google Scholar
Digital Library
- Helgi Sigurbjarnarson, James Bornholt, Emina Torlak, and Xi Wang. 2016. Push-Button Verification of File Systems via Crash Refinement. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI '16). USENIX Association, Savannah, GA. https://www.usenix.org/conference/osdi16/technical-sessions/presentation/sigurbjarnarsonGoogle Scholar
- Milijana Surbatovich, Limin Jia, and Brandon Lucia. 2019. I/O Dependent Idempotence Bugs in Intermittent Systems. Proc. ACM Program. Lang. 3, OOPSLA, Article 183 (Oct. 2019 ). https://doi.org/10.1145/3360609 Google Scholar
Digital Library
- TI Inc. 2020a. Overview for MSP430FRxx FRAM. https://www.ti.com/microcontrollers/msp430-ultra-low-power-mcus/ overview.html. ( 2020 ). Visited October 14th, 2020.Google Scholar
- TI Inc. 2020b. TI-RTOS: Real-Time Operating System (RTOS) for Microcontrollers (MCU). ( 2020 ). https://www.ti.com/tool/TIRTOS-MCU Visited October 14th, 2020.Google Scholar
- Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight Persistent Memory. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). https://doi.org/10.1145/1950365.1950379 Google Scholar
Digital Library
- Joel Van Der Woude and Matthew Hicks. 2016. Intermittent Computation without Hardware Support or Programmer Intervention. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI '16). USENIX Association, Savannah, GA. https://www.usenix.org/conference/osdi16/technical-sessions/presentation/vanderwoudeGoogle Scholar
- Kasim Sinan Yildirim, Amjad Yousef Majid, Dimitris Patoukas, Koen Schaper, Przemyslaw Pawelczak, and Josiah Hester. 2018. InK: Reactive Kernel for Tiny Batteryless Sensors. In Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems (SenSys '18). ACM, New York, NY, USA. https://doi.org/10.1145/3274783.3274837 Google Scholar
Digital Library
- Zac Manchester. 2015. KickSat. http://zacinaction.github.io/kicksat/. ( 2015 ).Google Scholar
- Hong Zhang, Mastooreh Salajegheh, Kevin Fu, and Jacob Sorber. 2011. Ekho: Bridging the Gap Between Simulation and Reality in Tiny Energy-harvesting Sensors. In Proceedings of the 4th Workshop on Power-Aware Computing and Systems (HotPower '11). Article 9. https://doi.org/10.1145/2039252.2039261 Google Scholar
Digital Library
Index Terms
Towards a formal foundation of intermittent computing
Recommendations
Enabling intermittent computing on high-performance out-of-order processors
ENSsys '18: Proceedings of the 6th International Workshop on Energy Harvesting & Energy-Neutral Sensing SystemsIntermittent computing is a new paradigm enabling battery-less computing devices to be powered directly from energy harvesting, enabling IoT devices that are free from the cost, size and lifetime constraints of batteries. To cope with frequent power ...
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 ...
Efficient and Safe I/O Operations for Intermittent Systems
EuroSys '23: Proceedings of the Eighteenth European Conference on Computer SystemsTask-based intermittent software systems always re-execute peripheral input/output (I/O) operations upon power failures since tasks have all-or-nothing semantics. Re-executed I/O wastes significant time and energy and risks memory inconsistency. This ...






Comments