Achieving Stagnation-Free Intermittent Computation with Boundary-Free Adaptive Execution

This paper presents ELASTIN, a stagnation-free intermittent computing system for energy-harvesting devices that ensures forward progress in the presence of frequent power outages without partitioning program into recoverable regions or tasks. ELASTIN leverages both timer-based checkpointing of volatile registers and copy-on-write mappings of nonvolatile memory pages to restore them in the wake of power failure. During each checkpoint interval, ELASTIN tracks memory writes on a per-page basis and backs up the original page using custom software-controlled memory protection without MMU or TLB. When a new interval starts at each timer expiration, ELASTIN clears the write permission of all the pages written during the previous interval and checkpoints all registers including a program counter as a recovery point. In particular, ELASTIN dynamically reconfigures both the checkpoint interval and the page size to achieve stagnation-free intermittent computation and maximize forward progress across power outages. The experiments on TI's MSP430 board with energy harvesting traces show that ELASTIN outperforms the state-of-the-art scheme by 3.5X on average (up to orders of magnitude speedup) and guarantees forward progress.

[1]  Bo Zhao,et al.  A 3us wake-up time nonvolatile processor based on ferroelectric flip-flops , 2012, 2012 Proceedings of the ESSCIRC (ESSCIRC).

[2]  Yongpan Liu,et al.  Reliability and Security in Non-volatile Processors, Two Sides of the Same Coin , 2018, 2018 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[3]  Wei-Kuan Shih,et al.  wrJFS: A Write-Reduction Journaling File System for Byte-addressable NVRAM , 2018, IEEE Transactions on Computers.

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

[5]  Tei-Wei Kuo,et al.  Write-aware memory management for hybrid SLC-MLC PCM memory systems , 2017, SIAP.

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

[7]  Jingtong Hu,et al.  Fixing the broken time machine: Consistency-aware checkpointing for energy harvesting powered non-volatile processor , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[8]  X.Y. Wang,et al.  Determination of Battery Storage Capacity in Energy Buffer for Wind Farm , 2008, IEEE Transactions on Energy Conversion.

[9]  Zili Shao,et al.  Write-activity-aware page table management for PCM-based embedded systems , 2012, 17th Asia and South Pacific Design Automation Conference.

[10]  Devesh Tiwari,et al.  Low-cost soft error resilience with unified data verification and fine-grained recovery for acoustic sensor based detection , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[11]  Przemyslaw Pawelczak,et al.  On the Synchronization of Intermittently Powered Wireless Embedded Systems , 2016, ArXiv.

[12]  R. E. van der Puil Wearable Technology and the Internet of Things. Exploring threats to users’ autonomy. , 2018 .

[13]  Chundong Wang,et al.  LAWN: boosting the performance of NVMM file system through reducing write amplification , 2018, DAC.

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

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

[16]  Roberto Passerone,et al.  Wireless sensor networks for environmental monitoring powered by microprocessors heat dissipation , 2013, ENSSys '13.

[17]  Gedare Bloom,et al.  Towards a provenance collection framework for Internet of Things devices , 2017, 2017 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computed, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI).

[18]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[19]  Yiran Chen,et al.  Checkpoint-aware instruction scheduling for nonvolatile processor with multiple functional units , 2015, The 20th Asia and South Pacific Design Automation Conference.

[20]  Jingtong Hu,et al.  Improving performance and lifetime of DRAM-PCM hybrid main memory through a proactive page allocation strategy , 2015, The 20th Asia and South Pacific Design Automation Conference.

[21]  Naehyuck Chang,et al.  Powering the IoT: Storage-less and converter-less energy harvesting , 2015, The 20th Asia and South Pacific Design Automation Conference.

[22]  Joshua R. Smith,et al.  PASSIVE WI-FI: Bringing Low Power to Wi-Fi Transmissions , 2016, GETMBL.

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

[24]  Chen Liu,et al.  Improving multilevel PCM reliability through age-aware reading and writing strategies , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

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

[26]  Chi Harold Liu,et al.  The Emerging Internet of Things Marketplace From an Industrial Perspective: A Survey , 2015, IEEE Transactions on Emerging Topics in Computing.

[27]  Rong Luo,et al.  Storage-less and converter-less maximum power point tracking of photovoltaic cells for a nonvolatile microprocessor , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[28]  J Olley,et al.  Relationship between temperature and growth rate of bacterial cultures , 1982, Journal of bacteriology.

[29]  S. Arrhenius,et al.  ON THE REACTION VELOCITY OF THE INVERSION OF CANE SUGAR BY ACIDS , 1967 .

[30]  Khurram K. Afridi,et al.  Stacked switched capacitor energy buffer architecture , 2012 .

