Incidental Computing on IoT Nonvolatile Processors

Batteryless IoT devices powered through energy harvesting face a fundamental imbalance between the potential volume of collected data and the amount of energy available for processing that data locally. However, many such devices perform similar operations across each new input record, which provides opportunities for mining the potential information in buffered historical data, at potentially lower effort, while processing new data rather than abandoning old inputs due to limited computational energy. We call this approach incidental computing, and highlight synergies between this approach and approximation techniques when deployed on a non-volatile processor platform (NVP). In addition to incidental computations, the backup and restore operations in an incidental NVP provide approximation opportunities and optimizations that are unique to NVPs.We propose a variety of incidental approximation approaches suited to NVPs, with a focus on approximate backup and restore, and approximate recomputation in the face of power interruptions. We perform RTL level evaluation for many frequently used workloads. We show that these incidental techniques provide an average of 4.2X more forward progress than precise NVP execution.CCS CONCEPTS• Computer systems organization → Single instruction, multiple data; Special purpose systems; System on a chip; Embedded hardware;

[1]  Kaushik Roy,et al.  IMPACT: IMPrecise adders for low-power approximate computing , 2011, IEEE/ACM International Symposium on Low Power Electronics and Design.

[2]  Luis Ceze,et al.  Architecture support for disciplined approximate programming , 2012, ASPLOS XVII.

[3]  Keshav Pingali,et al.  Proactive Control of Approximate Programs , 2016, ASPLOS.

[4]  Yuan Xie,et al.  Emerging Memory Technologies: Design, Architecture, and Applications , 2013 .

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

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

[7]  Farinaz Koushanfar,et al.  Chime: Checkpointing Long Computations on Interm ittently Energized IoT Devices , 2016, IEEE Transactions on Multi-Scale Computing Systems.

[8]  Mircea R. Stan,et al.  Relaxing non-volatility for fast and energy-efficient STT-RAM caches , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[9]  Scott A. Mahlke,et al.  Paraprox: pattern-based approximation for data parallel applications , 2014, ASPLOS.

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

[11]  Marcus Herzog,et al.  An 82μA/MHz microcontroller with embedded FeRAM for energy-harvesting applications , 2011, 2011 IEEE International Solid-State Circuits Conference.

[12]  Martin C. Rinard,et al.  Verifying quantitative reliability for programs that execute on unreliable hardware , 2013, OOPSLA.

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

[14]  Scott A. Mahlke,et al.  SAGE: Self-tuning approximation for graphics engines , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[15]  Song Liu,et al.  Flikker: saving DRAM refresh-power through critical data partitioning , 2011, ASPLOS XVI.

[16]  A. Sheikholeslami,et al.  A survey of circuit innovations in ferroelectric random-access memories , 2000, Proceedings of the IEEE.

[17]  J. Sampson,et al.  Evaluating tradeoffs in granularity and overheads in supporting nonvolatile execution semantics , 2017, 2017 18th International Symposium on Quality Electronic Design (ISQED).

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

[19]  Joshua R. Smith,et al.  Battery-Free Connected Machine Vision with WISPCam , 2016, GETMBL.

[20]  Narayanan Vijaykrishnan,et al.  Rf-powered systems using steep-slope devices , 2014, 2014 IEEE 12th International New Circuits and Systems Conference (NEWCAS).

[21]  Luca Benini,et al.  A survey of multi-source energy harvesting systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[22]  Yiran Chen,et al.  Exploiting Multiple Write Modes of Nonvolatile Main Memory in Embedded Systems , 2017, ACM Trans. Embed. Comput. Syst..

[23]  Shad Roundy,et al.  Analysis of Upper Bound Power Output for a Wrist-Worn Rotational Energy Harvester from Real-World Measured Inputs , 2014 .

[24]  Nam Sung Kim,et al.  Approximating warps with intra-warp operand value similarity , 2016, 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[25]  Luis Ceze,et al.  General-purpose code acceleration with limited-precision analog computation , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[26]  T Xue Analysis of Magnetic Plucking Configurations for Frequency Up-Converting Harvesters , 2015 .

[27]  Sanjib Kumar Panda,et al.  Energy Harvesting From Hybrid Indoor Ambient Light and Thermal Energy Sources for Enhanced Performance of Wireless Sensor Nodes , 2011, IEEE Transactions on Industrial Electronics.

[28]  Robert Perricone,et al.  Advanced spintronic memory and logic for non-volatile processors , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[29]  Scott A. Mahlke,et al.  Rumba: An online quality management system for approximate computing , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[30]  Geoff V. Merrett,et al.  Energy-driven computing: Rethinking the design of energy harvesting systems , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[31]  Dan Grossman,et al.  EnerJ: approximate data types for safe and general low-power computation , 2011, PLDI '11.

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

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

[34]  Narayanan Vijaykrishnan,et al.  Dynamic Power and Energy Management for Energy Harvesting Nonvolatile Processor Systems , 2017, ACM Trans. Embed. Comput. Syst..

