[发明专利]一种数据处理方法、装置、设备及可读存储介质有效
申请号: | 202210077002.5 | 申请日: | 2022-01-24 |
公开(公告)号: | CN114090592B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 刘科;张闯;孙颉;任智新;孙忠祥 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/28 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 姚莹丽 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 设备 可读 存储 介质 | ||
本申请公开了一种数据处理方法、装置、设备及可读存储介质。本申请将目标表达式转换为二叉树加链表的数据结构后,为该数据结构的每个节点的操作数分配不同的FPGA缓存区,并标记该数据结构中的原始节点;然后创建原始操作数映射表,针对数据结构的每个层分别生成指令,将原始操作数映射表和生成的指令发送至FPGA,FPGA根据原始操作数映射表将每个节点的操作数拷贝至相应FPGA缓存区,并根据生成的指令读取原始节点对应的FPGA缓存区中的原始操作数后,从数据结构的底层开始并行处理数据结构中处于同一层的操作码,从而针对同一层的操作码并行处理,因此提升了表达式并行处理效率。本申请提供的一种数据处理装置、设备及可读存储介质,也同样具有上述技术效果。
技术领域
本申请涉及计算机技术领域,特别涉及一种数据处理方法、装置、设备及可读存储介质。
背景技术
在传统的CPU(Central Processing Unit,中央处理器)编码方案中,数据库可以将表达式编码为二叉树加链表的数据结构,并通过对二叉树加链表的数据结构的遍历串行处理各个节点的操作码。尽管CPU编码方案中可以针对每个节点,以SIMD(SingleInstruction Multiple Data)方式实现该节点中多个操作码的并行处理。但对于复杂的表达式,仍需要逐个执行操作码,无法实现多个操作码的并行处理。SIMD即单指令多数据,在一条指令内批量操作多个数据。
目前,可以借助FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)提升处理速度,但现有FPGA进行异构加速的方案中利用真值表仅能针对与、或、非等逻辑操作码并行处理,不能支持对比较、计算等表达的执行。其它方案中在FPGA中实现固定的查询语句的模板来实现异构加速,不能支持表达式的动态变化,限制了FPGA的异构加速使用场景。
因此,如何提高FPGA针对表达式的并行处理效率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据处理方法、装置、设备及可读存储介质,以提高FPGA针对表达式的并行处理效率。其具体方案如下:
第一方面,本申请提供了一种数据处理方法,包括:
获取目标表达式,并将所述目标表达式转换为二叉树加链表的数据结构;
遍历所述数据结构,为所述数据结构的每个节点的操作数分配一个FPGA缓存区,并标记所述数据结构中的原始节点;
创建原始操作数映射表,并针对所述数据结构的每个层分别生成指令;
将所述原始操作数映射表和生成的指令发送至FPGA,以使所述FPGA根据所述原始操作数映射表将每个节点的操作数拷贝至相应FPGA缓存区,并根据生成的指令读取所述原始节点对应的FPGA缓存区中的原始操作数后,从所述数据结构的底层开始并行处理所述数据结构中处于同一层的操作码。
优选地,所述遍历所述数据结构,包括:
对所述数据结构进行前序遍历。
优选地,所述为所述数据结构的每个节点的操作数分配一个FPGA缓存区,包括:
将FPGA缓存划分为固定大小的多个FPGA缓存区,并为每个FPGA缓存区分配缓存索引;
为所述数据结构的每个节点的操作数分配一个缓存索引,并以数组方式进行记录。
优选地,为不同节点分配的各FPGA缓存区连续。
优选地,所述原始操作数映射表用于记录:各个原始操作数与相应FPGA缓存区之间的映射关系。
优选地,任一个指令包括至少一个操作码,任一操作码对应有操作函数及操作数所在的FPGA缓存区的缓存索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210077002.5/2.html,转载请声明来源钻瓜专利网。