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

Forget Failure: Exploiting SRAM Data Remanence for Low-overhead Intermittent Computation

Published: 13 March 2020 Publication History

Abstract

Energy harvesting is a promising solution to power billions of ultra-low-power Internet-of-Things devices to enable ubiquitous computing. However, energy harvesters typically output tiny amounts of energy and, therefore, cannot continuously power devices; this leads to intermittent computing, where the energy harvester periodically charges a capacitor to sufficient voltage to power brief computation, until the capacitor's charge is drained, and the cycle repeats. To retain program state across frequent power failures, prior work proposes checkpointing program state to Non-Volatile Memory (NVM) before a power failure. Unfortunately, the most widely deployed, highest performance, and lowest cost devices employ Flash as their NVM, but the power, time, and endurance limitations of Flash writes are incompatible with the frequent NVM checkpoints of intermittent computation.
The multi-year data retention of Flash is overkill for retaining program state across intermittent computing's short power-off times (e.g., < 1s). We observe that even after computation stops due to low voltage, charge remains in the system; this remaining charge keeps the voltage high enough to maintain data in SRAM---effectively making it a NVM---for 10's of minutes post-power loss. This paper explores how to leverage SRAM's data remanence to boost common-case performance and energy efficiency for Flash-based intermittent computation systems. We propose TotalRecall, a library-level, in-situ, checkpointing technique that retains program state in SRAM and identifies when SRAM acts as a NVM, falling back to conventional NVM checkpoints in the rare event of long off times. Our evaluation, on real hardware, using benchmarks from Texas Instruments, shows that TotalRecall incurs overheads as low as 0.8%---up to over 350x faster than checkpointing to Flash.

References

