FlexiCheck: An Adaptive Checkpointing Architecture for Energy Harvesting Devices

With the advent of 5G and M2M architectures, energy harvesting devices are expected to become far more prevalent. Such devices harvest energy from ambient sources such as solar energy or vibration energy (from machines) and use it for sensing the environmental parameters and further processing them. Given that the rate of energy consumption is more than the rate of energy production, it is necessary to frequently halt the processor and accumulate energy from the environment. During this period it is mandatory to take a checkpoint to avoid the loss of data. State of the art algorithms use software based methods that extensively rely on compiler analyses.In this paper, we provide the first formal model for such systems, and show that we can arrive at an optimal check-pointing schedule using a quadratically constrained linear program (QCLP) solver. Using this as a baseline, we show that existing algorithms for checkpointing significantly underperform. Furthermore, we prove and demonstrate that when we have a relatively constant energy source, a greedy algorithm provides an optimal solution. To model more complex situations where the energy varies, we create a novel checkpointing algorithm that adapts itself according to the ambient energy. We obtain a speedup of 2 − 5× over the nearest competing approach, and we are within 3 − 8% of the optimal solution in the general case where the ambient energy exhibits variations.

[1]  Jose Renau,et al.  CAVA: Using checkpoint-assisted value prediction to hide L2 misses , 2006, TACO.

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

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

[4]  J.F. Martinez,et al.  Cherry: Checkpointed early resource recycling in out-of-order microprocessors , 2002, 35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings..

[5]  Jung Ho Ahn,et al.  McPAT: An integrated power, area, and timing modeling framework for multicore and manycore architectures , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

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

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

[8]  Sutrisno Ibrahim,et al.  Power Analysis for Piezoelectric Energy Harvester , 2012 .

[9]  Ramesh Karri,et al.  Optimal checkpointing for secure intermittently-powered IoT devices , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[10]  Lei Zuo,et al.  Large-scale vibration energy harvesting , 2013 .

[11]  Arnab Raha,et al.  Energy-Aware Memory Mapping for Hybrid FRAM-SRAM MCUs in IoT Edge Devices , 2016, 2016 29th International Conference on VLSI Design and 2016 15th International Conference on Embedded Systems (VLSID).

[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]  Brandon Lucia,et al.  Chain: tasks and channels for reliable intermittent programs , 2016, OOPSLA.

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

[15]  S. Roundy Energy Scavenging for Wireless Sensor Nodes with a Focus on Vibration-to-Electricity Conversion , 2003 .

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

[17]  Prathmesh Kallurkar,et al.  Tejas: A java based versatile micro-architectural simulator , 2015, 2015 25th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS).

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

[19]  Shadrach Roundy,et al.  On the Effectiveness of Vibration-based Energy Harvesting , 2005 .

[20]  Norman P. Jouppi,et al.  CACTI 6.0: A Tool to Model Large Caches , 2009 .

[21]  Smruti R. Sarangi,et al.  A survey of checker architectures , 2013, CSUR.