Intermittent Computing Emulation of Ultralow-Power Processors: Evaluation of Backup Strategies for RISC-V

With the progress in energy harvesting circuits and the decrease in power requirements of processing, sensing, and communication hardware, we have the potential of freeing the Internet of Things devices from their batteries. However, removing batteries introduces frequent power failures due to the irregular power availability from the environment. This situation leads devices to compute intermittently under transient environmental power. Intermittent computing requires significant microarchitectural modifications on existing processor designs to ensure automatic computation progress despite the power failures. For example, built-in nonvolatile memory components should be integrated in processor architectures. Consequently, different microarchitectural automatic backup strategies need to be implemented. In this work, we introduce different processor state backup strategies based on an interrupt-based software approach, which do not need modifications to the microarchitecture of existing processors. Therefore, we present a systematic approach to emulate different processor architectures with varying backup strategies under transient power. To justify our claims, we make Ibex RISC-V core, a popular ultralow-power processor architecture, suitable for intermittent computing. This is the first attempt to make a variety of existing and future ultralow-power processor architectures easily exploitable for transiently powered computing systems.

[1]  D. Brunelli,et al.  Emulation of Non-volatile Digital Logic for Batteryless Intermittent Computing , 2022, 2022 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  D. Brunelli,et al.  NORM: An FPGA-based Non-volatile Memory Emulation Framework for Intermittent Computing , 2022, ACM Journal on Emerging Technologies in Computing Systems.

[3]  Alex S. Weddell,et al.  Exploring the Effect of Energy Storage Sizing on Intermittent Computing System Performance , 2021, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Kaisheng Ma,et al.  Design Insights of Non-volatile Processors and Accelerators in Energy Harvesting Systems , 2020, ACM Great Lakes Symposium on VLSI.

[5]  Abu Bakar,et al.  Time-sensitive Intermittent Computing Meets Legacy Software , 2020, ASPLOS.

[6]  Brandon Lucia,et al.  Camaroptera: a Batteryless Long-Range Remote Visual Sensing System , 2019, ENSsys@SenSys.

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

[8]  Roberto Passerone,et al.  A battery-free non-intrusive power meter for low-cost energy monitoring , 2018, 2018 IEEE Industrial Cyber-Physical Systems (ICPS).

[9]  Luca Benini,et al.  Slow and steady wins the race? A comparison of ultra-low-power RISC-V cores for Internet-of-Things applications , 2017, 2017 27th International Symposium on Power and Timing Modeling, Optimization and Simulation (PATMOS).

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

[11]  Meng-Fan Chang,et al.  Advancing Nonvolatile Computing With Nonvolatile NCFET Latches and Flip-Flops , 2017, IEEE Transactions on Circuits and Systems I: Regular Papers.

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

[13]  Narayanan Vijaykrishnan,et al.  Nonvolatile processors: Why is it trending? , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[14]  Meng-Fan Chang,et al.  Data Backup Optimization for Nonvolatile SRAM in Energy Harvesting Sensor Nodes , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

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

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

[18]  Jingtong Hu,et al.  Checkpoint aware hybrid cache architecture for NV processor in energy harvesting powered systems , 2016, 2016 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[19]  Roberto Passerone,et al.  A Comparative Study of Recent Wireless Sensor Network Simulators , 2016, ACM Trans. Sens. Networks.

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

[21]  Luca Benini,et al.  Graceful Performance Modulation for Power-Neutral Transient Computing Systems , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[22]  Ann Gordon-Ross,et al.  Microprocessor Optimizations for the Internet of Things: A Survey , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

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

[25]  Huazhong Yang,et al.  PaCC: A Parallel Compare and Compress Codec for Area Reduction in Nonvolatile Processors , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

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

[27]  Roberto Passerone,et al.  PASES: An energy-aware design space exploration framework for wireless sensor networks , 2013, J. Syst. Archit..

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

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

[30]  Jingtong Hu,et al.  Checkpointing-Aware Loop Tiling for Energy Harvesting Powered Nonvolatile Processors , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.