[发明专利]一种自适应的数据库混合查询方法有效
申请号: | 202010581766.9 | 申请日: | 2020-06-23 |
公开(公告)号: | CN111767305B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 文军;郑立源;李宇 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F16/245 | 分类号: | G06F16/245;G06F16/242 |
代理公司: | 北京正华智诚专利代理事务所(普通合伙) 11870 | 代理人: | 韦海英 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自适应 数据库 混合 查询 方法 | ||
本发明公开了一种自适应的数据库混合查询方法,该方法包括服务进程监听查询请求,调用数据库管理层的函数进行实际的GPU查询任务执行和资源调度任务,并将结果返回给查询任务客户端。同时处理来自该进程的后续请求,并将结果通过IPC机制回传到查询任务控制进程;查询控制进程完成查询时,向服务端发起退出请求,服务进程结束相应服务线程;查询控制进程生成查询计划,利用动态链接库拦截查询任务控制进程发起的CUDA Runtime API,转化为服务进程的IPC请求。本发明根据查询数据特征基于代价模型分析混合平台上的查询操作任务,创建查询优化方案,利用CPU和GPU协作运行实现数据库查询,提高了数据库整体查询处理性能,实现最大化利用计算机硬件性能,减少额外时间开销。
技术领域
本发明属于GPU数据库查询技术领域,具体涉及一种CPU和GPU协作运行实现自适应的数据库混合查询方法。
背景技术
现有的GPU数据库以列式存储,结合内存+显存,无需优化,无需建索引。在生产时间,将数据加载到显存和内存里,无需访问磁盘,因此无需依靠索引来降低访问扇区的开销。通过每个GPU的几千个核,并发上万个线程并行扫描全表,尤其适合几千万到几十亿行的JOIN、模糊匹配、Group By、全表扫描或聚合等。GPU数据库以内存作为桥梁,实现磁盘--内存--显存的三级缓存结构,这将提供高达10倍的CPU DRAM带宽和更低的延迟。
当前GPU数据库查询仍存在一些不足:
1、各查询任务单独管理GPU资源会带来重复开销;
2、对于大量数据的查询,频繁使用PCie进行内存--显存数据交换,不同的查询任务重复传输了数据库中相同的列存储数据,仍会导致gpu整体利用率较低;
3、GPU中虽有几百甚至几千的流处理器能够提供强大的向量计算能力,但对于复杂分支指令、迭代处理、线程间数据同步、大数据高延迟访问等操作的效率弱于通用处理器。客观地说,关系操作模型并不是适合GPU向量计算特征的理想的查询处理模型。采用何种策略协作CPU和GPU,针对海量数据进行多分支语句查询,也是当前gpu数据库研究的一个方向;
4、对于相同的算法,由于GPU在逻辑控制和复杂数据管理能力上弱于CPU,GPU的综合性能对于深度优化的CPU算法优势并不明显,甚至在一些查询中,GPU算法性能低于CPU算法。因此,GPU对数据库的加速并不是全方位的,需要根据数据的特征和操作的特征组合CPU和GPU查询处理模块。
发明内容
针对现有技术中的上述不足,本发明提供了自适应的数据库混合查询方法,以提高数据库整体查询处理性能,最大化利用计算机硬件性能,减少额外时间开销。
为了达到上述发明目的,本发明采用的技术方案为:
一种自适应的数据库混合查询方法,包括以下步骤:
S1、启动数据库系统服务进程,监听查询请求;
S2、向数据库提交sql查询语句;
S3、根据监听到的sql查询语句生成查询计划,启动查询任务控制进程;
S4、利用动态链接库拦截查询任务控制进程发起的CUDA Runtime API,转化为服务进程的IPC请求;
S5、服务端接收IPC请求后,创建新的服务线程处理来自该进程的后续请求,并将结果通过IPC机制回传到查询任务控制进程;
S6、查询任务控制进程完成查询时,向服务端发起退出请求,服务进程结束相应服务线程。
进一步地,所述步骤S1具体包括:
启动数据库系统服务进程,创建CUDA context,并根据启动参数datadir修改文件夹预加载列存储数据到系统内存,然后监听查询请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010581766.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钢铁企业基于二维码的户外车厢定位方法
- 下一篇:利于大文件存储的联盟链