[发明专利]支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法在审
申请号: | 202011205013.4 | 申请日: | 2020-11-02 |
公开(公告)号: | CN112416926A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 陈伟;富浩;臧铖;王明越;张云粮 | 申请(专利权)人: | 浙商银行股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/27;G06Q40/02 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 311200 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 国产 cpu simd 指令 分布式 数据库 性能 执行 设计 方法 | ||
1.一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,包括如下步骤:
(1)接收用户查询请求,解析请求并转换成SQL任务;
(2)将SQL任务在分布式数据库中进行解析,生成一棵查询树,用于指导执行计划,所述执行计划中包括表查询顺序及表执行计划;
(3)执行计划从顶部节点不断向下调用next()接口直到分布式数据库;
(4)查询到的数据以列数据集合的形式,从树的根节点不断向上被各层叶子节点递归调用处理;
对于HashAgg节点,不是立刻往上层节点返回数据,而是处理完所有的列数据集合后再往上层节点返回数据,具体为:当数据经过CPU加载进行hash操作时,调用CPU执行接口,以icc编译器编译代码,调换CPU执行方式为AVX类型的SIMD指令集,使得国产CPU的控制器将数据放入到国产CPU的向量寄存器中,一个控制器控制多个处理进程,做四组循环操作,一次共操作256bit数据,并行处理一组若干列数据集合,并缓存处理结果;
对于除HashAgg节点之外的节点,每处理完一列数据集合后立刻往上层节点返回数据。
2.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,在查询树中,不同节点层的任务是不同的,执行不同任务的节点数量也是不同的。
3.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,所述表执行计划包括表扫描、索引扫描、多表连接时的连接方式、子表与父表的继承关系。
4.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,通过Scan节点从分布式数据库调用压缩数据块,返回一组符合过滤条件的col组织的列数据集合给上层HashAgg节点处理。
5.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,HashAgg节点在并行处理完某数据表的所有列数据集合后,再往下调用Scan节点返回下一条符合过滤条件的col组织的列数据集合。
6.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,所述SIMD指令集同时对一组数据集合中的每一列数据分别执行相同的操作从而实现空间上的并行性。
7.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,所述AVX指令集支持国产CPU,支持单个寄存器,可以并行计算4个64位双精度浮点数,位数为一次可操作256bit数据。
8.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,列数据集合在AVX指令集下并行计算的实现为:从内存中加载256位到dst,数据类型转变为__mm256d,使用AVX指令集内置函数的方法一次执行4个双精度浮点数,执行逻辑运算、比较运算、组合和置换等数据处理方法。
9.根据权利要求1所述的一种支持国产CPU SIMD指令的分布式数据库高性能执行器设计方法,其特征在于,HashAgg节点将缓存的整个表的处理结果返回到上一层节点继续进行节点特定处理,特定处理采用AVX指令集,并行处理,返回处理后列数据集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙商银行股份有限公司,未经浙商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011205013.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铜棒生产线的加热设备
- 下一篇:家政信息提供方法、服务器和存储介质