Skip to main navigation Skip to search Skip to main content

ReplayCache: Enabling volatile caches for energy harvesting systems

  • Jianping Zeng
  • , Jongouk Choi
  • , Xinwei Fu
  • , Ajay P. Shreepathi
  • , Dongyoon Lee
  • , Changwoo Min
  • , Changhee Jung
  • Purdue University
  • Virginia Polytechnic Institute and State University
  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

28 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publicationMICRO 2021 - 54th Annual IEEE/ACM International Symposium on Microarchitecture, Proceedings
PublisherIEEE Computer Society
Pages170-182
Number of pages13
ISBN (Electronic)9781450385572
DOIs
StatePublished - Oct 18 2021
Event54th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2021 - Virtual, Online, Greece
Duration: Oct 18 2021Oct 22 2021

Publication series

NameProceedings of the Annual International Symposium on Microarchitecture, MICRO
ISSN (Print)1072-4451

Conference

Conference54th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2021
Country/TerritoryGreece
CityVirtual, Online
Period10/18/2110/22/21

Fingerprint

Dive into the research topics of 'ReplayCache: Enabling volatile caches for energy harvesting systems'. Together they form a unique fingerprint.

Cite this