-
题名基于持久性内存的单向移动B^+树
被引量:1
- 1
-
-
作者
闫玮
张兴军
纪泽宇
董小社
姬辰肇
-
机构
西安交通大学计算机科学与技术学院
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2021年第2期371-383,共13页
-
基金
国家重点研发计划项目(2016YFB1000303)。
-
文摘
由新型非易失存储介质构成的持久性内存(persistent memory,PM)具有扩展性强、按字节访问与静态能耗低等特性,为未来主存与辅存融合提供了强大的契机.然而由于LLC(last level cache)具有易失性且与主存交互粒度通常为64B,而PM的原子持久化操作粒度为8B.因此,数据从LLC更新到PM的过程中,若发生故障,则可能破坏更新操作的失败原子性,进而影响原始数据的完整性.为了保证更新操作的失败原子性,目前研究主要采用显式调用持久化指令与内存屏障指令,将数据有序地持久化到PM上,但该操作会造成显著的开销,在索引更新中尤为明显.在对索引进行更新时,往往会涉及到索引结构的变化,该变化需要大量的有序持久化开销.研究旨在减少基于PM的B+树在更新过程中为保证失败原子性而引入的持久化开销.通过分析B+树节点利用率、不同更新模式下持久化开销以及更新操作之间的关系,提出了一种基于节点内数据真实分布的数据单向移动算法.通过原地删除的方式,减少删除带来的持久化开销.利用删除操作在节点内留下的空位,减少后续插入操作造成的数据移动,进而减少数据持久化开销.基于上述算法,对B+树的重均衡操作进行优化.最后通过实验证明,相较于最新基于PM的B+树,提出的单向移动B+树能够显著提高单一负载与混合负载性能.
-
关键词
持久性内存
索引结构
失败原子性
索引更新
LLC
持久化指令
-
Keywords
persistent memory
index structure
failure atomicity
index updating
last level cache
persistent instruction
-
分类号
TP309.2
[自动化与计算机技术—计算机系统结构]
-