skip to main content
10.1145/3178372.3179525acmconferencesArticle/Chapter ViewAbstractPublication PagesccConference Proceedingsconference-collections
research-article

Termination checking and task decomposition for task-based intermittent programs

Published:24 February 2018Publication History

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.

References

  1. Proteus Digital Health. http://www.proteus.com/, 2015.Google ScholarGoogle Scholar
  2. T. Ball and J. R. Larus. Efficient path profiling. In MICRO, pages 46-57, Washington, DC, USA, 1996. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Brooks, V. Tiwari, and M. Martonosi. Wattch: A framework for architectural-level power analysis and optimizations. In ISCA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Buettner, B. Greenstein, and D. Wetherall. Dewdrop: An energy-aware task scheduler for computational RFID. In NSDI, Mar. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Colin and B. Lucia. Chain: Tasks and channels for reliable intermittent programs. In OOPSLA, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. de Kruijf and K. Sankaralingam. Idempotent processor architecture. In MICRO, pages 140-151, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. C. D'Elia and C. Demetrescu. Ball-larus path profiling across multiple loop iterations. In OOPSLA, New York, NY, USA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. F. Dubois, K. Hinsen, and J. Hugunin. Numerical python. Computers in Physics, 10(3), May/June 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Hester, K. Storer, and J. Sorber. Timely Execution on Intermittently Powered Batteryless Sensors. In SenSys, 2017.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. E. Jones, T. Oliphant, P. Peterson, et al. SciPy: Open source scientific tools for Python, 2001-. [Online; accessed 2016-08-14].Google ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. K. Maeng, A. Colin, and B. Lucia. Alpaca: Intermittent execution without checkpoints. In OOPSLA. ACM, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. J. Morse, S. Kerrison, and K. Eder. On the infeasibility of analysing worst-case dynamic energy. CoRR, abs/1603.02580, 2016.Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. J. A. Paradiso and M. Feldmeier. A compact, wireless, self-powered pushbutton controller. In UbiComp, pages 299-304, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. A. Parks, A. Sample, Y. Zhao, and J. R. Smith. A wireless sensing platform utilizing ambient rf energy. In (WiSNET. IEEE, 2013.Google ScholarGoogle Scholar
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. B. Ransford, J. Sorber, and K. Fu. Mementos: System support for long-running computation on RFID-scale devices. In ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarCross RefCross Ref
  40. A. Sinha and A. P. Chandrakasan. Jouletrack: A web based tool for software energy profiling. In DAC, pages 220-225, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. TI Inc. Overview for MSP430FRxx FRAM, 2014.Google ScholarGoogle Scholar
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarCross RefCross Ref
  47. J. V. D. Woude and M. Hicks. Intermittent computation without hardware support or programmer intervention. In OSDI, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Termination checking and task decomposition for task-based intermittent programs

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      CC 2018: Proceedings of the 27th International Conference on Compiler Construction
      February 2018
      206 pages
      ISBN:9781450356442
      DOI:10.1145/3178372

      Copyright © 2018 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 24 February 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader