An Energy-interference-free Hardware-Software Debugger for Intermittent Energy-harvesting Systems

Energy-autonomous computing devices have the potential to extend the reach of computing to a scale beyond either wired or battery-powered systems. However, these devices pose a unique set of challenges to application developers who lack both hardware and software support tools. Energy harvesting devices experience power intermittence which causes the system to reset and power-cycle unpredictably, tens to hundreds of times per second. This can result in code execution errors that are not possible in continuously-powered systems and cannot be diagnosed with conventional debugging tools such as JTAG and/or oscilloscopes. We propose the Energy-interference-free Debugger, a hardware and software platform for monitoring and debugging intermittent systems without adversely effecting their energy state. The Energy-interference-free Debugger re-creates a familiar debugging environment for intermittent software and augments it with debugging primitives for effective diagnosis of intermittence bugs. Our evaluation of the Energy-interference-free Debugger quantifies its energy-interference-freedom and shows its value in a set of debugging tasks in complex test programs and several real applications, including RFID code and a machine-learning-based activity recognition system.

[1]  Randy H. Katz,et al.  Next century challenges: mobile networking for “Smart Dust” , 1999, MobiCom.

[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]  Peng Li,et al.  T-check: bug finding for sensor networks , 2010, IPSN '10.

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

[5]  Timothy Scott,et al.  Ekho: realistic and repeatable experimentation for tiny energy-harvesting sensors , 2014, SenSys.

[6]  Kevin Fu,et al.  On the limits of effective hybrid micro-energy harvesting on mobile CRFID sensors , 2010, MobiSys '10.

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

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

[9]  David Wetherall,et al.  The Emergence of RF-Powered Computing , 2014, Computer.

[10]  David Blaauw,et al.  A modular 1mm3 die-stacked sensing platform with optical communication and multi-modal energy harvesting , 2012, 2012 IEEE International Solid-State Circuits Conference.

[11]  Deborah Estrin,et al.  Sympathy for the sensor network debugger , 2005, SenSys '05.

[12]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[13]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

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

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

[16]  Joseph A. Paradiso,et al.  Energy scavenging for mobile and wireless electronics , 2005, IEEE Pervasive Computing.

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

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

[19]  Kamin Whitehouse,et al.  Clairvoyant: a comprehensive source-level debugger for wireless sensor networks , 2007, SenSys '07.

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

[21]  David Wetherall,et al.  Ambient backscatter: wireless communication out of thin air , 2013, SIGCOMM.

[22]  Klaus Wehrle,et al.  KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment , 2010, IPSN '10.

[23]  Patrick Th. Eugster,et al.  Diagnostic tracing for wireless sensor networks , 2013, TOSN.

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

[25]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

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

[27]  David Wetherall,et al.  Dewdrop: An Energy-Aware Runtime for Computational RFID , 2011, NSDI.

[28]  John A. Stankovic,et al.  t-kernel: providing reliable OS support to wireless sensor networks , 2006, SenSys '06.