Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3079856.3080238acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

Clank: Architectural Support for Intermittent Computation

Published: 24 June 2017 Publication History

Abstract

The processors that drive embedded systems are getting smaller; meanwhile, the batteries used to provide power to those systems have stagnated. If we are to realize the dream of ubiquitous computing promised by the Internet of Things, processors must shed large, heavy, expensive, and high maintenance batteries and, instead, harvest energy from their environment. One challenge with this transition is that harvested energy is insufficient for continuous operation. Unfortunately, existing programs fail miserably when executed intermittently.
This paper presents Clank: lightweight architectural support for correct and efficient execution of long-running applications on harvested energy---without programmer intervention or extreme hardware modifications. Clank is a set of hardware buffers and memory-access monitors that dynamically maintain idempotency. Essentially, Clank dynamically decomposes program execution into a stream of restartable sub-executions connected via lightweight checkpoints.
To validate Clank's ability to correctly stretch program execution across frequent, random power cycles, and to explore the associated hardware and software overheads, we implement Clank in Verilog, formally verify it, and then add it to an ARM Cortex M0+ processor which we use to run a set of 23 embedded systems benchmarks. Experiments show run-time overheads as low as 2.5%, with run-time overheads of 6% for a version of Clank that adds 1.7% hardware. Clank minimizes checkpoints so much that re-execution time becomes the dominate contributor to run-time overhead.

References

