一种基于GPU的大数据快速检索系统及其使用方法技术方案

技术编号:22817085 阅读:18 留言:0更新日期:2019-12-14 13:08
本发明专利技术涉及数据检索技术领域,公开了一种基于GPU大数据快速检索系统及其使用方法,包括多个分布式数据库节点,用于存储数据;GPU模块,连接于每个分布式数据库节点,GPU模块包括GPU任务判断模块、任务创建模块、GPU数据广播模块、通用并行架构模块和GPU运行模块;GPU任务判断模块用于判断查询请求是否能完全或部分运行;任务创建模块用于创建需运行的查询任务;通用并行架构模块用于协调多个查询任务同时运行;GPU运行模块运行查询任务并返回数据。本发明专利技术能够使用相对成本较低的GPU硬件辅助计算,处理一般查询、对查询性能要求不高的操作时使用传统CPU运算,能够提供超越纯CPU架构的大数据平台的超高算力。

A fast retrieval system of big data based on GPU and its usage

【技术实现步骤摘要】
一种基于GPU的大数据快速检索系统及其使用方法
本专利技术涉及数据检索
,尤其涉及了一种基于GPU大数据快速检索系统及其使用方法。
技术介绍
传统的大数据平台,对大规模数据量的计算分析能力较弱,满足不了大数据领域的实时数据计算需求,大数据平台虽然采用了分布式的集群存储和计算架构,能够将计算任务分散到多个处理计算节点并行运算以提高计算速度与分析能力,解决了大规模数据的处理需求,但计算速度与分析性能受限于计算节点的硬件性能,无法实现大数据的实时处理。在处理大规模数据的查询分析时,对硬件尤其是CPU的处理性能要求极高,造成了大数据技术架构高昂的硬件成本,在处理一般查询时,高配置的CPU查询又不能够发挥全部的硬件优势,造成算力闲置现象。
技术实现思路
本专利技术针对现有技术中硬件要求高、处理效率差的缺点,提供了一种基于GPU大数据快速检索系统及其使用方法。为了解决上述技术问题,本专利技术通过下述技术方案得以解决一种基于GPU的大数据快速检索系统,包括:分布式数据存储模块,包括多个分布式数据库节点,用于存储数据;多个GPU模块,连接于每个分布式数据库节点,GPU模块包括GPU任务判断模块、任务创建模块、GPU数据广播模块、通用并行架构模块和GPU运行模块;GPU任务判断模块用于判断查询请求是否能完全或部分运行;任务创建模块用于创建需运行的查询任务;GPU数据广播模块,用于对多个GPU模块之间建立数据广播链路并同步数据传输消息;通用并行架构模块用于协调多个查询任务同时运行;GPU运行模块运行查询任务并返回数据。作为优选,任务创建模块中,创建运行任务过程包括创建GPU本地二进制文件的源代码,在执行阶段前启动即时编译进程。作为优选,GPU运行模块中,运行过程包括提取数据行集装载入直接存储器存储缓存并异步启动存储器传输和GPU内核执行。作为优选,分布式数据库节点输出的数据为列式存储数据表。作为优选,GPU运行模块中,还包括过滤、聚合和分组三种处理方式。作为优选,GPU任务判断模块包括GPU处理器和CPU处理器,用于分配任务、判断运行成本和判断运行任务量。作为优选,GPU数据广播模块运行过程为在数据发送GPU模块和数据接受GPU模块之间建立广播数据传输链路,同时对余下的GPU模块均与数据发送GPU模块生成转发树,通过转发树对数据传输消息进行发送。一种基于GPU的大数据快速检索系统的使用方法,包括如下步骤:(1)获取检索任务,系统调用GPU任务判断模块对给定查询是否可以在GPU上执行进行判断,判断过程包括:对任务量的是否能在GPU模块运行判断和对是否小于CPU处理器运行成本的判断,如判断结果都为是,则返回结果可以运行,则进入下一步,如不可以运行则跳出;(2)判断任务是否可以在计算场景执行,如可以则调用GPU创建模块在运行中创建GPU本地二进制文件的源代码,在执行阶段前启动即时编译进程生成GPU可执行程序;(3)系统提取数据行集装载入直接存储器缓存,并异步启动DMA传输和GPU内核执行;(4)通过GPU通用并行架构模块和GPU运行模块快速执行生成的GPU可执行程序对任务进行查询并返回结果。作为优选,步骤(1)中,是否能在GPU模块运行判断包括对于SQL查询运算类型判断和对于SQL查询运算规则判断;是否小于CPU处理器运行成本的判断包括与GPU任务判断模块连接的查询优化器,在查询执行计划期间与查询优化器进行交互,选择执行成本较低的CPU处理器或GPU模块上进行运行。作为优选,步骤(2)中,计算场景包括SCAN,JOIN或GROUPBY中的任何一项。本专利技术由于采用了以上技术方案,具有显著的技术效果:本专利技术能够使用相对成本较低的GPU硬件辅助计算,在处理一般查询、对查询性能要求不高的操作时使用传统CPU运算,当处理高性能查询需求时运用GPU辅助运算,能够提供超越纯CPU架构的大数据平台的超高算力。基于GPU辅助的架构特点,本专利技术还能够在保证运算能力的前提下有效降低高性能大数据分布式存储计算平台的综合成本。在针对大量数据执行重复性操作时,采用分布式技术架构的大数据平台能够将数据动态均衡负载到各分布式数据库节点,从而能够充分利用各节点所配置的GPU平台的结构特点,将CPU的密集型数据计算工作负载转移至GPU处理,利用GPU的强大并行计算能力快速完成数据检索与计算任务,从而大大缩短大规模数据计算的执行处理时间。附图说明图1是本专利技术一种基于GPU大数据快速检索系统及其使用方法的结构示意图;图2是本专利技术一种基于GPU大数据快速检索系统及其使用方法的查询原理示意图;图3是本专利技术一种基于GPU大数据快速检索系统及其使用方法的试验结果数据柱状图。图4是本专利技术一种基于GPU大数据快速检索系统及其使用方法的数据广播链路连接示意图。具体实施方式下面结合附图与实施例对本专利技术作进一步详细描述。如图1至图4所示,一种基于GPU的大数据快速检索系统,包括:分布式数据存储模块,包括多个分布式数据库节点,用于存储数据;多个GPU模块,连接于每个分布式数据库节点,GPU模块包括GPU任务判断模块、任务创建模块、GPU数据广播模块、通用并行架构模块和GPU运行模块;GPU任务判断模块用于判断查询请求是否能完全或部分运行;任务创建模块用于创建需运行的查询任务;GPU数据广播模块,用于对多个GPU模块之间建立数据广播链路并同步数据传输消息;通用并行架构模块用于协调多个查询任务同时运行;GPU运行模块运行查询任务并返回数据。任务创建模块中,创建运行任务过程包括创建GPU本地二进制文件的源代码,在执行阶段前启动即时编译进程。GPU运行模块中,运行过程包括提取数据行集装载入直接存储器存储缓存并异步启动存储器传输和GPU内核执行。分布式数据库节点输出的数据为列式存储数据表。GPU运行模块中,还包括过滤、聚合和分组三种处理方式。GPU任务判断模块包括GPU处理器和CPU处理器,用于分配任务、判断运行成本和判断运行任务量。GPU数据广播模块运行过程为在数据发送GPU模块和数据接受GPU模块之间建立广播数据传输链路,同时对余下的GPU模块均与数据发送GPU模块生成转发树,通过转发树对数据传输消息进行发送。传统环模式计算分配由于每个链路都是双向的,如图4a所示,可构建两个环:从一个环开始是A->B->D->C->A,另一个反方向是A->C->D->B->A。要做广播A可以将数据分成两部分,并在每个环上发送一个部分。因此,如果数据大小为n并且链路带宽大小为b,则所花费的时间将是n除以2b,但是A<->D和B<->C(虚线表示)的两个交叉链接没有被有效利用起来。为实现更高的GPU链路利用率,加快速度传输,借鉴使用基于广播的数据传输方案的协议,充分利本文档来自技高网...

