[发明专利]基于GPU分组LSM树索引的方法有效

专利信息
申请号: 202010836000.0 申请日: 2020-08-19
公开(公告)号: CN112000846B 公开(公告)日: 2021-07-20
发明(设计)人: 谷峪;李万;李传文;李芳芳;于戈 申请(专利权)人: 东北大学
主分类号: G06F16/901 分类号: G06F16/901;G06F16/903;G06F16/245
代理公司: 沈阳东大知识产权代理有限公司 21109 代理人: 李在川
地址: 110819 辽宁*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 gpu 分组 lsm 索引 方法
【权利要求书】:

1.一种基于GPU分组LSM树索引的方法,其特征在于:包括以下步骤:

步骤1:对Key-Value数据进行预处理,将数据在内存中进行键值Key和数据Value的分离;将Value存放在内存中,同时在内存中用哈希表存储Value和对应的地址,查询时以O(1)的时间复杂度定位Value;分离之后将Key和Value的地址拷贝到GPU的全局内存中;

步骤2:将数据插入到GPU分组LSM树中;

所述GPU分组LSM树中,所有数据均是按批进行插入,假设每一批数据大小为b,数据组group的数量为g,因此GPU分组LSM中每一层都会有g个group且第i层有b*g(i+1)个组,整个GPU分组LSM包含的数据都是b的整数倍;使用GPU的基数排序对数据进行排序,并查看GPU分组LSM树中第一层是否有空的组,有则将数据拷贝到该组中,没有则触发合并操作,使第一层为空然后将数据拷贝到第一层;

步骤3:进行数据查询时,进行部分排序提高合并内存访问效率,确定需要排序比特位数量;

假设Key的长度位为B个比特,GPU分组LSM树的大小为T,GPU缓存存放的Key的长度为K,Key的范围长度为2B,LSM树中的每一个Key覆盖的范围是2B/T*K,则该范围的平均比特位个数为log2(2B/T*K);若查询中的内存请求属于高速缓存行的覆盖范围,则无论请求的Key是否排序,都是合并的内存访问;因此,当查询的Key位于同一高速缓存行中时,不对查询进行排序,使用以下公式计算排序的比特位数量N:

N=B-log2(2B/T*K)

步骤4:对查询的数据使用布隆过滤器筛选掉无关查询;

步骤5:将访问的数据加载到共享内存中;查询会访问每一个group中的固定位置的数据,这些查询数据会全部访问这棵树的根节点,数据访问这棵树的前L层数据,其中L为正整数;

步骤6:在GPU上对共享内存中的数据进行查询,得到对应的全局内存中的位置,然后再到全局内存中进行查询;由于GPU上存放的是Value的地址,因此查询完成后会将查询结果拷贝到内存中去,再由CPU端进行处理,通过查找Hash表取出对应Value的值,这样就完成了在GPU分组LSM树上的查询过程。

2.根据权利要求1所述的一种基于GPU分组LSM树索引的方法,其特征在于,步骤4所述布隆过滤器SBF由M个哈希函数组成,M为正整数,每个哈希函数是独立不相关的。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010836000.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top