当前位置: 首页 > 专利查询>厦门大学专利>正文

基于混合存储的高性能可扩展哈希索引制造技术

技术编号:39601618 阅读:15 留言:0更新日期:2023-12-03 20:01
基于混合存储的高性能可扩展哈希索引,涉及键值存储与哈希索引

【技术实现步骤摘要】
基于混合存储的高性能可扩展哈希索引


[0001]本专利技术涉及键值存储与哈希索引
,尤其是涉及针对具备持久性
CPU
高速缓存的持久性内存设备的一种基于混合存储的高性能可扩展哈希索引构建方法


技术介绍

[0002]哈希索引又称散列索引,由于其常数级别的查找时间复杂度而被广泛应用于成为了数据密集型应用的基石,如内存数据库

键值存储系统等,以提供快速的响应

对于任意给定的关键字,哈希索引根据关键字经过散列函数的映射来决定存放键值对的位置

当需要进行搜索请求时,哈希索引将关键字代入散列函数后得到包含该关键字的记录在表中的地址,通过该地址访问获得关键字对应的值

[0003]新型存储设备持久性内存的出现,为键值存储系统设计带来新的机遇

随着相关的电子电路技术发展迅速,已经先后出现以相变存储器

阻变存储器和磁阻式存储器等为代表的持久性内存实现技术,且由英特尔公司研制的傲腾持久性内存也已经商用

持久性内存具有低延迟

非易失

可字节寻址的特性,还具有可扩展性高

能耗开销低和存储密度大等优点

按实现技术不同,持久性内存设备还存在不同访问粒度和持久化域等,差异化的硬件特性,如英特尔傲腾持久性内存
100
系列和
200
系列都具有
256
字节的访问粒度
(
读写时的最小单位
)
,但配备不同的持久化域
(
保证断电或系统崩溃时数据不丢失的存储区域
)

100
系列的持久化域只包含内存控制器和持久性内存
(
普通持久化域
)
,而
200
系列则在此基础上包含
CPU
高速缓存
(
增强持久化域
)。
现有研究成果主要可分为三类:
(1)
针对持久化内存的高写入开销进行写入优化的哈希索引
(Pengfei Zuo and Yu Hua.A Write

Friendly and Cache

Optimized Hashing Scheme for Non

Volatile Memory Systems.IEEE Transactions on Parallel and Distributed Systems,29(5):985

998,2017

Pengfei Zuo,Yu Hua,and Jie Wu.Write

Optimized and HighPerformance Hashing Index Scheme for Persistent Memory.In 13th USENIX Symposium on Operating Systems Design and Implementation(OSDI 18),pages 461

476,2018.)

(2)
针对哈希索引高全表重哈希开销进行优化的哈希索引
(Baotong Lu,Xiangpeng Hao,Tianzheng Wang,and Eric Lo.Dash:Scalable Hashing on Persistent Memory.Proceedings of the VLDB Endowment,pages 1147

1161,2020

Moohyeon Nam,Hokeun Cha,Young

ri Choi,Sam H Noh,and Beomseok Nam.Write

Optimized Dynamic Hashing for Persistent Memory.In17th USENIX Conference on File and Storage Technologies(FAST 19),pages 31

44,2019

Pengfei Zuo,Yu Hua,and Jie Wu.Write

Optimized and HighPerformance Hashing Index Scheme for Persistent Memory.In 13th USENIX Symposium on Operating Systems Design and Implementation(OSDI 18),pages 461

476,2018.)

(3)
通过无锁化设计减少由持久性内存锁的带来的高并发控制开销
(Zhangyu Chen,Yu Hua,Bo Ding,and Pengfei Zuo.Lock

Free Concurrent Level Hashing for Persistent Memory.In 2020USENIX Annual Technical Conference(USENIX ATC 20),
pages 799

812,2020

Se Kwon Lee,Jayashree Mohan,Sanidhya Kashyap,Taesoo Kim,and Vijay Chidambaram.Recipe:Converting Concurrent DRAM Indexes to Persistent

Memory Indexes.In Proceedings of the 27th ACM Symposium on Operating Systems Principles,pages 462

477,2019

Yoav Zuriel,Michal Friedman,Gali Sheffi,Nachshon Cohen,and Erez Petrank.Efficient Lock

Free Durable Sets.Proceedings of the ACM on Programming Languages,3(OOPSLA):1

26,2019.)。
观察发现,现有研究成果在设计键值存储系统时,考虑持久性内存高性能

低延迟

写入高开销等普遍特性,但忽略持久性内存设备访问粒度以及持久性内存带宽有限的硬件特性,忽略前二者的设计使得非易失内存遭受较大的流量放大,导致流量放大有如下两个原因:
(本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
基于混合存储的高性能可扩展哈希索引,其特征在于包括以下步骤:步骤1:基于
CPU
高速缓存

易失内存与持久性内存的三层结构,包括:
1.1
在持久性内存上建立一个可扩展的哈希索引,每个桶的大小设置较大;
1.2
在持久性内存内建立一个收集日志池,每个日志大小为
256B
,包含
15
个键值对与
16B
的元数据;通过频繁访问日志池并不显式驱逐日志使得日志驻留在
CPU
高速缓存中;根据哈希值的前
K
位决定写入收集日志的位置;
1.3
在易失内存上建立一个与持久性内存结构相同的可扩展索引,每个桶的大小设置较小;
1.4
在持久性内存建立备份日志,用于保证易失内存可扩展索引的恢复;
1.5
在易失内存上建立一个特征数组与位图,每个元素为对应持久性内存上索引中的键,元素值为对应键的其中
2B
;位图用于管理备忘日志内的空间;步骤2:日志化无搜索插入,包括:
2.1
通过哈希值确定写入日志,采用请求与交换
CAS
原语将日志内项目数目加一并确定写入位置;
2.2
在相应位置按照先值后键的顺序写入日志中;
2.3
在完成写入后通过
CAS
原语将日志内的位图置1代表写入完成;
2.4
当缓存内的日志键值对数量达到设定的阈值时,将采用内存复制的指令将日志复制到备份日志,并将日志内的键值分别插入到易失索引中;
.2.5
当易失索引内桶内键值对数量达到设定的阈值时,将采用内存复制的指令将桶复制到非易失索引中;步骤3:自底向上搜索,包括:
3.1
将待搜索键的哈希值的
2B
取出,通过
SIMD
技术与易失内存上的特征数组进行比较,若相同,则将键与相应的非易失索引内的键比较;若比较后相同,则取出相应值;
3...

【专利技术属性】
技术研发人员:沈志荣舒继武余子祥张一鸣吴荣鑫高聪明李乔
申请(专利权)人:厦门大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1