A survey on program-state retention for transiently-powered systems

Abstract Low-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. However, due to high variance of ambient energy, these batteryless embedded devices are unable to harvest enough energy from the environment required for continuous device operation thus hampering application progress and causing frequent loss of volatile program-state. Therefore, these batteryless devices have to employ state retention mechanisms to save the volatile program-state to non-volatile storage before interruption. These batteryless embedded sensing devices are known as transiently-powered systems (TPS). In this article, we survey existing literature to identify strategies and techniques used by each existing literature to decide what amount of volatile program-state needs to be saved and when to save it. We list the challenges in retaining program-state across periods of energy unavailability and how existing state-of-the-art solutions tackle them. We also describe different memory models and discuss factors governing the choice of each model for TPS deployment.

[1]  Nikos Nikoleris,et al.  Efficient State Retention through Paged Memory Management for Reactive Transient Computing , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[2]  Qixiang Cheng,et al.  Silicon Photonics for Extreme Scale Systems , 2019, Journal of Lightwave Technology.

[3]  Kristofer S. J. Pister,et al.  An ultralow-energy ADC for Smart Dust , 2003, IEEE J. Solid State Circuits.

[4]  Michael Treaster,et al.  A Survey of Fault-Tolerance and Fault-Recovery Techniques in Parallel Systems , 2004, ArXiv.

[5]  Sophiane Senni,et al.  Embedded Memory Hierarchy Exploration Based on Magnetic Random Access Memory , 2014 .

[6]  Biswajit Mishra,et al.  IoT enabled environmental monitoring system for smart cities , 2016, 2016 International Conference on Internet of Things and Applications (IOTA).

[7]  Benjamin Ransford,et al.  A simpler, safer programming and execution model for intermittent systems , 2015, ACM-SIGPLAN Symposium on Programming Language Design and Implementation.

[8]  Hassan Khan,et al.  Incremental Checkpointing for Interruptible Computations: Poster Abstract , 2016, SenSys.

[9]  Michele Magno,et al.  Dynamic energy burst scaling for transiently powered systems , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[10]  Brandon Lucia,et al.  Adaptive Dynamic Checkpointing for Safe Efficient Intermittent Computing , 2018, OSDI.

[11]  Terence Parr,et al.  The Definitive ANTLR 4 Reference , 2013 .

[12]  Geoff V. Merrett,et al.  Selective policies for efficient state retention in transiently-powered embedded systems: Exploiting properties of NVM technologies , 2019, Sustain. Comput. Informatics Syst..

[13]  Luca Benini,et al.  Hibernus: Sustaining Computation During Intermittent Supply for Energy-Harvesting Systems , 2015, IEEE Embedded Systems Letters.

[14]  Luca Benini,et al.  Hibernus++: A Self-Calibrating and Adaptive System for Transiently-Powered Embedded Devices , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  LuciaBrandon,et al.  A simpler, safer programming and execution model for intermittent systems , 2015 .

[16]  Anantha Chandrakasan,et al.  Vibration-to-electric energy conversion , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[17]  L. Mottola,et al.  Intermittent asynchronous peripheral operations , 2019, SenSys.

[18]  Kevin Marquet,et al.  Sytare: A Lightweight Kernel for NVRAM-Based Transiently-Powered Systems , 2019, IEEE Transactions on Computers.

[19]  Brandon Lucia,et al.  Intermittent Computing: Challenges and Opportunities , 2017, SNAPL.

[20]  E.M. Philofsky FRAM-the ultimate memory , 1996, Proceedings of Nonvolatile Memory Technology Conference.

[21]  Alex S. Weddell,et al.  RESTOP: Retaining External Peripheral State in Intermittently-Powered Sensor Systems , 2018, Sensors.

[22]  V. Rajaraman,et al.  A survey of checkpointing algorithms for parallel and distributed computers , 2000 .

[23]  Luca Mottola,et al.  Efficient State Retention for Transiently-powered Embedded Sensing , 2016, EWSN.

[24]  Junaid Haroon Siddiqui,et al.  Efficient intermittent computing with differential checkpointing , 2019, LCTES.

[25]  Brandon Lucia,et al.  Nonvolatile memory is a broken time machine , 2014, MSPC@PLDI.

[26]  Kevin Marquet,et al.  Incremental checkpointing of program state to NVRAM for transiently-powered systems , 2014, 2014 9th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC).

[27]  Gaurav Sharma,et al.  Hybrid Solar-Wind Energy Harvesting for Embedded Applications: Supercapacitor-Based System Architectures and Design Tradeoffs , 2017, IEEE Circuits and Systems Magazine.

[28]  Brandon Lucia,et al.  Termination checking and task decomposition for task-based intermittent programs , 2018, CC.

[29]  Matthew Hicks,et al.  Intermittent Computation without Hardware Support or Programmer Intervention , 2016, OSDI.

[30]  Binlei Cai,et al.  SLO-aware colocation: Harvesting transient resources from latency-critical services , 2019, J. Syst. Archit..

