QuickRecall

QuickRecall
复制标题

DOI:
10.1145/2700249
复制
发表时间:
2015-08
期刊:
ACM Journal on Emerging Technologies in Computing Systems (JETC)
影响因子:
--
通讯作者:
H. Jayakumar;Arnab Raha;Woo Suk Lee;V. Raghunathan
H. Jayakumar;Arnab Raha;Woo Suk Lee;V. Raghunathan
中科院分区:
其他
文献类型:
--
作者:
H. Jayakumar;Arnab Raha;Woo Suk Lee;V. Raghunathan

文献摘要

被引文献

相似文献

瞬时供电计算机(TPC)是一种新型的无电池嵌入式系统,它完全依赖于从外部来源收集的能量来执行计算。在TPC上实现长时间运行的计算是一个重大挑战,因为电源的高度间歇性(通常<100 ms的突发)导致频繁的系统重启。先前的工作试图通过频繁地在闪存中设置系统状态检查点来解决这个问题,并在电源周期中保存它。然而,由于闪存的高擦除/写入时间,这涉及大量开销。本文建议使用铁电RAM(弗拉姆),这是一种新兴的非易失性存储器技术,结合了SRAM和闪存的优点,可以无缝地支持TPC中的长时间运行计算。我们提出了一种轻量级的,原位检查点技术的TPC使用弗拉姆,消耗只有30 nJ,同时减少所需的时间保存和恢复一个检查点,只有21.06μs,这是超过两个数量级低于相应的开销使用闪存。我们已经实施和评估我们的技术,QuickRecall,使用TI MSP430 FR 5739 FRAM使能微控制器。实验结果表明,我们的高效检查点转化为显着的加速(1.25倍-8.4倍),在程序执行时间和减少(103倍)在应用程序级的能源消耗。
Transiently Powered Computers (TPCs) are a new class of batteryless embedded systems that depend solely on energy harvested from external sources for performing computations. Enabling long-running computations on TPCs is a major challenge due to the highly intermittent nature of the power supply (often bursts of < 100ms), resulting in frequent system reboots. Prior work seeks to address this issue by frequently checkpointing system state in flash memory, preserving it across power cycles. However, this involves a substantial overhead due to the high erase/write times of flash memory. This article proposes the use of Ferroelectric RAM (FRAM), an emerging nonvolatile memory technology that combines the benefits of SRAM and flash, to seamlessly enable long-running computations in TPCs. We propose a lightweight, in-situ checkpointing technique for TPCs using FRAM that consumes only 30nJ while decreasing the time taken for saving and restoring a checkpoint to only 21.06μs, which is over two orders of magnitude lower than the corresponding overhead using flash. We have implemented and evaluated our technique, QuickRecall, using the TI MSP430FR5739 FRAM-enabled microcontroller. Experimental results show that our highly-efficient checkpointing translate to significant speedup (1.25x - 8.4x) in program execution time and reduction (∼3x) in application-level energy consumption.