DPTree: Differential Indexing for Persistent Memory(VLDB 2019)

(一)研究目的

实现崩溃一致性,减少 PM 写入,并保持优秀的读性能。

(二)研究背景

根据结构特性,现有的 PM 索引研究大致可以分为B+Tree based、Trie-based 和 hybrid(混合) 三种类型。B+Tree based 结构(例如 CDDS-Tree、wB+Tree、NVTree、FPTree、FASTFAIR)在索引更新的关键代码路径上的持久化原语的数量是次优的。Trie-based 结构(例如 WORT)在某些键分布上获得了优异的写性能,但代价是范围扫描效率不佳。对于 hybrid 结构,其思想是将多个物理索引结构组合成一个逻辑索引。例如,HiKV 将哈希表与 B+Tree 相结合,但是 HiKV 的 DRAM 消耗和恢复成本较高。
现有 PM 索引结构经常执行许多高代价的持久化原语来维护其结构属性或更新元数据。例如,在 FASTFAIR 中,对叶节点的插入平均需要保持一半的缓存线,以保持节点有序和持久。FPTree 需要在每次更新时将指纹和位图持久化到叶子节点中。但是,只有插入的键值需要一次到 PM 的往返才能保持持久性。这种对 PM 的额外写入称为结构维护开销(structural maintenance overhead,SMO)。因此需要减少 SMO。
fencing 指令会耗尽 CPU 存储缓冲区并阻塞管道,因此需要减少 fencing 指令。 如果可以批量执行索引更新,那么持久性开销可以平摊。例如,可以将一批键值条目插入 PM 中的叶节点,对元数据只进行一次更新。

(三)研究概述

基于批量更新的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值