USENIX ATC2024顶会
A Difference World: High-performance, NVM-invariant, Software-only Intermittent Computation
Harrison Williams, Saim Ahmad, Matthew Hicks
摘要
Supporting long life, high performance, intermittent computation is an essential challenge in allowing energy harvesting devices to fulfill the vision of smart dust. Intermittent computation is the extension of long-running computation across the frequent, unexpected, power cycles that result from replacing batteries with harvested energy. The most promising intermittent computation support strategies combine programmer direction and compiler analysis to minimize run-time overhead and provide programmer control-without specialized hardware support. While such strategies succeed in reducing the size of non-volatile memory writes due to checkpointing, they must checkpoint continuously. Unfortunately, for Flash-based devices (by far the most ubiquitous), writing checkpoints is slow and gradually kills the device. Without intervention, Flash devices and software-only intermittent computation are fundamentally incompatible.
To enable ubiquitous programmer-guided intermittent computation we design and implement CAMEL. The key idea behind CAMEL is the systematic bifurcation of program state into two "worlds" of differing volatility. Programmers compose intermittent programs by stitching together atomic units of computation called tasks. The CAMEL compiler ensures that all within-task data is placed in the volatile world and all between-task data is placed in the non-volatile world. Between tasks, CAMEL swaps the worlds, atomically locking-in the forward progress of the preceding task. In preparation for the next task, CAMEL resolves differences in world view by copying only differences due to the preceding task's updates. This systematic decomposition into a mixed-volatility memory allows-for the first time-long-life and high performance programmer-guided intermittent computation on Flash devices: CAMEL outperforms the state-of-the-art checkpointing system for Flash-based devices by up to 5x while eliminating the need for hardware support, and enables reliable execution of atomic operations where the state-of-the-art * Equal contribution. † Work completed at Virginia Tech. fails. Beyond Flash, CAMEL's differential buffer system improves performance by a factor of 2x compared to existing task-based approaches on FRAM platforms.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper2
- Forget Failure: Exploiting SRAM Data Remanence for Low-overhead Intermittent ComputationHarrison Williams, Xun Jian, Matthew HicksASPLOS 2020 · 被引用 27 次
- Failure Sentinels: Ubiquitous Just-in-time Intermittent Computation via Low-cost Hardware Support for Voltage MonitoringHarrison Williams, Michael Moukarzel, Matthew HicksISCA 2021 · 被引用 22 次
相关 Paper
- Adaptable Runtime Monitoring for Intermittent SystemsEren Yildiz, Khakim Akhunov, Lorenzo Antonio Riva, Arda Goknil 等EuroSys 2024 · 被引用 7 次
- NvMR: non-volatile memory renaming for intermittent computingAbhishek Bhattacharyya, Abhijith Somashekhar, Joshua San MiguelISCA 2022 · 被引用 21 次
- User-directed Assembly Code Transformations Enabling Efficient Batteryless Arduino ApplicationsChristopher Kraemer, William Gelder, Josiah D. HesterUbiComp 2024 · 被引用 3 次
- Cache-aware Task Decomposition for Efficient Intermittent Computing SystemsShuo Xu, Wei Zhang, Mengying Zhao, Zimeng Zhou 等DAC 2024 · 被引用 2 次
- Immortal Threads: Multithreaded Event-driven Intermittent Computing on Ultra-Low-Power MicrocontrollersEren Yildiz, Lijun Chen, Kasim Sinan YildirimOSDI 2022 · 被引用 10 次
