[发明专利]一种基于GPU的Spark SQL加速方法在审
申请号: | 202310417348.X | 申请日: | 2023-04-19 |
公开(公告)号: | CN116303550A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 周昊程;吴鹏;刘友春;李禹梁;侯晓泽;齐亚东 | 申请(专利权)人: | 江苏电力信息技术有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F9/50;G06F9/48;G06F16/22 |
代理公司: | 南京汇盛专利商标事务所(普通合伙) 32238 | 代理人: | 陈扬 |
地址: | 210024 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu spark sql 加速 方法 | ||
本发明公开一种基于GPU的Spark SQL加速方法,包括以下步骤:Spark SQL由投影、数据和条件组成,分别对应SQL查询过程中的结果、数据和操作,SQL语句按结果、数据和操作次序来描述;对读入的SQL语句进行解析,分辨出SQL语句中的关键词、表达式,从而判断SQL语句是否规范,进而形成执行树,将执行树和数据字典进行绑定和执行,在这些计划中选择一个最优计划执行。GPU使用Cuda语句可实现SQL中常用的数据组合、排序等操作,从而对数据查询等操作实现大幅加速。本发明将GPU与Spark平台相结合,将SQL的运算操作从CPU转移到GPU执行,实现对Spark SQL运算的提速。无需应用修改代码,无需额外增加服务器节点,可以直接节省硬件投资和系统维护成本。
技术领域
本发明属计算机技术领域,涉及一种基于GPU的Spark SQL加速方法。
背景技术
随着机器学习和Web服务的规模在指数级增长,通用处理器(CPU)的处理能力越来难满足庞大而复杂的计算需求。由于通用CPU执行单元可以执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。这样使得CPU具有通用处理能力的同时也牺牲了一定的运算处理能力。
进行大规模数据科学研究通常需要包含数千台服务器的集群,运行工作负载和查询可能需要数小时或数天,在带有GPU加速的服务器运行相同规模的工作负载只需要其中一小部分基础设施,在几分钟甚至几秒钟内得到结果。
在大规模的数据查询中,最常用的方法就是使用SQL查询。从标准的关系型数据库,到Hadoop、Spark大数据框架,SQL的应用十分广泛。GPU使用Cuda语句可实现SQL中常用的数据组合、排序等操作,从而对数据查询等操作实现大幅加速。针对这一问题,迫切需要开发一种全新的数据加速处理方法,以满足实际工作的需要。
发明内容
针对现有技术上存在的不足,本发明提供一种基于GPU的Spark SQL加速方法,以克服现有同类产品生产中存在的不足,满足实际使用的需要。
为了达到上述目的,本发明提供如下技术方案:
一种基于GPU的Spark SQL加速方法,包括以下步骤:
S1,Spark SQL由投影、数据和条件组成,分别对应SQL查询过程中的结果、数据和操作,SQL语句按结果、数据和操作次序来描述;
S2,对读入的SQL语句进行解析,分辨出SQL语句中的关键词、表达式等,从而判断SQL语句是否规范,进而形成执行树,将执行树和数据字典进行绑定和执行,在这些计划中选择一个最优计划执行;
S3,基于Spark SQL架构,引入GPU通信管理模块和GPU加速模块实现通过GPU对SQL的处理进行加速,主要包括对CPU与GPU之间的协作管理,数据交换优化,可伸缩的分布式数据集RDD(Resilient Distributed Dataset)执行操作的优化和通过Cuda编程实现表的操作,具体到对表的操作有连接、扫描和排序操作,采用Cuda实现,以实现对表操作的加速。
本发明中,利用Spark GPU适配模块,发现系统GPU资源,支持spark standalone模式部署的集群,发现worker节点中存在的GPU资源,spark任务调度器在执行spark SQL任务时,发现worker节点存在GPU资源,优先调度使用该节点GPU完成计算任务。
利用GPU通信管理模块,实现GPU与CPU之间的通信工作,GPU与CPU通过PCIe总线进行数据交换,流程是GPU开辟设备内存,CPU将内存中需要计算的数据拷贝给GPU,运行GPU核函数并发执行运算,运算完成后通过DMA方式将计算结果通过PCIe总线从GPU内存拷贝到主机内存。
在GPU核函数中实现Scan、Join和Group by三类SQL操作,在执行过程中将操作请求进行合并,减少CPU和GPU之间的数据交互。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏电力信息技术有限公司,未经江苏电力信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310417348.X/2.html,转载请声明来源钻瓜专利网。