[发明专利]基于SIMD指令的图数据库中集合求交方法和装置有效
申请号: | 201810588419.1 | 申请日: | 2018-06-08 |
公开(公告)号: | CN108897787B | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 韩硕;邹磊 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 江崇玉 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本申请属于数据库技术领域,具体涉及一种基于SIMD指令的图数据库中集合求交方法和装置。该方法通过将目标图中的每个图顶点的邻居顶点集合表示为一个对应的位图,然后将各位图划分为长度相等的数据域,为每个数据域设置一个对应的基址域,再利用SIMD指令对位图进行求交来获取目标图中图顶点的邻居顶点集合的求交结果,可以提高使用SIMD指令进行集合求交时的数据层级并行度,从而节省集合求交所用的时间;另外,通过字节检查方法过滤两个位图的基址域中不可能相等的基址域,再对两个位图的基址域中可能相等的基址域进行对齐比较,然后再获取相等的基址域对应的数据域的逻辑与操作结果,可以减少对两个集合的基址域进行比较的次数,节省了时间。 | ||
搜索关键词: | 基于 simd 指令 数据库 集合 方法 装置 | ||
【主权项】:
1.一种基于SIMD指令的图数据库中集合求交方法,其特征在于,所述方法包括:将目标图中每个图顶点的邻居顶点集合表示为一个对应的位图,每个所述位图中的邻居顶点按第一顺序排列;将每个所述位图划分为长度相等的数据域,删掉全零的数据域,为每个非全零的数据域设置一个对应的基址域,将每个所述位图中的基址域按所述第一顺序存储为基址域集合,每个所述数据域的长度等于所述SIMD指令的操作数的位数,所述基址域表示对应的数据域在所述位图中的位置;对于所述目标图的每两个位图,从所述两个位图对应的基址域集合中分别从头开始连续提取数目与所述SIMD指令的并行度相同的基址域,并分别存储到第一SIMD寄存器和第二SIMD寄存器;通过字节检查过滤掉所述第一SIMD寄存器与所述第二SIMD寄存器中存储的没有对应相等基址域的基址域,将剩下的所述第一SIMD寄存器中的基址域和所述第二SIMD寄存器中的基址域按所述第一顺序位置对齐后进行比较;当所述对齐比较的基址域相等,且所述对齐比较的基址域所对应的数据域的逻辑与操作结果非全零时,将相等的所述对齐比较的基址域以及相等的所述对齐比较的基址域所对应的数据域的逻辑与操作结果分别存储至第三SIMD寄存器和第四SIMD寄存器;继续从所述两个位图对应的基址域集合此前未被提取过的基址域中获取存储至第三SIMD寄存器和第四SIMD寄存器中的基址域和对应的数据域的逻辑与操作结果,直至所述两个位图的基址域集合中不存在未经比较的基址域;将所述第三SIMD寄存器和所述第四SIMD寄存器中存储的基址域和数据域的逻辑与操作结果作为所述两个位图的求交结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810588419.1/,转载请声明来源钻瓜专利网。