基于非易失内存的哈希索引扩容与查询性能优化研究.pdf
华中科技大学硕士学位论文
摘要
新型非易失内存(Non-VolaliteMemory,NVM)技术近些年发展迅速,为已有的
存储系统带来了新的机遇和挑战。哈希索引是许多存储系统的基本组件之一,如何针
对NVM特性改进哈希索引是当前研究的热点。由于NVM的读写特性与DRAM并
不完全相同,在NVM上直接使用针对DRAM设计的哈希索引扩容策略无法充分发
挥NVM性能,扩容操作成为了性能瓶颈。此外,为提高负载因子非易失内存哈希索
引通常引入辅助结构,但这种方法会使访问路径变长进而造成哈希索引搜索性能下
降。
针对上述问题,基于现有NVM的特性研究设计了基于非易失内存哈希索引的
扩容和搜索优化策略,并基于这些优化策略实现了一种扩容和搜索优化的非易失内
存哈希索引,简称RRHash(Resize-friendlyRead-optimizedHash)。为了降低哈希扩
容开销,设计了预分裂的数据插入和多线程协作式扩容策略,其中预分裂的数据插入
策略,依据扩容时是否需要迁移将键值对放置于不同哈希桶,有效减少了扩容过程中
搬迁的数据总量;多线程合作式扩容机制,利用前台线程加速哈希扩容,提高了NVM
的带宽利用率。为了提高哈希索引搜索效率,提出了基于混合内存和迁移感知的哈希
搜索加速策略。混合内存加速策略将容量小但访问频繁的元数据放置于相对访问速
度更快的DRAM中,搜索时利用元数据中的指纹过滤掉不必要的NVM访问;扩容
过程中读取线程可以直接访问键值对迁移前后可能被保存的地址,保证无锁读的重
试次数不超过三次。此外,为了避免扩容过程中意外宕机造成数据不一致,实现了无
日志的低开销数据一致性保证方法和惰性崩溃恢复策略,进一步提高哈希索引性能。
在装载有真实NVM设备的实验平台上对RRHash进行了测试和评估。实验结果
表明,与最新的基于非易失内存的哈希索引相比,56线程测试场景下RRHash的读
取性能可以提高1.1~8.1倍,写性能最高可提高7.5倍。与现有的哈希索引相比,
RRHash的扩容时间减少了70%。
关键词:非易失内存;哈希索引;扩容;哈希搜索
I
华中科技大学硕士学位论文
Abstract
Inrecentyears,Non-VolatileMemory(NVM)technologyhasrapidlyadvanced,
presentingnewopportunitiesandchallengesforexistingstoragesystems.Thehashindexis
afundamentalcomponentofmanystoragesystems,andcurrentresearcheshasfocusedon
improvingthehashindexbasedonNVMcharacteristics.However,thehashindexresize
strategiesdesignedforDRAMcannotfullyleveragetheperformanceofNVMduetoits
distinctreadandwritecharacteristics,resultinginresizeoperationsbecominga
performancebottleneck.Toimprovetheloadfactor,auxiliarystructuresareoftenintroduced
intheNVMhashindex.However,thismethodmaylengthentheaccesspathandleadtoa
decreaseinthesearchperformanceofhashindex