[31]  Geoff V. Merrett,et al.  Exploring ARM mbed support for transient computing in energy harvesting IoT systems , 2017, 2017 7th IEEE International Workshop on Advances in Sensors and Interfaces (IWASI).

[32]  G. Torrisi,et al.  Pacemaker, implantable cardioverter defibrillator, CRT, CRT-D, psychological difficulties and quality of life. , 2014, International journal of cardiology.

[33]  Lawrence J. DeLucas,et al.  International space station , 1996 .

[34]  Zhi Ang Eu,et al.  Wireless sensor networks powered by ambient energy harvesting (WSN-HEAP) - Survey and challenges , 2009, 2009 1st International Conference on Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology.

[35]  Faisal Karim Shaikh,et al.  Energy harvesting in wireless sensor networks: A comprehensive review , 2016 .

[36]  Mani B. Srivastava,et al.  Heliomote: enabling long-lived sensor networks through solar energy harvesting , 2005, SenSys '05.

[37]  Brandon Lucia,et al.  Chain: tasks and channels for reliable intermittent programs , 2016, OOPSLA.

[38]  Arnab Raha,et al.  QUICKRECALL: A Low Overhead HW/SW Approach for Enabling Computations across Power Cycles in Transiently Powered Computers , 2014, 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems.

[39]  Jacob Sorber,et al.  Tragedy of the Coulombs: Federating Energy Storage for Tiny, Intermittently-Powered Sensors , 2015, SenSys.

[40]  Abu Bakar,et al.  The betrayal of constant power × time: finding the missing Joules of transiently-powered computers , 2019, LCTES.

[41]  Yi-Ping You,et al.  CLPKM: A checkpoint-based preemptive multitasking framework for OpenCL kernels , 2019, J. Syst. Archit..

[42]  Luca Mottola,et al.  HarvOS: Efficient Code Instrumentation for Transiently-Powered Embedded Sensing , 2017, 2017 16th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN).

[43]  Denis C. Daly,et al.  A Pulsed UWB Receiver SoC for Insect Motion Control , 2010, IEEE Journal of Solid-State Circuits.

[44]  Matthew Hicks,et al.  Clank: Architectural support for intermittent computation , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[45]  Kinam Kim,et al.  Memory technology in the future , 2007 .

[46]  S. Priya,et al.  Piezoelectric Windmill: A Novel Solution to Remote Sensing , 2004 .

[47]  Junaid Haroon Siddiqui,et al.  Poster Abstract: Towards Smaller Checkpoints for Better Intermittent Computing , 2018, 2018 17th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN).

[48]  Jacob Sorber,et al.  Timely Execution on Intermittently Powered Batteryless Sensors , 2017, SenSys.

[49]  Abdoulaye Gamatié,et al.  Non-Volatile Processor Based on MRAM for Ultra-Low-Power IoT Devices , 2016, ACM J. Emerg. Technol. Comput. Syst..

[50]  Junaid Haroon Siddiqui,et al.  Intermittent Computing with Dynamic Voltage and Frequency Scaling , 2020, EWSN.

[51]  Kevin Fu,et al.  Mementos: system support for long-running computation on RFID-scale devices , 2011, ASPLOS XVI.

[52]  Luca Benini,et al.  Energy-efficient design of battery-powered embedded systems , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[53]  Shyamnath Gollakota,et al.  Living IoT: A Flying Wireless Platform on Live Insects , 2018, MobiCom.

[54]  Sarma B. K. Vrudhula,et al.  Energy management for battery-powered embedded systems , 2003, TECS.

[55]  Arnab Raha,et al.  Energy-Aware Memory Mapping for Hybrid FRAM-SRAM MCUs in Intermittently-Powered IoT Devices , 2017, ACM Trans. Embed. Comput. Syst..

[56]  Amir Rahmati,et al.  Persistent Clocks for Batteryless Sensing Devices , 2016, ACM Trans. Embed. Comput. Syst..

[57]  Brandon Lucia,et al.  Alpaca: intermittent execution without checkpoints , 2017, Proc. ACM Program. Lang..

[58]  Thiemo Voigt,et al.  Backscatter Communication for Wireless Robotic Materials , 2019, EWSN.

[59]  Geoff V. Merrett,et al.  Intermittently-powered energy harvesting step counter for fitness tracking , 2017, 2017 IEEE Sensors Applications Symposium (SAS).

[60]  Nikolaus Correll,et al.  New Directions: Wireless Robotic Materials , 2017, ArXiv.

[61]  Geoff V. Merrett,et al.  Real-time room occupancy estimation with Bayesian machine learning using a single PIR sensor and microcontroller , 2017, 2017 IEEE Sensors Applications Symposium (SAS).

[62]  Denis C. Daly,et al.  A pulsed UWB receiver SoC for insect motion control , 2009, 2009 IEEE International Solid-State Circuits Conference - Digest of Technical Papers.