Jianping Zeng
September 28, 2023

This paper presents PPA (Persistent Processor Architecture), simple microarchitectural support for lightweight yet performant whole-system persistence. PPA offers fully transparent crash consistency to all sorts of program covering the entire computing stack and even legacy applications without any source code change or recompilation. As a basis for crash consistency, PPA leverages so-called store integrity that preserves store operands during program execution, persists them on impending power failure, and replays the stores when power comes back. In particular, PPA realizes the store integrity via hardware by keeping the operands in a physical register file (PRF), though the stores are committed. Such store integrity enforcement leads to region-level persistence, i.e., whenever PRF runs out, PPA starts a new region after ensuring that all stores of the prior region have already been written to persistent memory. To minimize the pipeline stall across regions, PPA writes back the stores of each region asynchronously, overlapping their persistence latency with the execution of other instructions in the region. The experimental results with 41 applications from SPEC CPU2006/2017, SPLASH3, STAMP, WHISPER, and DOE Mini-apps show that PPA incurs only a 2% average run-time overhead and a 0.005% areal cost, while the state-of-the-art work suffers a 26% overhead along with prohibitively high hardware and energy costs.

About Jianping Zeng

Jianping Zeng is final-year PhD candidate in the department of Computer Science at Purdue University working with Prof. Changhee Jung. His research interests generally lie on designing more reliable and performant computing systems including server-class systems and energy-harvesting systems against soft errors and power failure. To achieve that goal, he usually co-designs compiler and architecture to maintain a minimal hardware complexity while achieving high performance. His research works are usually published at top-tier system venues, e.g., PLDI, MICRO, HPDC, ISCA, and RTSS.