【技术保护点】
1.一种基于GPU的大数据快速检索系统,其特征在于:包括:/n分布式数据存储模块,包括多个分布式数据库节点,用于存储数据;/n多个GPU模块,连接于每个分布式数据库节点,GPU模块包括GPU任务判断模块、任务创建模块、GPU数据广播模块、通用并行架构模块和GPU运行模块;GPU任务判断模块用于判断查询请求是否能完全或部分运行;任务创建模块用于创建需运行的查询任务;GPU数据广播模块,用于对多个GPU模块之间建立数据广播链路并同步数据传输消息;通用并行架构模块用于协调多个查询任务同时运行;GPU运行模块运行查询任务并返回数据。/n

【技术特征摘要】
1.一种基于GPU的大数据快速检索系统,其特征在于:包括:
分布式数据存储模块,包括多个分布式数据库节点,用于存储数据;
多个GPU模块,连接于每个分布式数据库节点,GPU模块包括GPU任务判断模块、任务创建模块、GPU数据广播模块、通用并行架构模块和GPU运行模块;GPU任务判断模块用于判断查询请求是否能完全或部分运行;任务创建模块用于创建需运行的查询任务;GPU数据广播模块,用于对多个GPU模块之间建立数据广播链路并同步数据传输消息;通用并行架构模块用于协调多个查询任务同时运行;GPU运行模块运行查询任务并返回数据。


2.根据权利要求1所述的一种基于GPU的大数据快速检索系统,其特征在于:任务创建模块中,创建运行任务过程包括创建GPU本地二进制文件的源代码,在执行阶段前启动即时编译进程。


3.根据权利要求1所述的一种基于GPU的大数据快速检索系统,其特征在于:GPU运行模块中,运行过程包括提取数据行集装载入直接存储器存储缓存并异步启动存储器传输和GPU内核执行。


4.根据权利要求1所述的一种基于GPU的大数据快速检索系统,其特征在于:分布式数据库节点输出的数据为列式存储数据表。


5.根据权利要求1所述的一种基于GPU的大数据快速检索系统,其特征在于:GPU运行模块中,还包括过滤、聚合和分组三种处理方式。


6.根据权利要求1所述的一种基于GPU的大数据快速检索系统,其特征在于:GPU任务判断模块包括GPU处理器和CPU处理器,用于分配任务、判断运行成本和判断运行任务量。


7.根据权利要求1所述的一种基于GPU的大数据快速检索系统,其特征...

【专利技术属性】
技术研发人员:许强应晶方敏余小益付超马新强张智林
申请(专利权)人:创业慧康科技股份有限公司江阴市人民医院浙江医康数据科技研究院有限公司
类型:发明
国别省市:浙江;33

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

1