Circ-Tree:一种面向持久内存的环形设计 B+-树变体
数据结构与算法
2020-02-12 v2
摘要
为利用字节寻址非易失性内存(NVM)的性能潜力,已开发出若干 B+-树变体。本文仔细研究 B+-树的特性,发现传统 B+-树节点是一种线性结构,其中键值(KV)对从节点零偏移处维护,这些对在插入和删除时以单向方式移动。插入和删除一个 KV 对可能因 KV 对移动而产生大量写放大,严重损害 NVM 内 B+-树的性能。本文提出一种新颖的 B+-树环形设计。鉴于 NVM 的字节寻址性,我们的 Circ-tree 设计将树节点组织为无固定基址的环形结构,并在节点内双向移动 KV 对以最小化写放大。我们实现了 Circ-Tree 原型并进行了大量实验。实验结果表明,在写性能方面,Circ-Tree 分别比最先进的 NVM 内 B+-树变体 NV-tree 和 FAST+FAIR 高出至多 1.6 倍和 8.6 倍。通过运行 YCSB 对基于 NV-tree、FAST+FAIR 和 Circ-Tree 构建的 KV 存储系统进行端到端比较,显示 Circ-Tree 的写性能分别比 NV-tree 和 FAST+FAIR 高出至多 29.3% 和 47.4%。
引用
@article{arxiv.1912.09783,
title = {Circ-Tree: A B+-Tree Variant with Circular Design for Persistent Memory},
author = {Chundong Wang and Gunavaran Brihadiswarn and Xingbin Jiang and Sudipta Chattopadhyay},
journal= {arXiv preprint arXiv:1912.09783},
year = {2020}
}
备注
12 pages