[31]  Mahmut T. Kandemir,et al.  Incidental Computing on IoT Nonvolatile Processors , 2017, 2017 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[32]  Somesh Jha,et al.  Static analysis and compiler design for idempotent processing , 2012, PLDI.

[33]  Keni Qiu,et al.  'The danger of sleeping', an exploration of security in non-volatile processors , 2017, 2017 Asian Hardware Oriented Security and Trust Symposium (AsianHOST).

[34]  Yuan Xue,et al.  Prolonging PCM lifetime through energy-efficient, segment-aware, and wear-resistant page allocation , 2014, 2014 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).

[35]  Jaejin Lee,et al.  Adaptive execution techniques for SMT multiprocessor architectures , 2005, PPOPP.

[36]  Song Han,et al.  Industrial Internet of Things: Challenges, Opportunities, and Directions , 2018, IEEE Transactions on Industrial Informatics.

[37]  Yongpan Liu,et al.  A Collaborative Defense Against Wear Out Attacks in Non-Volatile Processors , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).

[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]  Changhee Jung,et al.  Lightweight hardware support for transparent consistency-aware checkpointing in intermittent energy-harvesting systems , 2016, 2016 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA).

[40]  Amin Ansari,et al.  Encore: Low-cost, fine-grained transient fault recovery , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[41]  Xiaolong Wu,et al.  BenchPrime , 2017, ACM Trans. Embed. Comput. Syst..

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

[43]  Devesh Tiwari,et al.  Clover: Compiler Directed Lightweight Soft Error Resilience , 2015, LCTES.

[44]  Devesh Tiwari,et al.  Compiler-Directed Lightweight Checkpointing for Fine-Grained Guaranteed Soft Error Recovery , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[45]  Alexander Teverovsky,et al.  Insulation Resistance and Leakage Currents in Low-Voltage Ceramic Capacitors With Cracks , 2014, IEEE Transactions on Components, Packaging and Manufacturing Technology.

[46]  Jacob Sorber,et al.  Towards a Language and Runtime for Intermi ently-Powered Devices , 2017 .

[47]  Brandon Lucia,et al.  An Energy-Aware Debugger for Intermittently Powered Systems , 2017, IEEE Micro.

[48]  Przemyslaw Pawelczak,et al.  A Testbed for Transiently Powered Computers , 2016, ArXiv.

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

[50]  Stephen W. Freiman,et al.  Review of Mechanically Related Failures of Ceramic Capacitors and Capacitor Materials , 1989 .

[51]  Brandon Lucia,et al.  An Energy-interference-free Hardware-Software Debugger for Intermittent Energy-harvesting Systems , 2016 .

[52]  Michael L. Scott,et al.  iDO: Compiler-Directed Failure Atomicity for Nonvolatile Memory , 2018, 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[53]  Liang Shi,et al.  Leveling to the last mile: Near-zero-cost bit level wear leveling for PCM-based main memory , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[54]  Devesh Tiwari,et al.  Compiler-Directed Soft Error Detection and Recovery to Avoid DUE and SDC via Tail-DMR , 2016, ACM Trans. Embed. Comput. Syst..

[55]  Yanxiang He,et al.  Compiler directed automatic stack trimming for efficient non-volatile processors , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[57]  Alex S. Weddell,et al.  Approaches to Transient Computing for Energy Harvesting Systems: A Quantitative Evaluation , 2015, ENSsys@SenSys.

[58]  Neil M. White,et al.  Energy Harvesting for Autonomous Systems , 2010 .

[59]  Yiran Chen,et al.  3M-PCM: Exploiting multiple write modes MLC phase change main memory in embedded systems , 2014, 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

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

[61]  A. Sinha,et al.  JouleTrack-a Web based tool for software energy profiling , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[62]  Yuan Xue,et al.  Minimizing MLC PCM write energy for free through profiling-based state remapping , 2015, The 20th Asia and South Pacific Design Automation Conference.

[63]  Vijay Raghunathan,et al.  When they are not listening: Harvesting power from idle sensors in embedded systems , 2014, International Green Computing Conference.

[64]  Meng-Fan Chang,et al.  Ambient energy harvesting nonvolatile processors: From circuit to system , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[65]  Chen Ding,et al.  Locality phase prediction , 2004, ASPLOS XI.

[66]  Jaejin Lee,et al.  Adaptive execution techniques of parallel programs for multiprocessors , 2010, J. Parallel Distributed Comput..

[67]  Shahriar Nirjon Lifelong Learning on Harvested Energy , 2018, MobiSys.

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

[69]  Prabal Dutta,et al.  Energy-harvesting thermoelectric sensing for unobtrusive water and appliance metering , 2014, ENSsys@SenSys.

[70]  Arnab Raha,et al.  Powering the Internet of Things , 2014, 2014 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).