ABSTRACT
Emerging energy-harvesting computer systems extract energy from their environment to compute, sense, and communicate with no battery or tethered power supply. Building software for energy-harvesting devices is a challenge, because they operate only intermittently as energy is available. Programs frequently reboot due to power loss, which can corrupt program state and prevent forward progress. Task-based programming models allow intermittent execution of long-running applications, but require the programmer to decompose code into tasks that will eventually complete between two power failures. Task decomposition is challenging and no tools exist to aid in task decomposition.
We propose CleanCut, a tool that can check for and report non-terminating tasks in existing code, as well as automatically decompose code into efficient, terminating tasks. CleanCut is based on a statistical model for energy of paths through the program. We applied a prototype of CleanCut to four applications, including pattern-recognition, encryption, compression, and data filtering. Our experiments demonstrated the risk of non-termination in existing code and showed that CleanCut finds efficient task decompositions that execute 2.45x faster on average than manually placed boundaries.
- Proteus Digital Health. http://www.proteus.com/, 2015.Google Scholar
- T. Ball and J. R. Larus. Efficient path profiling. In MICRO, pages 46-57, Washington, DC, USA, 1996. IEEE Computer Society. Google ScholarDigital Library
- D. Balsamo, A. Weddell, A. Das, A. Arreola, D. Brunelli, B. Al-Hashimi, G. Merrett, and L. Benini. Hibernus++: A self-calibrating and adaptive system for transiently-powered embedded devices. CADICS, 2016. Google ScholarDigital Library
- D. Balsamo, A. Weddell, G. Merrett, B. Al-Hashimi, D. Brunelli, and L. Benini. Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems. Embed. Sys. Let., 2014.Google Scholar
- N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu, J. Hestness, D. R. Hower, T. Krishna, S. Sardashti, R. Sen, K. Sewell, M. Shoaib, N. Vaish, M. D. Hill, and D. A. Wood. The gem5 simulator. SIGARCH Comput. Archit. News, 39(2):1-7, Aug. 2011. Google ScholarDigital Library
- D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In ISCA, 2000. Google ScholarDigital Library
- M. Buettner, B. Greenstein, and D. Wetherall. Dewdrop: An energy-aware task scheduler for computational RFID. In NSDI, Mar. 2011. Google ScholarDigital Library
- H. Cherupalli, H. Duwe, W. Ye, R. Kumar, and J. Sartori. Determining application-specific peak power and energy requirements for ultra-low power processors. In ASPLOS, pages 3-16, New York, NY, USA, 2017. Google ScholarDigital Library
- A. Colin, G. Harvey, B. Lucia, and A. P. Sample. An energy-interference-free hardware-software debugger for intermittent energy-harvesting systems. In ASPLOS, pages 577-589, New York, NY, USA, 2016. ACM. Google ScholarDigital Library
- A. Colin and B. Lucia. Chain: Tasks and channels for reliable intermittent programs. In OOPSLA, 2016. Google ScholarDigital Library
- G. Contreras and M. Martonosi. Power prediction for intel xscale® processors using performance monitoring unit events. In ISLPED, pages 221-226, New York, NY, USA, 2005. ACM. Google ScholarDigital Library
- M. de Kruijf and K. Sankaralingam. Idempotent processor architecture. In MICRO, pages 140-151, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- M. A. de Kruijf, K. Sankaralingam, and S. Jha. Static analysis and compiler design for idempotent processing. ACM SIGPLAN Notices, 47(6):475-486, 2012. Google ScholarDigital Library
- D. C. D'Elia and C. Demetrescu. Ball-larus path profiling across multiple loop iterations. In OOPSLA, New York, NY, USA, 2013. Google ScholarDigital Library
- A. Dementyev, J. Gummeson, D. Thrasher, A. Parks, D. Ganesan, J. R. Smith, and A. P. Sample. Wirelessly powered bistable display tags. In ubiComp, pages 383-386, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- P. F. Dubois, K. Hinsen, and J. Hugunin. Numerical python. Computers in Physics, 10(3), May/June 1996. Google ScholarDigital Library
- N. Grech, K. Georgiou, J. Pallister, S. Kerrison, J. Morse, and K. Eder. Static analysis of energy consumption for LLVM IR programs. In Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems, pages 12-21. ACM, 2015. Google ScholarDigital Library
- J. Hester, L. Sitanayah, and J. Sorber. Tragedy of the coulombs: Federating energy storage for tiny, intermittently-powered sensors. In Proceedings of the 13th ACM Conference on Embedded Networked Sensor Systems, SenSys '15, pages 5-16, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- J. Hester, K. Storer, and J. Sorber. Timely Execution on Intermittently Powered Batteryless Sensors. In SenSys, 2017.Google ScholarDigital Library
- H. Jayakumar, A. Raha, and V. Raghunathan. QuickRecall: A low overhead HW/SW approach for enabling computations across power cycles in transiently powered computers. In Int'l Conf. on VLSI Design and Int'l Conf. on Embedded Systems, Jan. 2014. Google ScholarDigital Library
- E. Jones, T. Oliphant, P. Peterson, et al. SciPy: Open source scientific tools for Python, 2001-. [Online; accessed 2016-08-14].Google Scholar
- M. E. Karagozler, I. Poupyrev, G. K. Fedder, and Y. Suzuki. Paper generators: Harvesting energy from touching, rubbing and sliding. In UIST, pages 23-30, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- S. Kerrison and K. Eder. Energy Modeling of Software for a Hardware Multithreaded Embedded Microprocessor. ACM Transactions on Embedded Computing Systems, 14(3):1-25, Apr. 2015. Google ScholarDigital Library
- Y. Lee, G. Kim, S. Bang, Y. Kim, I. Lee, P. Dutta, D. Sylvester, and D. Blaauw. A modular 1mm3 die-stacked sensing platform with optical communication and multi-modal energy harvesting. In ISSCC, 2012.Google Scholar
- J. Leng, T. Hetherington, A. ElTantawy, S. Gilani, N. S. Kim, T. M. Aamodt, and V. J. Reddi. Gpuwattch: Enabling energy optimizations in gpgpus. In ISCA, pages 487-498, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- U. Liqat, Z. Bankovic, P. López-García, and M. V. Hermenegildo. Inferring energy bounds via static program analysis and evolutionary modeling of basic blocks. In Proceedings of the International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR, 2017.Google Scholar
- T. Liu, C. M. Sadler, P. Zhang, and M. Martonosi. Implementing software on resource-constrained mobile sensors: Experiences with impala and zebranet. In MobiSys, pages 256-269, New York, NY, USA, 2004. Google ScholarDigital Library
- V. Liu, A. Parks, V. Talla, S. Gollakota, D. Wetherall, and J. R. Smith. Ambient backscatter: Wireless communication out of thin air. In Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM, SIGCOMM '13, pages 39-50, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- Y. Liu, Z. Li, H. Li, Y. Wang, X. Li, K. Ma, S. Li, M.-F. Chang, S. John, Y. Xie, J. Shu, and H. Yang. Ambient energy harvesting nonvolatile processors: From circuit to system. In DAC, pages 150:1-150:6, 2015. Google ScholarDigital Library
- B. Lucia and B. Ransford. A simpler, safer programming and execution model for intermittent systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2015, pages 575-585, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- K. Maeng, A. Colin, and B. Lucia. Alpaca: Intermittent execution without checkpoints. In OOPSLA. ACM, 2017. Google ScholarDigital Library
- A. Mirhoseini, E. M. Songhori, and F. Koushanfar. Idetic: A high-level synthesis approach for enabling long computations on transiently-powered ASICs. In PerCom, Mar. 2013.Google ScholarCross Ref
- J. Morse, S. Kerrison, and K. Eder. On the infeasibility of analysing worst-case dynamic energy. CoRR, abs/1603.02580, 2016.Google Scholar
- C. Moser, J.-J. Chen, and L. Thiele. Power management in energy harvesting embedded systems with discrete service levels. In ISLPED, pages 413-418, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- J. A. Paradiso and M. Feldmeier. A compact, wireless, self-powered pushbutton controller. In UbiComp, pages 299-304, 2001. Google ScholarDigital Library
- A. Parks, A. Sample, Y. Zhao, and J. R. Smith. A wireless sensing platform utilizing ambient rf energy. In (WiSNET. IEEE, 2013.Google Scholar
- B. Ransford and B. Lucia. Nonvolatile memory is a broken time machine. In Proceedings of the Workshop on Memory Systems Performance and Correctness, MSPC '14, pages 5:1-5:3, New York, NY, USA, 2014. Google ScholarDigital Library
- B. Ransford, J. Sorber, and K. Fu. Mementos: System support for long-running computation on RFID-scale devices. In ASPLOS, 2011. Google ScholarDigital Library
- A. P. Sample, D. J. Yeager, P. S. Powledge, A. V. Mamishev, and J. R. Smith. Design of an RFID-based battery-free programmable sensing platform. IEEE Transactions on Instrumentation and Measurement, 57(11):2608-2615, Nov. 2008.Google ScholarCross Ref
- A. Sinha and A. P. Chandrakasan. Jouletrack: A web based tool for software energy profiling. In DAC, pages 220-225, 2001. Google ScholarDigital Library
- J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: A language and runtime system for perpetual systems. In SenSys, pages 161-174, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- V. Talla, B. Kellogg, B. Ransford, S. Naderiparizi, S. Gollakota, and J. R. Smith. Powering the Next Billion Devices with Wi-Fi. ArXiv, 2015.Google ScholarDigital Library
- TI Inc. Overview for MSP430FRxx FRAM, 2014.Google Scholar
- N. Villar and S. Hodges. The Peppermill: A human-powered user interface device. In Conference on Tangible, Embedded, and Embodied Interaction (TEI), Jan. 2010. Google ScholarDigital Library
- P. Wagemann, T. Distler, T. Honig, H. Janker, R. Kapitza, and W. Schroder-Preikschat. Worst-case energy consumption analysis for energy-constrained embedded systems. In ECRTS, page 105, 2015. Google ScholarDigital Library
- A. Wickramasinghe, D. Ranasinghe, and A. Sample. Windware: Supporting ubiquitous computing with passive sensor enabled rfid. In IEEE RFID, pages 31-38, April 2014.Google ScholarCross Ref
- J. V. D. Woude and M. Hicks. Intermittent computation without hardware support or programmer intervention. In OSDI, 2016. Google ScholarDigital Library
Index Terms
- Termination checking and task decomposition for task-based intermittent programs
Recommendations
Supporting peripherals in intermittent systems with just-in-time checkpoints
PLDI 2019: Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and ImplementationBatteryless energy-harvesting devices have the potential to be the foundation of applications for which batteries are infeasible. Just-In-Time checkpointing supports intermittent execution on energy-harvesting devices by checkpointing processor state ...
Chain: tasks and channels for reliable intermittent programs
OOPSLA 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and ApplicationsEnergy harvesting computers enable general-purpose computing using energy collected from their environment. Energy-autonomy of such devices has great potential, but their intermittent power supply poses a challenge. Intermittent program execution ...
Dynamic Task-based Intermittent Execution for Energy-harvesting Devices
Energy-neutral Internet of Things requires freeing embedded devices from batteries and powering them from ambient energy. Ambient energy is, however, unpredictable and can only power a device intermittently. Therefore, the paradigm of intermittent ...
Comments