论文标题
Arcadia:快速可靠的持续内存复制的日志
Arcadia: A Fast and Reliable Persistent Memory Replicated Log
论文作者
论文摘要
字节 - 可调式持久记忆(PMEM)的性能特性有可能在广泛的应用中显着提高系统性能。但是,持续的内存为程序员带来了巨大的新挑战:只有8个字节写原子性,不订单的齐平和供应受节点故障的限制。可以通过仔细测序商店操作的顺序并在每个订购点插入明确的冲洗和围栏操作,从而直接处理PMEM的原子性和订购约束。但这是乏味且容易出错的:太多的冲洗操作击败了PMEM的性能优势,即使使用了慷慨的使用,也很难证明给定的程序是崩溃的。记录是解决这些问题的绝佳抽象,但是PMEM记录的先前工作并未成功隐藏了PMEM的特质。此外,日志界面和设计中的缺点阻止了完整的PMEM性能。我们认为,在提供全部性能的同时隐藏了程序员的特质是成功的日志设计,这是成功的关键。在本文中,我们介绍了Arcadia的设计和实施,这是对PMEM的一般复制登录,以解决这些问题。 Arcadia处理原子性,完整性和日志记录的复制,以减轻程序员负担。我们的设计有几个新颖的方面,包括同时的日志撰写,并用固定提交,本地和远程PMEM写入的原子性和完整性原始人以及基于频率的日志强制策略,用于提供低架空持久性,并保证有限制的不承诺记录有限损失。我们的评估表明,Arcadia优于最先进的PMEM日志,例如PMDK的LibpMemlog,Flex和Wiff Quher Diff次,同时提供更强的日志记录耐用性保证。我们预计Arcadia将成为领先的现成PMEM日志设计。
The performance properties of byte-addressable persistent memory (PMEM) have the potential to significantly improve system performance over a wide spectrum of applications. But persistent memory brings considerable new challenges to the programmer: only 8-byte write atomicity, out of order flush and availability limited by node failure. It's possible to work with the atomicity and ordering constraints of PMEM directly by carefully sequencing the order of store operations and inserting 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 while providing stronger log record durability guarantees. We expect Arcadia to become the leading off-the-shelf PMEM log design.