Forget Failure: Exploiting SRAM Data Remanence for Low-overhead Intermittent Computation
Harrison Williams, Xun Jian, Matthew Hicks
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 18781880-6a7f-46d2-817c-2f04170acdb1Cited by top-tier papers7
- MOUSE: Inference In Non-volatile Memory for Energy Harvesting ApplicationsSalonik Resch, S. Karen Khatamifard, Zamshed I. Chowdhury, Masoud Zabihi et al.MICRO 2020 · 37 citations
- Automatically enforcing fresh and consistent inputs in intermittent systemsMilijana Surbatovich, Limin Jia, Brandon LuciaPLDI 2021 · 23 citations
- Failure Sentinels: Ubiquitous Just-in-time Intermittent Computation via Low-cost Hardware Support for Voltage MonitoringHarrison Williams, Michael Moukarzel, Matthew HicksISCA 2021 · 22 citations
- IntOS: Persistent Embedded Operating System and Language Support for Multi-threaded Intermittent ComputingYilun Wu, Byounguk Min, Mohannad Ismail, Wenjie Xiong et al.OSDI 2024 · 16 citations
- Energy-Adaptive Buffering for Efficient, Responsive, and Persistent Batteryless SystemsHarrison Williams, Matthew HicksASPLOS 2024 · 6 citations
Related papers
- NvMR: non-volatile memory renaming for intermittent computingAbhishek Bhattacharyya, Abhijith Somashekhar, Joshua San MiguelISCA 2022 · 21 citations
- SweepCache: Intermittence-Aware Cache on the CheapYuchen Zhou, Jianping Zeng, Jungi Jeong, Jongouk Choi et al.MICRO 2023 · 15 citations
- ReplayCache: Enabling Volatile Cachesfor Energy Harvesting SystemsJianping Zeng, Jongouk Choi, Xinwei Fu, Ajay Paddayuru Shreepathi et al.MICRO 2021 · 29 citations
- Data Cache for Intermittent Computing Systems with Non-Volatile Main MemorySourav Mohapatra, Vito Kortbeek, Marco Antonio van Eerden, Jochem Broekhoff et al.ASPLOS 2025 · 1 citation
- A Difference World: High-performance, NVM-invariant, Software-only Intermittent ComputationHarrison Williams, Saim Ahmad, Matthew HicksUSENIX ATC 2024 · 2 citations