[1]
Domenico Balsamo, Alex Weddell, Geoff Merrett, Bashir Al-Hashimi, Davide Brunelli, and Luca Benini. 2014. Hibernus: Sustaining Computation during Intermittent Supply for Energy-Harvesting Systems. In IEEE Embedded Systems Letters .
[2]
D. Balsamo, A. S. Weddell, A. Das, A. R. Arreola, D. Brunelli, B. M. Al-Hashimi, G. V. Merrett, and L. Benini. 2016. Hibernus
[3]
: A Self-Calibrating and Adaptive System for Transiently-Powered Embedded Devices. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 35, 12 (March 2016), 1968--1980.
[4]
J. Choi, H. Joe, Y. Kim, and C. Jung. 2019. Achieving Stagnation-Free Intermittent Computation with Boundary-Free Adaptive Execution. In IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). 331--344.
[5]
Jongouk Choi, Qingrui Liu, and Changhee Jung. 2019. CoSpec: Compiler Directed Speculative Intermittent Computation. In International Symposium on Microarchitecture (MICRO). 399--412.
[6]
Alexei Colin and Brandon Lucia. 2016. Chain: Tasks and Channels for Reliable Intermittent Programs. In International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA ). 514--530.
[7]
John H. Davies. 2008. MSP430 Microcontroller Basics 1 ed.). Elsevier Ltd.
[8]
K. Ganesan, J. San Miguel, and N. Enright Jerger. 2019. The What's Next Intermittent Computing Architecture. In IEEE International Symposium on High Performance Computer Architecture (HPCA). 211--223.
[9]
Peter Gutmann. 2001. Data Remanence in Semiconductor Devices. In USENIX Security Symposium (USENIX Security).
[10]
C. Helfmeier, C. Boit, D. Nedospasov, and J. P. Seifert. 2013. Cloning Physically Unclonable Functions. In International Symposium on Hardware-Oriented Security and Trust (HOST ). 1--6.
[11]
Josiah Hester, Timothy Scott, and Jacob Sorber. 2014. Ekho: Realistic and Repeatable Experimentation for Tiny Energy-harvesting Sensors. In Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems .
[12]
Josiah Hester, Lanny Sitanayah, and Jacob Sorber. 2015. Tragedy of the Coulombs: Federating Energy Storage for Tiny, Intermittently-Powered Sensors. In ACM Conference on Embedded Networked Sensor Systems (SenSys). 5--16.
[13]
Josiah Hester, Nicole Tobias, Amir Rahmati, Lanny Sitanayah, Daniel Holcomb, Kevin Fu, Wayne P. Burleson, and Jacob Sorber. 2016. Persistent Clocks for Batteryless Sensing Devices. ACM Transactions on Embedded Computer Systems, Vol. 15, 4, Article 77 (Aug. 2016), bibinfonumpages77:1--77:28 pages.
[14]
Matthew Hicks. 2017. Clank: Architectural Support for Intermittent Computation. In International Symposium on Computer Architecture (ISCA ). 228--240.
[15]
D. E. Holcomb, W. P. Burleson, and K. Fu. 2009. Power-Up SRAM State as an Identifying Fingerprint and Source of True Random Numbers . IEEE Trans. Comput., Vol. 58, 9 (Sept. 2009), 1198--1210.
[16]
Daniel E. Holcomb, Amir Rahmati, Mastooreh Salajegheh, Wayne P. Burleson, and Kevin Fu. 2012. DRV-Fingerprinting: Using Data Retention Voltage of SRAM Cells for Chip Identification. In Proceedings of the 8th International Conference on Radio Frequency Identification: Security and Privacy Issues (RFIDSec). 165--179.
[17]
G. Huang, L. Qian, S. Saibua, D. Zhou, and X. Zeng. 2013. An Efficient Optimization Based Method to Evaluate the DRV of SRAM Cells. IEEE Transactions on Circuits and Systems I: Regular Papers, Vol. 60, 6 (June 2013), 1511--1520.
[18]
Texas Instruments. 2006. MSP430 Competitive Benchmarking. (July 2006). https://people.eecs.berkeley.edu/ boser/courses/40/labs/docs/microcontroller%20benchmarks.pdf.
[19]
Texas Instruments. 2010. MSP430L092--MSP430L092, MSP430C09x Mixed-Signal Microcontrollers . (September 2010). http://www.ti.com/lit/ds/symlink/msp430l092.pdf.
[20]
Texas Instruments. 2013. MSP430x2xx Family User's Guide (Rev. J) . (2013). http://www.ti.com/lit/ug/slau144j/slau144j.pdf.
[21]
Texas Instruments. 2014. FRAM FAQs . (January 2014). http://www.ti.com/lit/ml/slat151/slat151.pdf.
[22]
Texas Instruments. 2015. MSP432P4xx SimpleLink Microcontrollers Technical Reference Manual. (March 2015). http://www.ti.com/lit/ug/slau356i/slau356i.pdf.
[23]
Texas Instruments. 2018a. CRC Implementation with MSP430#8482; MCUs . (2018). http://www.ti.com/lit/an/slaa221a/slaa221a.pdf.
[24]
Texas Instruments. 2018b. MSP430 Flash Memory Characteristics (Rev. B) . (2018). http://www.ti.com/lit/an/slaa334b/slaa334b.pdf.
[25]
Texas Instruments. 2018c. MSP430F5438A--MSP430F543xA, MSP430F541xA Mixed-Signal Microcontrollers . (September 2018). http://www.ti.com/lit/ds/symlink/msp430f5438a.pdf.
[26]
Texas Instruments. 2018 d. MSP430FR5964--MSP430FR599x, MSP430FR596x Mixed-Signal Microcontrollers . (August 2018). http://www.ti.com/lit/ds/symlink/msp430fr5964.pdf.
[27]
Texas Instruments. 2018 e. MSP430FR698x(1), MSP430FR598x(1) Mixed-Signal Microcontrollers . (2018). http://www.ti.com/lit/ds/symlink/msp430fr6989.pdf.
[28]
Texas Instruments. 2019. MSP430 GCC . (June 2019). http://www.ti.com/lit/ug/slau646e/slau646e.pdf.
[29]
Hrishikesh Jayakumar, Arnab Raha, and Vijay Raghunathan. 2014. QUICKRECALL: A Low Overhead HW/SW Approach for Enabling Computations across Power Cycles in Transiently Powered Computers . International Conference on VLSI Design and International Conference on Embedded Systems .
[30]
Hrishikesh Jayakumar, Arnab Raha, and Vijay Raghunathan. 2016. Energy-Aware Memory Mapping for Hybrid FRAM-SRAM MCUs in IoT Edge Devices. In International Conference on VLSI Design and International Conference on Embedded Systems (VLSID).
[31]
Joseph Kahn, Randy Katz, and Kristofer Pister. 1999. Next Century Challenges: Mobile Networking for ”Smart Dust”. In Conference on Mobile Computing and Networking (MobiCom) .
[32]
Udo Karthaus and Martin Fischer. 2003. Fully Integrated Passive UHF RFID Transponder IC With 16.7-μ W Minimum RF Input Power. In IEEE Journal of Solid-State Circuits, Volume 38 .
[33]
P. Koopman and T. Chakravarty. 2004. Cyclic redundancy code (CRC) polynomial selection for embedded networks. In International Conference on Dependable Systems and Networks, 2004. 145--154.
[34]
Q. Liu, C. Jung, D. Lee, and D. Tiwari. 2016. Compiler-Directed Lightweight Checkpointing for Fine-Grained Guaranteed Soft Error Recovery (SC ). 228--239.
[35]
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 ). 575--585.
[36]
Kaisheng Ma, Xueqing Li, Karthik Swaminathan, Yang Zheng, Shuangchen Li, Yongpan Liu, Yuan Xie, John Sampson, and Vijaykrishnan Narayanan. 2016. Nonvolatile Processor Architectures: Efficient, Reliable Progress with Unstable Power. In IEE Micro Volume 36, Issue 3 .
[37]
K. Ma, Y. Zheng, S. Li, K. Swaminathan, X. Li, Y. Liu, J. Sampson, Y. Xie, and V. Narayanan. 2015. Architecture exploration for ambient energy harvesting nonvolatile processors. In IEEE International Symposium on High Performance Computer Architecture (HPCA). 526--537.
[38]
Kiwan Maeng, Alexei Colin, and Brandon Lucia. 2017. Alpaca: Intermittent Execution Without Checkpoints. In International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA ). 96:1--96:30.
[39]
Kiwan Maeng and Brandon Lucia. 2018. Adaptive Dynamic Checkpointing for Safe Efficient Intermittent Computing. In USENIX Conference on Operating Systems Design and Implementation (OSDI ). 129--144.
[40]
Kiwan Maeng and Brandon Lucia. 2019. Supporting Peripherals in Intermittent Systems with Just-in-time Checkpoints. In SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 1101--1116.
[41]
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 (PerCom ). 216--224.
[42]
University of Washington. 2014. WISP 5 GitHub . (April 2014). http://www.github.com/wisp/wisp5.
[43]
Yossef Oren, Ahmad-Reza Sadeghi, and Christian Wachsmann. 2013. On the Effectiveness of the Remanence Decay Side-channel to Clone Memory-based PUFs. In International Conference on Cryptographic Hardware and Embedded Systems (CHES ). 107--125.
[44]
Huifang Qin, Yu Cao, Dejan Markovic, Andrei Vladimirescu, and Jan Rabaey. 2004. SRAM Leakage Suppression by Minimizing Standby Supply Voltage. In International Symposium on Quality Electronic Design (ISQED). 55--60.
[45]
Qingrui Liu and Changhee Jung. 2016. Lightweight Hardware Support for Transparent Consistency-Aware Checkpointing in Intermittent Energy-Harvesting systems. In Non-Volatile Memory Systems and Applications Symposium (NVMSA ).
[46]
Amir Rahmati, Mastooreh Salajegheh, Dan Holcomb, Jacob Sorber, Wayne Burleson, and Kevin Fu. 2012. TARDIS: Time and Remanence Decay in SRAM to Implement Secure Protocols on Embedded Devices without Clocks. In USENIX Security Symposium .
[47]
Benjamin Ransford and Brandon Lucia. 2014. Nonvolatile Memory is a Broken Time Machine. In Workshop on Memory Systems Performance and Correctness .
[48]
Benjamin Ransford, Jacob Sorber, and Kevin Fu. 2011. Mementos: System Support for Long-Running Computation on RFID-Scale Devices. In Architectural Support for Programming Languages and Operating Systems (ASPLOS) .
[49]
A. P. Sample, D. J. Yeager, P. S. Powledge, A. V. Mamishev, and J. R. Smith. 2008. Design of an RFID-Based Battery-Free Programmable Sensing Platform. IEEE Transactions on Instrumentation and Measurement, Vol. 57, 11 (Nov 2008), 2608--2615.
[50]
Henry Sodano, Gyuhae Park, and Daniel Inman. 2004. Estimation of Electric Charge Output for Piezoelectric Energy Harvesting. In Strain, Volume 40 .
[51]
Pico Technology. 2016. PicoScope 2000 Series. (2016). https://www.picotech.com/download/datasheets/picoscope-2000-series-data-sheet-en.pdf.
[52]
Priya Thanigai. 2011. FRAMs as alternatives to flash memory in embedded designs. (July 2011). https://www.embedded.com/design/mcus-processors-and-socs/4390688/2/FRAMs-as-alternatives-to-flash-memory-in-embedded-designs.
[53]
Joel Van Der Woude and Matthew Hicks. 2016. Intermittent Computation without Hardware Support or Programmer Intervention. In USENIX Symposium on Operating Systems Design and Implementation (OSDI ). 17--32.
[54]
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) .
[55]
Hong Zhang, Jeremy Gummeson, Benjamin Ransford, and Kevin Fu. 2011. Moo: A Batteryless Computational RFID and Sensing Platform. In Technical Report UMCS-2011-020 .

