Time-sensitive Intermittent Computing Meets Legacy Software

Tiny energy harvesting sensors that operate intermittently, without batteries, have become an increasingly appealing way to gather data in hard to reach places at low cost. Frequent power failures make forward progress, data preservation and consistency, and timely operation challenging. Unfortunately, state-of-the-art systems ask the programmer to solve these challenges, and have high memory overhead, lack critical programming features like pointers and recursion, and are only dimly aware of the passing of time and its effect on application quality. We present Time-sensitive Intermittent Computing System (TICS), a new platform for intermittent computing, which provides simple programming abstractions for handling the passing of time through intermittent failures, and uses this to make decisions about when data can be used or thrown away. Moreover, TICS provides predictable checkpoint sizes by keeping checkpoint and restore times small and reduces the cognitive burden of rewriting embedded code for intermittency without limiting expressibility or language functionality, enabling numerous existing embedded applications to run intermittently.

[1]  Alanson P. Sample,et al.  Design of an RFID-Based Battery-Free Programmable Sensing Platform , 2008, IEEE Transactions on Instrumentation and Measurement.

[2]  Narayanan Vijaykrishnan,et al.  Architecture exploration for ambient energy harvesting nonvolatile processors , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[3]  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).

[4]  Joshua R. Smith,et al.  Wisent: Robust downstream communication and storage for computational RFIDs , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[5]  Jacob Sorber,et al.  Flicker: Rapid Prototyping for the Batteryless Internet-of-Things , 2017, SenSys.

[6]  An Chen,et al.  A review of emerging non-volatile memory (NVM) technologies and applications , 2016 .

[7]  Narayanan Vijaykrishnan,et al.  Nonvolatile Processor Architectures: Efficient, Reliable Progress with Unstable Power , 2016, IEEE Micro.

[8]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[9]  Mani B. Srivastava,et al.  Sentio: Driver-in-the-Loop Forward Collision Warning Using Multisample Reinforcement Learning , 2018, SenSys.

[10]  Benjamin Ransford,et al.  Moo : A Batteryless Computational RFID and Sensing Platform , 2011 .

[11]  Mark D. Corner,et al.  Eon: a language and runtime system for perpetual systems , 2007, SenSys '07.

[12]  F. Larsson,et al.  Abuse by External Heating, Overcharge and Short Circuiting of Commercial Lithium-Ion Battery Cells , 2014 .

[13]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[14]  Brian Gallagher,et al.  MaxProp: Routing for Vehicle-Based Disruption-Tolerant Networks , 2006, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

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

[16]  Amir Rahmati,et al.  TARDIS: Time and Remanence Decay in SRAM to Implement Secure Protocols on Embedded Devices without Clocks , 2012, USENIX Security Symposium.

[17]  Mohsen Guizani,et al.  Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications , 2015, IEEE Communications Surveys & Tutorials.

[18]  Przemyslaw Pawelczak,et al.  InK: Reactive Kernel for Tiny Batteryless Sensors , 2018, SenSys.

[19]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[20]  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.

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

[22]  Mahadev Satyanarayanan,et al.  The Computing Landscape of the 21st Century , 2019, HotMobile.

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

[24]  Jacob Sorber,et al.  The Future of Sensing is Batteryless, Intermittent, and Awesome , 2017, SenSys.

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

[26]  Arnab Raha,et al.  QuickRecall , 2015, ACM J. Emerg. Technol. Comput. Syst..

[27]  M. R. Palacín,et al.  Why do batteries fail? , 2016, Science.

[28]  Junaid Haroon Siddiqui,et al.  Towards smaller checkpoints for better intermittent computing: poster abstract , 2018, IPSN.

[29]  Zhigang Liu,et al.  The Jigsaw continuous sensing engine for mobile phone applications , 2010, SenSys '10.

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

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

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

[33]  Margaret Martonosi,et al.  Hardware design experiences in ZebraNet , 2004, SenSys '04.

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

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

[36]  Chris J. M. Verhoeven,et al.  SWANS: Sensor Wireless Actuator Network in Space , 2017, SenSys.

[37]  Ryan Newton,et al.  The pothole patrol: using a mobile sensor network for road surface monitoring , 2008, MobiSys '08.

[38]  Farnoush Banaei Kashani,et al.  A Lightweight and Inexpensive In-ear Sensing System For Automatic Whole-night Sleep Stage Monitoring , 2016, SenSys.

[39]  Ryan J. Halter,et al.  Amulet: An Energy-Efficient, Multi-Application Wearable Platform , 2016, SenSys.

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

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

[42]  Brandon Lucia,et al.  A Reconfigurable Energy Storage Architecture for Energy-harvesting Devices , 2018, ASPLOS.

[43]  Brandon Lucia,et al.  A simpler, safer programming and execution model for intermittent systems , 2015, PLDI.