[1]
ARM. 2016. DesignStart for Processor IP. (2016). http://www.arm.com/products/processors/designstart-processor-ip/
[2]
D. Balsamo, A.S. Weddell, G.V. Merrett, B.M. Al-Hashimi, D. Brunelli, and L. Benini. 2014. Hibernus: Sustaining Computation during Intermittent Supply for Energy-Harvesting Systems. Embedded Systems Letters, IEEE 7 (2014), 15--18. Issue 1.
[3]
S. C. Bartling, S. Khanna, M. P. Clinton, S. R. Summerfelt, J. A. Rodriguez, and H. P. McAdams. 2013. An 8MHz 75 uA/MHz zero-leakage non-volatile logic-based Cortex-M0 MCU SoC exhibiting 100% digital state retention at VDD=0V with <400ns wakeup and sleep transitions. In International Solid-State Circuits Conference. 432--433.
[4]
Michael Buettner, Richa Prasad, Alanson Sample, Daniel Yeager, Ben Greenstein, Joshua R. Smith, and David Wetherall. 2008. RFID Sensor Networks with the Intel WISP. In Conference on Embedded Network Sensor Systems (SenSys). 393--394.
[5]
Alexei Colin and Brandon Lucia. 2016. Chain: Tasks and Channels for Reliable Intermittent Programs. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). 514--530.
[6]
John H. Davies. 2008. MSP430 Microcontroller Basics. Newnes, Newton, MA, USA.
[7]
Marc de Kruijf, Shuou Nomura, and Karthikeyan Sankaralingam. 2010. Relax: An Architectural Framework for Software Recovery of Hardware Faults. In International Symposium on Computer Architecture (ISCA). 497--508.
[8]
Marc de Kruijf and Karthikeyan Sankaralingam. 2011. Idempotent Processor Architecture. In Symposium on Microarchitecture (MICRO). 140--151.
[9]
M. de Kruijf and K. Sankaralingam. 2013. Idempotent code generation: Implementation, analysis, and evaluation. In Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on. 1--12.
[10]
Marc A. de Kruijf, Karthikeyan Sankaralingam, and Somesh Jha. 2012. Static Analysis and Compiler Design for Idempotent Processing. In Conference on Programming Language Design and Implementation (PLDI). 475--486.
[11]
Samuel DeBruin, Bradford Campbell, and Prabal Dutta. 2013. Monjolo: An Energy-harvesting Energy Meter Architecture. In Conference on Embedded Networked Sensor Systems (SenSys). 18:1--18:14.
[12]
Elmootazbellah N. Elnozahy and Willy Zwaenepoel. 1992. Manetho: Transparent Roll Back-Recovery with Low Overhead, Limited Rollback, and Fast Output Commit. IEEE Transactions on Computing 41, 5 (May 1992), 526--531.
[13]
Shuguang Feng, Shantanu Gupta, Amin Ansari, Scott A. Mahlke, and David I. August. 2011. Encore: Low-cost, Fine-grained Transient Fault Recovery. In International Symposium on Microarchitecture (MICRO). 398--409.
[14]
Matthew Hicks. 2016. MiBench port targeted at IoT devices. https://github.com/impedimentToProgress/MiBench2. (2016).
[15]
Matthew Hicks. 2016. Thumbulator: Cycle accurate ARMv6-m instruction set simulator. https://github.com/impedimentToProgress/thumbulator. (2016).
[16]
Matthew Hicks. 2017. Clank research artifact code repository. https://github.com/impedimentToProgress/ClankRepo. (2017).
[17]
Texas Instruments. 2015. MSP432P401R. (March 2015).
[18]
H. Jayakumar, A Raha, and V. Raghunathan. 2014. QUICKRECALL: A Low Overhead HW/SW Approach for Enabling Computations across Power Cycles in Transiently Powered Computers. In Conferences on Embedded Systems and VLSI Design. 330--335.
[19]
J. M. Kahn, R. H. Katz, and K. S. J. Pister. 1999. Next Century Challenges: Mobile Networking for Smart Dust. In Conference on Mobile Computing and Networking (MobiCom). 271--278.
[20]
S. Khanna, S.C. Bartling, M. Clinton, S. Summerfelt, J.A. Rodriguez, and H.P. McAdams. 2014. An FRAM-Based Nonvolatile Logic MCU SoC Exhibiting 100% Digital State Retention at VDD= 0 V Achieving Zero Leakage With < 400-ns Wakeup Time for ULP Applications. Solid-State Circuits, IEEE Journal of 49, 1 (Jan 2014), 95--106.
[21]
Seon Wook Kim, Chong liang Ooi, Rudolf Eigenmann, Babak Falsafi, and T. N. Vijaykumar. 2006. Exploiting reference idempotency to reduce speculative storage overflow. ACM Transactions on Programming Languages and Systems 28, 5 (2006), 942--965.
[22]
Daniel Kroening and Mitra Purandare. 2016. EBMC: The Enhanced Bounded Model Checker. (2016). http://www.cprover.org/ebmc/
[23]
Silicon Labs. 2016. EFM32 Zero Gecko 32-bit Microcontroller. (2016). http://www.silabs.com/products/mcu/32-bit/efm32-zero-gecko/Pages/efm32-zero-gecko.aspx
[24]
Yoonmyung Lee, Gyouho Kim, Suyoung Bang, Yejoong Kim, Inhee Lee, P. Dutta, D. Sylvester, and D. Blaauw. 2012. A modular 1mm3 die-stacked sensing platform with optical communication and multi-modal energy harvesting. In Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2012 IEEE International. 402--404.
[25]
C.-C.J. Li and W.K. Fuchs. 1990. CATCH-compiler-assisted techniques for checkpointing. In Symposium on Fault-Tolerant Computing (FTCS). 74--81.
[26]
Q. Liu, C. Jung, D. Lee, and D. Tiwari. 2016. Compiler-Directed Lightweight Checkpointing for Fine-Grained Guaranteed Soft Error Recovery. In International Conference for High Performance Computing, Networking, Storage and Analysis (SC). 228--239.
[27]
Brandon Lucia and Benjamin Ransford. 2015. A Simpler, Safer Programming and Execution Model for Intermittent Systems. In Conference on Programming Language Design and Implementation (PLDI).
[28]
Kaisheng Ma, Yang Zheng, Shuangchen Li, K. Swaminathan, Xueqing Li, Yongpan Liu, J. Sampson, Yuan Xie, and V. Narayanan. 2015. Architecture exploration for ambient energy harvesting nonvolatile processors. In High Performance Computer Architecture (HPCA). 526--537.
[29]
Scott A. Mahlke, William Y. Chen, Roger A. Bringmann, Richard E. Hank, Wen-mei W. Hwu, B. Ramakrishna Rau, and Michael S. Schlansker. 1993. Sentinel scheduling: a model for compiler-controlled speculative execution. ACM Transactions on Computer Systems 11 (1993), 376--408.
[30]
A. Mirhoseini, E.M. Songhori, and F. Koushanfar. 2013. Idetic: A high-level synthesis approach for enabling long computations on transiently-powered ASICs. In International Conference on Pervasive Computing and Communications (Per-CoM). 216--224.
[31]
Satish Narayanasamy, Gilles Pokam, and Brad Calder. 2005. BugNet: Continuously recording program execution for deterministic replay debugging. In International Symposium on Computer Architecture (ISCA). 284--295.
[32]
M. Prvulovic, Zheng Zhang, and J. Torrellas. 2002. ReVive: cost-effective architectural support for rollback recovery in shared-memory multiprocessors. In International Symposium on Computer Architecture (ISCA). 111--122.
[33]
Qingrui Liu and Changhee Jung. 2016. Lightweight Hardware Support for Transparent Consistency-Aware Checkpointing in Intermittent Energy-Harvesting systems. In Symposium on Non-Volatile Memory Systems and Applications (NVMSA), Vol. 5.
[34]
B. Randell, P. Lee, and P. C. Treleaven. 1978. Reliability Issues in Computing System Design. Comput. Surveys 10, 2 (June 1978), 123--165.
[35]
Benjamin Ransford, Shane Clark, Mastooreh Salajegheh, and Kevin Fu. 2008. Getting Things Done on Computational RFIDs with Energy-aware Checkpointing and Voltage-aware Scheduling. In Conference on Power Aware Computing and Systems (HotPower). 5--5.
[36]
Benjamin Ransford and Brandon Lucia. 2014. Nonvolatile Memory is a Broken Time Machine. In Workshop on Memory Systems Performance and Correctness (MSPC). Article 5, 3 pages.
[37]
Benjamin Ransford, Jacob Sorber, and Kevin Fu. 2011. Mementos: System Support for Long-running Computation on RFID-scale Devices. In Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 159--170.
[38]
Yannis Smaragdakis and George Balatsouras. 2015. Pointer Analysis. Foundations and Trends in Programming Languages 2, 1 (2015), 1--69.
[39]
Texas Instruments. MSP430FR59xx Datasheet. Texas Instruments. http://www.ti.com/lit/ds/symlink/msp430fr5969.pdf
[40]
Joel Van Der Woude and Matthew Hicks. 2016. Intermittent Computation without Hardware Support or Programmer Intervention. In Symposium on Operating System Design & Implementation (OSDI). 17--32.
[41]
Yu-Chi Wu, Pei-Fan Chen, Zhi-Huang Hu, Chao-Hsu Chang, Gwo-Chuan Lee, and Wen-Ching Yu. 2009. A Mobile Health Monitoring System Using RFID Ring-Type Pulse Sensor. In Conference on Dependable, Autonomic and Secure Computing (DASC). 317--322.
[42]
Xilinx. 2016. Xilinx Virtex-7 FPGA VC709 Connectivity Kit. (2016). http://www.xilinx.com/products/boards-and-kits/dk-v7-vc709-g.html
[43]
Xilinx. 2016. Xilinx Vivado Design Suite. (2016). https://www.xilinx.com/products/design-tools/vivado.html
[44]
Hong Zhang, Jeremy Gummeson, Benjamin Ransford, and Kevin Fu. 2011. Moo: A Batteryless Computational RFID and Sensing Platform. Technical Report UM-CS-2011-020. Department of Computer Science, University of Massachusetts Amherst, Amherst, MA. http://www.cs.umass.edu/publication/details.php?id=2114
[45]
Wei Zhang, Marc de Kruijf, Ang Li, Shan Lu, and Karthikeyan Sankaralingam. 2013. ConAir: Featherweight Concurrency Bug Recovery via Single-threaded Idempotent Execution. In Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 113--126.

