中文

利用哨兵机制提升非易失性内存中 B+-树 的查找性能

数据结构与算法 2021-06-02 v1

摘要

下一代非易失性内存(NVM)正作为新的一层迈入计算机系统,它兼具 DRAM 的字节可寻址性与磁盘的持久性。研究人员与实践者已考虑将 NVM 置于内存总线上,由 CPU 直接加载与存储数据,从而构建持久内存。由此,面向 NVM 的缓存友好型数据结构得以发展,其中 prevalent 的 B+-树 便是之一。最先进的 in-NVM B+-树 主要聚焦于写操作(插入与删除)的优化。然而,查找对 B+-树 至关重要:不仅查找密集型工作负载受益于优化后的查找,插入与删除亦依赖前置的查找操作方可进行。本文细致研究跨越连续缓存行的有序 B+-树 节点。此类缓存行呈现单调递增趋势,通过估计目标键所属区间可加速跨缓存行查找。为此,我们构建探测性 Sentinel Array(哨兵数组),其中每个哨兵代表 B+-树 节点的一个缓存行。检查哨兵数组避免了扫描不必要的缓存行,从而显著减少查找的缓存缺失。定量评估表明,使用哨兵数组将最先进 in-NVM B+-树 的查找性能提升高达 48.4%,而维护哨兵数组的开销很低。

关键词

引用

@article{arxiv.2106.00323,
  title  = {Boosting the Search Performance of B+-tree for Non-volatile Memory with Sentinels},
  author = {Chongnan Ye and Chundong Wang},
  journal= {arXiv preprint arXiv:2106.00323},
  year   = {2021}
}

备注

Accepted and Presented at MSC 2020 (@ESWeek 2020)