Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/3026877.3026880acmotherconferencesArticle/Chapter ViewAbstractPublication PagesosdiConference Proceedingsconference-collections
Article

Intermittent computation without hardware support or programmer intervention

Published: 02 November 2016 Publication History

Abstract

As computation scales downward in area, the limitations imposed by the batteries required to power that computation become more pronounced. Thus, many future devices will forgo batteries and harvest energy from their environment. Harvested energy, with its frequent power cycles, is at odds with current models of long-running computation.
To enable the correct execution of long-running applications on harvested energy--without requiring special-purpose hardware or programmer intervention--we propose Ratchet. Ratchet is a compiler that adds lightweight checkpoints to unmodified programs that allow existing programs to execute across power cycles correctly. Ratchet leverages the idea of idempotency, decomposing programs into a continuous stream of re-executable sections connected by lightweight checkpoints, stored in non-volatile memory. We implement Ratchet on top of LLVM, targeted at embedded systems with high-performance non-volatile main memory. Using eight embedded systems benchmarks, we show that Ratchet correctly stretches program execution across frequent, random power cycles. Experimental results show that Ratchet enables a range of existing programs to run on intermittent power, with total run-time overhead averaging below 60%--comparable to approaches that require hardware support or programmer intervention.

References

[1]
compiler-rt runtime [computer software]. Retrieved from http://compiler-rt.llvm.org/, Mar 2015.
[2]
ARM. ARMv6-M Architecture Reference Manual, Sept 2010.
[3]
BALSAMO, D., WEDDELL, A., MERRETT, G., AL-HASHIMI, B., BRUNELLI, D., AND BENINI, L. Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems. IEEE Embedded Systems Letters 7, 1 (2014), 15-18.
[4]
BUETTNER, M., PRASAD, R., SAMPLE, A., YEAGER, D., GREENSTEIN, B., SMITH, J. R., AND WETHERALL, D. RFID sensor networks with the Intel WISP. In Conference on Embedded Networked Sensor Systems (2008), SenSys, pp. 393-394.
[5]
DAVIES, J. H. MSP430 Microcontroller Basics, 1 ed. Elsevier Ltd., 2008.
[6]
DE KRUIJF, M., AND SANKARALINGAM, K. Idempotent code generation: Implementation, analysis, and evaluation. In International Symposium on Code Generation and Optimization (2013), CGO, pp. 1-12.
[7]
DE KRUIJF, M. A., SANKARALINGAM, K., AND JHA, S. Static analysis and compiler design for idempotent processing. In Conference on Programming Language Design and Implementation (2012), PLDI, pp. 475-486.
[8]
DEBRAY, S., MUTH, R., AND WEIPPERT, M. Alias analysis of executable code. In Symposium on Principles of Programming Languages (1998), POPL, pp. 12-24.
[9]
DEBRUIN, S., CAMPBELL, B., AND DUTTA, P. Monjolo: An energy-harvesting energy meter architecture. In Conference on Embedded Networked Sensor Systems (2013), SenSys, pp. 18:1-18:14.
[10]
DENNARD, R. H., GAENSSLEN, F. H., RIDEOUT, V. L., BASSOUS, E., AND LEBLANC, A. R. Design of ion-implanted MOSFET's with very small physical dimensions. IEEE Journal of Solid-State Circuits 9, 5 (Oct 1974), 256-268.
[11]
ELNOZAHY, E. N., AND ZWAENEPOEL, W. Manetho: Transparent roll back-recovery with low overhead, limited rollback, and fast output commit. IEEE Transactions on Computers 41, 5 (May 1992), 526-531.
[12]
FARRELL, S., CAHILL, V., GERAGHTY, D., HUMPHREYS, I., AND MCDONALD, P. When TCP breaks: Delay and disruption tolerant networking. IEEE Internet Computing 10, 4 (July 2006), 72-78.
[13]
FENG, S., GUPTA, S., ANSARI, A., MAHLKE, S. A., AND AUGUST, D. I. Encore: Low-cost, fine-grained transient fault recovery. In International Symposium on Microarchitecture (2011), MICRO, pp. 398-409.
[14]
GUTHAUS, M., RINGENBERG, J., ERNST, D., AUSTIN, T., MUDGE, T., AND BROWN, R. MiBench: A free, commercially representative embedded benchmark suite. In International Workshop on Workload Characterization (2001), pp. 3-14.
[15]
HICKS, M. Mibench port targeted at IoT devices. https: //github.com/impedimentToProgress/MiBench2, 2016.
[16]
HICKS, M. Thumbulator: Cycle accurate ARMv6- m instruction set simulator. https://github.com/ impedimentToProgress/thumbulator, 2016.
[17]
JAYAKUMAR, H., RAHA, A., AND RAGHUNATHAN, V. QUICKRECALL: A low overhead hw/sw approach for enabling computations across power cycles in transiently powered computers. In International Conference on Embedded Systems and International Conference on VLSI Design (2014), pp. 330-335.
[18]
JOGALEKAR, A. Moore's law and battery technology: No dice. Scientific American (Apr 2013).
[19]
JONSSON, B. E. A survey of A/D-converter performance evolution. In International Conference on Electronics, Circuits, and Systems (Dec 2010), ICECS, pp. 766-769.
[20]
KAHN, J. M., KATZ, R. H., AND PISTER, K. S. J. Next century challenges: Mobile networking for smart dust. In International Conference on Mobile Computing and Networking (1999), MobiCom, pp. 271-278.
[21]
KIM, S. W., OOI, C.-L., EIGENMANN, R., FALSAFI, B., AND VIJAYKUMAR, T. N. Exploiting reference idempotency to reduce speculative storage overflow. ACM Trans. Program. Lang. Syst. 28, 5 (2006), 942-965.
[22]
LATTNER, C., AND ADVE, V. LLVM: A compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization (2004), CGO, pp. 75-86.
[23]
LEE, Y., KIM, G., BANG, S., KIM, Y., LEE, I., DUTTA, P., SYLVESTER, D., AND BLAAUW, D. A modular 1mm3 die-stacked sensing platform with optical communication and multimodal energy harvesting. In International Solid-State Circuits Conference Digest of Technical Papers (2012), pp. 402-404.
[24]
LI, C.-C., AND FUCHS, W. Catch-compiler-assisted techniques for checkpointing. In International Symposium on Fault-Tolerant Computing (1990), pp. 74-81.
[25]
LOWELL, D. E., CHANDRA, S., AND CHEN, P. M. Exploring failure transparency and the limits of generic recovery. In Symposium on Operating Systems Design & Implementation (2000), OSDI.
[26]
LUCIA, B., AND RANSFORD, B. A simpler, safer programming and execution model for intermittent systems. In Conference on Programming Language Design and Implementation (2015), PLDI, pp. 575-585.
[27]
MA, K., ZHENG, Y., LI, S., SWAMINATHAN, K., LI, X., LIU, Y., SAMPSON, J., XIE, Y., AND NARAYANAN, V. Architecture exploration for ambient energy harvesting nonvolatile processors. In International Symposium on High Performance Computer Architecture (2015), HPCA, pp. 526-537.
[28]
MAHLKE, S. A., CHEN, W. Y., BRINGMANN, R. A., HANK, R. E., MEI W. HWU, W., RAMAKRISHNA, B., MICHAEL, R., AND SCHLANSKER, S. Sentinel scheduling: a model for compiler-controlled speculative execution. ACM Transactions on Computer Systems 11 (1993), 376-408.
[29]
MIRHOSEINI, A., SONGHORI, E., AND KOUSHANFAR, F. Idetic: A high-level synthesis approach for enabling long computations on transiently-powered asics. In International Conference on Pervasive Computing and Communications (2013), PerComm, pp. 216-224.
[30]
MONTESINOS, P., HICKS, M., KING, S. T., AND TORRELLAS, J. Capo: A software-hardware interface for practical deterministic multiprocessor replay. In International Conference on Architectural Support for Programming Languages and Operating Systems (2009), ASPLOS, pp. 73-84.
[31]
NARAYANASAMY, S., POKAM, G., AND CALDER, B. BugNet: Continuously recording program execution for deterministic replay debugging. In International Symposium on Computer Architecture (2005), ISCA, pp. 284-295.
[32]
PLANK, J. S., BECK, M., KINGSLEY, G., AND LI, K. Libckpt: Transparent checkpointing under Unix. In USENIX Technical Conference (1995), TCON, pp. 18-29.
[33]
POKAM, G., DANNE, K., PEREIRA, C., KASSA, R., KRANICH, T., HU, S., GOTTSCHLICH, J., HONARMAND, N., DAUTENHAHN, N., KING, S. T., AND TORRELLAS, J. QuickRec: Prototyping an Intel architecture extension for record and replay of multithreaded programs. In International Symposium on Computer Architecture (2013), ISCA, pp. 643-654.
[34]
PRVULOVIC, M., ZHANG, Z., AND TORRELLAS, J. Re-Vive: cost-effective architectural support for rollback recovery in shared-memory multiprocessors. In International Symposium on Computer Architecture (2002), ISCA, pp. 111-122.
[35]
QAZI, M., CLINTON, M., BARTLING, S., AND CHANDRAKASAN, A. A low-voltage 1 Mb FRAM in 0.13 mu m CMOS featuring time-to-digital sensing for expanded operating margin. IEEE Journal of Solid-State Circuits 47, 1 (Jan 2012), 141-150.
[36]
RANDELL, B., LEE, P., AND TRELEAVEN, P. C. Reliability issues in computing system design. ACM Computer Surveys 10, 2 (1978), 123-165.
[37]
RANSFORD, B., CLARK, S., SALAJEGHEH, M., AND FU, K. Getting things done on computational RFIDs with energy-aware checkpointing and voltage-aware scheduling. In Conference on Power Aware Computing and Systems (2008), HotPower, pp. 5-10.
[38]
RANSFORD, B., AND LUCIA, B. Nonvolatile memory is a broken time machine. In Workshop on Memory Systems Performance and Correctness (2014), MSPC, pp. 5:1-5:3.
[39]
RANSFORD, B., SORBER, J., AND FU, K. Mementos: System support for long-running computation on RFID-scale devices. In International Conference on Architectural Support for Programming Languages and Operating Systems (2011), ASPLOS, pp. 159-170.
[40]
RAOUX, S., BURR, G. W., BREITWISCH, M. J., RETTNER, C. T., CHEN, Y.-C., SHELBY, R. M., SALINGA, M., KREBS, D., CHEN, S.-H., LUNG, H.-L., AND LAM, C. H. Phase-change random access memory: A scalable technology. IBM J. Res. Dev. 52, 4 (July 2008), 465-479.
[41]
SILICON LABS. EFM32ZG-STK3200 zero gecko starter kit.
[42]
TEXAS INSTRUMENTS. MSP430FR59xx Datasheet, 2014.
[43]
TEXAS INSTRUMENTS. MSP432P401x Mixed-Signal Microcontrollers, 2015.
[44]
VAN DER WOUDE, J., AND HICKS, M. Ratchet source code repository. https://github.com/impedimentToProgress/Ratchet, 2016.
[45]
VINSCHEN, C., AND JOHNSTON, J. Newlib [computer software]. Retrieved from https://sourceware.org/newlib/, Mar 2015.
[46]
WANG, J., DONG, X., AND XIE, Y. Enabling high-performance lpddrx-compatible mram. In Proceedings of the 2014 International Symposium on Low Power Electronics and Design (New York, NY, USA, 2014), ISLPED '14, ACM, pp. 339-344.
[47]
WU, Y.-C., CHEN, P.-F., HU, Z.-H., CHANG, C.-H., LEE, G.- C., AND YU, W.-C. A mobile health monitoring system using RFID ring-type pulse sensor. In International Conference on Dependable, Autonomic and Secure Computing (2009), pp. 317-322.
[48]
XU, M., BODIK, R., AND HILL, M. A "flight data recorder" for enabling full-system multiprocessor deterministic replay. In International Symposium on Computer Architecture (2003), ISCA, pp. 122-135.
[49]
ZHAI, B., PANT, S., NAZHANDALI, L., HANSON, S., OLSON, J., REEVES, A., MINUTH, M., HELFAND, R., AUSTIN, T., SYLVESTER, D., AND BLAAUW, D. Energy-efficient subthreshold processor design. Transactions on Very Large Scale Integration Systems 17, 8 (Aug 2009), 1127-1137.
[50]
ZHANG, H., GUMMESON, J., RANSFORD, B., AND FU, K. Moo: A batteryless computational RFID and sensing platform. Tech. Rep. UM-CS-2011-020, Department of Computer Science, University of Massachusetts Amherst, Amherst, MA, 2011.
[51]
ZHANG, W., DE KRUIJF, M., LI, A., LU, S., AND SANKARALINGAM, K. ConAir: Featherweight concurrency bug recovery via single-threaded idempotent execution. In International Conference on Architectural Support for Programming Languages and Operating Systems (2013), ASPLOS, pp. 113-126.