Cited By

View all
  • (2024)ECM: Improving IoT Throughput with Energy-Aware Connection Management2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546883(1-6)Online publication date: 25-Mar-2024
  • (2024)Energy Harvesting-Supported Efficient Low-Power ML Processing with Adaptive Checkpointing and Intermittent ComputingProceedings of the 29th ACM/IEEE International Symposium on Low Power Electronics and Design10.1145/3665314.3670837(1-6)Online publication date: 5-Aug-2024
  • (2024)Greentooth: Robust and Energy Efficient Wireless Networking for Batteryless DevicesACM Transactions on Sensor Networks10.1145/364922120:3(1-31)Online publication date: 13-Apr-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISCA '17: Proceedings of the 44th Annual International Symposium on Computer Architecture
June 2017
736 pages
ISBN:9781450348928
DOI:10.1145/3079856
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 June 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Batteryless Devices
  2. Energy Harvesting
  3. Idempotence
  4. Intermittent Computation

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ISCA '17
Sponsor:

Acceptance Rates

ISCA '17 Paper Acceptance Rate 54 of 322 submissions, 17%;
Overall Acceptance Rate 543 of 3,203 submissions, 17%

Upcoming Conference

ISCA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)ECM: Improving IoT Throughput with Energy-Aware Connection Management2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546883(1-6)Online publication date: 25-Mar-2024
  • (2024)Energy Harvesting-Supported Efficient Low-Power ML Processing with Adaptive Checkpointing and Intermittent ComputingProceedings of the 29th ACM/IEEE International Symposium on Low Power Electronics and Design10.1145/3665314.3670837(1-6)Online publication date: 5-Aug-2024
  • (2024)Greentooth: Robust and Energy Efficient Wireless Networking for Batteryless DevicesACM Transactions on Sensor Networks10.1145/364922120:3(1-31)Online publication date: 13-Apr-2024
  • (2024)Bring it On: Kinetic Energy Harvesting to Spark Machine Learning Computations in IoTs2024 25th International Symposium on Quality Electronic Design (ISQED)10.1109/ISQED60706.2024.10528702(1-6)Online publication date: 3-Apr-2024
  • (2024)SCHEMATIC: Compile-Time Checkpoint Placement and Memory Allocation for Intermittent Systems2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO57630.2024.10444789(258-269)Online publication date: 2-Mar-2024
  • (2023)SoundSieve: Seconds-Long Audio Event Recognition on Intermittently-Powered SystemsProceedings of the 21st Annual International Conference on Mobile Systems, Applications and Services10.1145/3581791.3596859(28-41)Online publication date: 18-Jun-2023
  • (2023)Amalgamated Intermittent Computing SystemsProceedings of the 8th ACM/IEEE Conference on Internet of Things Design and Implementation10.1145/3576842.3582388(184-196)Online publication date: 9-May-2023
  • (2023)Frequency Scaling Meets Intermittency: Optimizing Task Rate for RFID-Scale Computing DevicesIEEE Transactions on Mobile Computing10.1109/TMC.2023.3239515(1-12)Online publication date: 2023
  • (2023)Pragmatic Memory-System Support for Intermittent Computing Using Emerging Nonvolatile MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.316826342:1(95-108)Online publication date: Jan-2023
  • (2022)ProteanProceedings of the 20th ACM Conference on Embedded Networked Sensor Systems10.1145/3560905.3568561(207-221)Online publication date: 6-Nov-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media