论文标题

使能量收集系统的挥发性缓存

Enabling Volatile Caches for Energy Harvesting Systems

论文作者

Zeng, Jianping, Choi, Jongouk, Fu, Xinwei, Shreepathi, Ajay Paddayuru, Lee, Dongyoon, Min, Changwoo, Jung, Changhee

论文摘要

能源收集系统已显示出他们在没有维护的情况下超长运行时间的独特好处,并且预计在物联网时代将更加普遍。但是,由于无电的性质,它们遭受了不可预测的频繁停电。因此,他们需要一种轻巧的机制来实现碰撞一致性,因为在中断中保存/恢复检查点可以通过消耗硬击能量来限制前进的进度。由于原因,能源收集系统仅使用非易失性记忆(NVM)设计。由于难以确保Cacheline持久性的困难,因此假定使用挥发性数据缓存是不可行的或至少具有挑战性的。在本文中,我们提出了ReplayCache,这是一种仅使用软件的崩溃一致性方案,它使商品收集系统能够利用挥发性数据缓存。 ReplayCache不必确保Dirty Cachelines的持久性或在运行时记录其日志。取而代之的是,在功率无法恢复一致的NVM状态之后,ReplayCache Recover Runtime重新执行了潜在的未经广播的商店,从而可以安全地恢复中断的程序。为了支持在恢复期间的商店重播,重播莎楼分区程序以一系列区域的方式以商店操作数寄存器在每个区域内保持完整的方式,并使用商品系统的崩溃一致性机制在电源故障之前进行检查。为了性能,ReplayCache启用了区域级的持久性,该区域允许区域中的商店不同步,直到区域结束,从而利用ILP。带有23个基准应用程序的评估表明,与没有缓存的基线相比,ReplayCache可以分别在没有停电和停电的情况下实现约10.72倍和8.5倍-8.9倍的速度(几何平均值)。

Energy harvesting systems have shown their unique benefit of ultra-long operation time without maintenance and are expected to be more prevalent in the era of Internet of Things. However, due to the batteryless nature, they suffer unpredictable frequent power outages. They thus require a lightweight mechanism for crash consistency since saving/restoring checkpoints across the outages can limit forward progress by consuming hard-won energy. For the reason, energy harvesting systems have been designed with a non-volatile memory (NVM) only. The use of a volatile data cache has been assumed to be not viable or at least challenging due to the difficulty to ensure cacheline persistence. In this paper, we propose ReplayCache, a software-only crash consistency scheme that enables commodity energy harvesting systems to exploit a volatile data cache. ReplayCache does not have to ensure the persistence of dirty cachelines or record their logs at run time. Instead, ReplayCache recovery runtime re-executes the potentially unpersisted stores in the wake of power failure to restore the consistent NVM state, from which interrupted program can safely resume. To support store replay during recovery, ReplayCache partitions program into a series of regions in a way that store operand registers remain intact within each region, and checkpoints all registers just before power failure using the crash consistency mechanism of the commodity systems. For performance, ReplayCache enables region-level persistence that allows the stores in a region to be asynchronously persisted until the region ends, exploiting ILP. The evaluation with 23 benchmark applications show that compared to the baseline with no caches, ReplayCache can achieve about 10.72x and 8.5x-8.9x speedup (on geometric mean) for the scenarios without and with power outages, respectively.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源