Cited By

View all
  • (2023)Hitchhiker's Guide to Secure Checkpointing on Energy-Harvesting SystemsProceedings of the 11th International Workshop on Energy Harvesting & Energy-Neutral Sensing Systems10.1145/3628353.3628542(8-15)Online publication date: 12-Nov-2023
  • (2023)Write-Light Cache for Energy Harvesting SystemsProceedings of the 50th Annual International Symposium on Computer Architecture10.1145/3579371.3589098(1-13)Online publication date: 17-Jun-2023
  • (2022)WARio: efficient code generation for intermittent computingProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523454(777-791)Online publication date: 9-Jun-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
OSDI'16: Proceedings of the 12th USENIX conference on Operating Systems Design and Implementation
November 2016
786 pages
ISBN:9781931971331

Sponsors

  • VMware
  • NetApp
  • Google Inc.
  • Microsoft: Microsoft
  • Facebook: Facebook

In-Cooperation

Publisher

USENIX Association

United States

Publication History

Published: 02 November 2016

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Hitchhiker's Guide to Secure Checkpointing on Energy-Harvesting SystemsProceedings of the 11th International Workshop on Energy Harvesting & Energy-Neutral Sensing Systems10.1145/3628353.3628542(8-15)Online publication date: 12-Nov-2023
  • (2023)Write-Light Cache for Energy Harvesting SystemsProceedings of the 50th Annual International Symposium on Computer Architecture10.1145/3579371.3589098(1-13)Online publication date: 17-Jun-2023
  • (2022)WARio: efficient code generation for intermittent computingProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523454(777-791)Online publication date: 9-Jun-2022
  • (2021)So Far So GoodProceedings of the 24th International Workshop on Software and Compilers for Embedded Systems10.1145/3493229.3493300(29-34)Online publication date: 1-Nov-2021
  • (2021)REHASHProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/34780775:3(1-42)Online publication date: 14-Sep-2021
  • (2021)Computational Nanosatellite ConstellationsGetMobile: Mobile Computing and Communications10.1145/3471440.347144625:1(16-23)Online publication date: 17-Jun-2021
  • (2021)Automatically enforcing fresh and consistent inputs in intermittent systemsProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454081(851-866)Online publication date: 19-Jun-2021
  • (2021)Protocol transformation for transiently powered wireless sensor networksProceedings of the 36th Annual ACM Symposium on Applied Computing10.1145/3412841.3441985(1112-1121)Online publication date: 22-Mar-2021
  • (2021)Failure sentinelsProceedings of the 48th Annual International Symposium on Computer Architecture10.1109/ISCA52012.2021.00058(665-678)Online publication date: 14-Jun-2021
  • (2020)Intermittent Computing with Dynamic Voltage and Frequency ScalingProceedings of the 2020 International Conference on Embedded Wireless Systems and Networks10.5555/3400306.3400319(97-107)Online publication date: 17-Feb-2020
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media