Cited By

View all
  • (2024)WoCA: Avoiding Intermittent Execution in Embedded Systems by Worst-Case Analyses with Device StatesProceedings of the 25th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3652032.3657569(83-94)Online publication date: 20-Jun-2024
  • (2024)Performance- and Energy-Aware Gait-Based User Authentication With Intermittent Computation for IoT DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.331309743:2(600-612)Online publication date: Feb-2024
  • (2024)Dynamic Exit Selection for Comprehensive and Energy Efficient Gait-Based User Authentication on IoT Devices2024 IEEE Computer Society Annual Symposium on VLSI (ISVLSI)10.1109/ISVLSI61997.2024.00051(234-239)Online publication date: 1-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASPLOS '20: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems
March 2020
1412 pages
ISBN:9781450371025
DOI:10.1145/3373376
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]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 March 2020

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. energy harvesting
  2. intermittent computation

Qualifiers

  • Research-article

Funding Sources

Conference

ASPLOS '20

Acceptance Rates

Overall Acceptance Rate 535 of 2,713 submissions, 20%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)280
  • Downloads (Last 6 weeks)99
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)WoCA: Avoiding Intermittent Execution in Embedded Systems by Worst-Case Analyses with Device StatesProceedings of the 25th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3652032.3657569(83-94)Online publication date: 20-Jun-2024
  • (2024)Performance- and Energy-Aware Gait-Based User Authentication With Intermittent Computation for IoT DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.331309743:2(600-612)Online publication date: Feb-2024
  • (2024)Dynamic Exit Selection for Comprehensive and Energy Efficient Gait-Based User Authentication on IoT Devices2024 IEEE Computer Society Annual Symposium on VLSI (ISVLSI)10.1109/ISVLSI61997.2024.00051(234-239)Online publication date: 1-Jul-2024
  • (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)PES: An Energy and Throughput Model for Energy Harvesting IoT Systems2023 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS57527.2023.00011(13-23)Online publication date: Apr-2023
  • (2022)Benchmarking and Configuring Security Levels in Intermittent ComputingACM Transactions on Embedded Computing Systems10.1145/352274821:4(1-22)Online publication date: 5-Sep-2022
  • (2022)Energy-efficient and Reliable Inference in Nonvolatile Memory under Extreme Operating ConditionsACM Transactions on Embedded Computing Systems10.1145/352013021:5(1-36)Online publication date: 9-Dec-2022
  • (2022)Battery-free MakeCodeProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/35172366:1(1-35)Online publication date: 29-Mar-2022
  • (2022)Using RF Generator As A Renewable Energy Source For Green Building Applications2022 4th International Symposium on Smart and Healthy Cities (ISHC)10.1109/ISHC56805.2022.00018(41-46)Online publication date: Dec-2022
  • (2022)Transient computing for energy harvesting systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2022.102743132:COnline publication date: 1-Nov-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media