Arcadia: A Fast and Reliable Persistent Memory Replicated Log
Arcadia: A Fast and Reliable Persistent Memory Replicated Log
复制标题
DOI:
10.48550/arxiv.2206.12495
复制
发表时间:
2022-06
期刊:
影响因子:
--
通讯作者:
Shashank Gugnani;S. Guthridge;Frank B. Schmuck;O. Anderson;Deepavali Bhagwat;Xiaoyi Lu
中科院分区:
文献类型:
--
作者:
Shashank Gugnani;S. Guthridge;Frank B. Schmuck;O. Anderson;Deepavali Bhagwat;Xiaoyi Lu
The latency and bandwidth properties of byte-addressable persistent memory (PMEM) have the potential to significantly improve system performance over a wide spectrum of applications. But at the same time, PMEM brings considerable new challenges for the programmer compared with earlier technologies. In particular, PMEM provides only 8-byte write atomicity, can flush writes out of order, and its availability is always limited by node failures. It’s possible to work with the atomicity and ordering constraints of PMEM directly by carefully sequencing the order of store operations and insert-ing explicit flush and fence operations at each ordering point. But this is tedious and error-prone: too many flush operations defeat the performance benefits of PMEM, and even with generous use, it is difficult to prove that a given program is crash-consistent. Logging is a great abstraction to deal with these issues but prior work on PMEM logging has not successfully hidden the idiosyncrasies of PMEM. Moreover, shortcomings in the log interface and design have prevented attainment of full PMEM performance. We believe that a log design that hides the idiosyncrasies from programmers while delivering full performance is key to success. In this paper, we present the design and implementation of Arcadia, a generic replicated log on PMEM to address these problems. Arcadia handles atomicity, integrity, and replication of log records to reduce programmer burden. Our design has several novel aspects including concurrent log writes with in-order commit, atomicity and integrity primitives for local and remote PMEM writes, and a frequency-based log force policy for providing low overhead persistence with guaranteed bounded loss of uncommitted records. Our evaluation shows that Arcadia outperforms state-of-the-art PMEM logs, such as PMDK’s libpmemlog, FLEX, and Query Fresh by several times