[35]  Rakesh Kumar,et al.  On reconfiguration-oriented approximate adder design and its application , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[36]  Lirida Alves de Barros Naviner,et al.  Failure Analysis in Magnetic Tunnel Junction Nanopillar with Interfacial Perpendicular Magnetic Anisotropy , 2016, Materials.

[37]  Narayanan Vijaykrishnan,et al.  Nonvolatile Processor Architecture Exploration for Energy-Harvesting Applications , 2015, IEEE Micro.

[38]  Natalie D. Enright Jerger,et al.  The Anytime Automaton , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[39]  Joshua R. Smith,et al.  Powering the next billion devices with wi-fi , 2015, CoNEXT.

[40]  Cong Xu,et al.  When to forget: A system-level perspective on STT-RAMs , 2012, 17th Asia and South Pacific Design Automation Conference.

[41]  Geoff V. Merrett Invited: Energy harvesting and transient computing: A paradigm shift for embedded systems? , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[42]  Mahmut T. Kandemir,et al.  Improving bank-level parallelism for irregular applications , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[43]  Jacob Nelson,et al.  Approximate storage in solid-state memories , 2013, 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[44]  Meng-Fan Chang,et al.  Enabling Energy-Efficient Nonvolatile Computing With Negative Capacitance FET , 2017, IEEE Transactions on Electron Devices.

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

[46]  Partha Pratim Pande,et al.  Making the Internet-of-Things a reality: From smart models, sensing and actuation to energy-efficient architectures , 2016, 2016 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[47]  Joshua R. Smith,et al.  RF-powered, backscatter-based cameras , 2017, 2017 11th European Conference on Antennas and Propagation (EUCAP).

[48]  Yu Wang,et al.  4.7 A 65nm ReRAM-enabled nonvolatile processor with 6× reduction in restore time and 4× higher clock frequency using adaptive data retention and self-write-termination nonvolatile logic , 2016, 2016 IEEE International Solid-State Circuits Conference (ISSCC).

[49]  Kaushik Roy,et al.  Significance driven computation: a voltage-scalable, variation-aware, quality-tuning motion estimator , 2009, ISLPED.

[50]  Chita R. Das,et al.  Cache revive: Architecting volatile STT-RAM caches for enhanced performance in CMPs , 2012, DAC Design Automation Conference 2012.

[51]  Farinaz Koushanfar,et al.  Idetic: A high-level synthesis approach for enabling long computations on transiently-powered ASICs , 2013, 2013 IEEE International Conference on Pervasive Computing and Communications (PerCom).

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

[53]  Hugh P. McAdams,et al.  An FRAM-Based Nonvolatile Logic MCU SoC Exhibiting 100% Digital State Retention at ${\rm VDD}=$ 0 V Achieving Zero Leakage With ${<}$ 400-ns Wakeup Time for ULP Applications , 2014, IEEE Journal of Solid-State Circuits.

[54]  Hadi Esmaeilzadeh,et al.  Towards Statistical Guarantees in Controlling Quality Tradeoffs for Approximate Acceleration , 2016, 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA).

[55]  C. Van Hoof,et al.  Thermoelectric Converters of Human Warmth for Self-Powered Wireless Sensor Nodes , 2007, IEEE Sensors Journal.

[56]  Narayanan Vijaykrishnan,et al.  Spendthrift: Machine learning based resource and frequency scaling for ambient energy harvesting nonvolatile processors , 2017, 2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC).

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

[58]  Meng-Fan Chang,et al.  Design of Nonvolatile SRAM with Ferroelectric FETs for Energy-Efficient Backup and Restore , 2017, IEEE Transactions on Electron Devices.

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

[60]  Henry Hoffmann,et al.  A Probabilistic Graphical Model-based Approach for Minimizing Energy Under Performance Constraints , 2015, ASPLOS.

[61]  Radu Teodorescu,et al.  Using ECC Feedback to Guide Voltage Speculation in Low-Voltage Processors , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

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

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

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

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

[66]  Cong Wang,et al.  A high-efficiency dual-channel photovoltaic power system for nonvolatile sensor nodes , 2014, 2014 IEEE Non-Volatile Memory Systems and Applications Symposium (NVMSA).

[67]  Mario Badr,et al.  Load Value Approximation , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.

[68]  Huazhong Yang,et al.  A Ferroelectric Nonvolatile Processor with 46 $\mu $ s System-Level Wake-up Time and 14 $\mu $ s Sleep Time for Energy Harvesting Applications , 2017, IEEE Transactions on Circuits and Systems I: Regular Papers.

[69]  Joshua R. Smith,et al.  WISPCam: A battery-free RFID camera , 2015, 2015 IEEE International Conference on RFID (RFID).

[70]  Xin Zhang,et al.  ExpAX: A Framework for Automating Approximate Programming , 2014 .

[71]  Narayanan Vijaykrishnan,et al.  Dynamic machine learning based matching of nonvolatile processor microarchitecture to harvested energy profile , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).