FliT: a library for simple and efficient persistent algorithms
FliT: a library for simple and efficient persistent algorithms
复制标题
FliT:一个简单高效的持久算法库
DOI:
10.1145/3503221.3508436
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Petrank, Erez
中科院分区:
文献类型:
--
作者:
Wei, Yuanhao;Ben-David, Naama;Friedman, Michal;Blelloch, Guy E.;Petrank, Erez
Non-volatile random access memory (NVRAM) offers byte-addressable persistence at speeds comparable to DRAM. However, with caches remaining volatile, automatic cache evictions can reorder updates to memory, potentially leaving persistent memory in an inconsistent state upon a system crash. Flush and fence instructions can be used to force ordering among updates, but are expensive. This has motivated significant work studying how to write correct and efficient persistent programs for NVRAM.In this paper, we present FliT, a C++ library that facilitates writing efficient persistent code. Using the library's default mode makes any linearizable data structure durable with minimal changes to the code. FliT avoids many redundant flush instructions by using a novel algorithm to track dirty cache lines. It also allows for extra optimizations, but achieves good performance even in its default setting.To describe the FliT library's capabilities and guarantees, we define a persistent programming interface, called the P-V Interface, which FliT implements. The P-V Interface captures the expected behavior of code in which some instructions' effects are persisted and some are not. We show that the interface captures the desired semantics of many practical algorithms in the literature.We apply the FliT library to four different persistent data structures, and show that across several workloads, persistence implementations, and data structure sizes, the FliT library always improves operation throughput, by at least 2.1X over a naive implementation in all but one workload.
登录
查看更多内容
DOI:
10.4230/lipics.disc.2020.4
发表时间:
2020
期刊:
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
影响因子:
--
作者:
R. Guerraoui;Alex Kogan;Virendra J. Marathe;I. Zablotchi
通讯作者:
I. Zablotchi
DOI:
10.1145/3210377.3210392
发表时间:
2018
期刊:
Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures
影响因子:
--
作者:
Andreia Correia;P. Felber;P. Ramalhete
通讯作者:
P. Ramalhete
DOI:
10.1145/3212734.3212753
发表时间:
2018
期刊:
Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing
影响因子:
--
作者:
H. Attiya;Ohad Ben;Danny Hendler
通讯作者:
Danny Hendler
DOI:
10.1109/hipc50609.2020.00042
发表时间:
2020
期刊:
and Analytics (HiPC
影响因子:
--
作者:
Beadle, H. Alan;Cai, Wentao;Wen, Haosen;Scott, Michael L.
通讯作者:
Scott, Michael L.