一种数据处理方法、装置、电子设备和存储介质制造方法及图纸

技术编号:36748184 阅读:12 留言:0更新日期:2023-03-04 10:32
本申请涉及区块链技术领域,提出一种数据处理方法、装置、电子设备和存储介质。该方法包括:区块链节点若接收到需要依次执行的至少二个数据处理任务,则控制CPU将对应的待处理数据复制至GPU;控制GPU基于待处理数据依次执行与上述至少二个数据处理任务对应的数据处理操作,得到最终的数据处理结果,并将该数据处理结果复制至CPU。通过这样设置,假设上述至少二个数据处理任务为N个,则该N个数据处理任务在执行时只需经历一次将数据由CPU复制至GPU,再由GPU复制至CPU的过程即可,而无需经历N次这个过程,因此能够降低异构设备之间的IO开销。销。销。

【技术实现步骤摘要】
一种数据处理方法、装置、电子设备和存储介质


[0001]本申请涉及区块链
,尤其涉及一种数据处理方法、装置、电子设备和存储介质。

技术介绍

[0002]目前,为了提升区块链节点的计算能力,通常会使用GPU(Graphics Processing Unit,图形处理器)等器件作为协处理器,将原本由CPU执行的部分数据处理操作(例如哈希值计算、数据加解密和签名验证等计算密集型操作)迁移至GPU执行。利用GPU强大的并行计算能力,能够实现远超CPU的数据处理吞吐量以及获得更低的数据处理延迟。
[0003]在上述过程中,CPU在接收到某个数据处理任务后,会将待处理数据复制至GPU;之后,由GPU基于该待处理数据执行相应的数据处理操作,得到数据处理结果,并将该数据处理结果复制至CPU。
[0004]显然,每个数据处理任务在执行时都会经历一次将数据由CPU复制至GPU,再由GPU复制至CPU的过程,如果接收到的数据处理任务过多,则会导致较大的异构设备之间的IO开销。

技术实现思路

[0005]有鉴于此,本申请实施例提供了一种数据处理方法、装置、电子设备和存储介质,在将区块链节点的数据处理操作由CPU迁移至GPU执行时,能够降低异构设备之间的IO开销。
[0006]本申请实施例的第一方面提供了一种应用于目标区块链节点的数据处理方法,包括:
[0007]若接收到需要依次执行的至少二个数据处理任务,则控制所述目标区块链节点的CPU将所述至少二个数据处理任务对应的待处理数据复制至所述目标区块链节点的GPU;
[0008]控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,得到数据处理结果,并将所述数据处理结果复制至所述CPU。
[0009]在本申请实施例中,如果区块链节点接收到需要依次执行的至少二个数据处理任务,则首先将对应的待处理数据由CPU复制至GPU,之后控制GPU依次执行与上述至少二个数据处理任务对应的数据处理操作,得到最终的数据处理结果,最后将该数据处理结果复制至CPU。通过这样设置,假设上述至少二个数据处理任务为N个,则该N个数据处理任务在执行时只需经历一次将数据由CPU复制至GPU,再由GPU复制至CPU的过程即可,而无需经历N次这个过程,因此能够降低异构设备之间的IO开销。
[0010]在本申请实施例的一种实现方式中,在控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作之前,还可以包括:
[0011]控制所述CPU根据所述至少二个数据处理任务创建执行路径,所述执行路径记录所述GPU在执行所述数据处理操作时依次执行的各个操作,所述各个操作依次为将数据由
CPU复制至GPU、所述至少二个数据处理任务对应的数据处理操作以及将数据由GPU复制至CPU;
[0012]控制所述CPU将所述执行路径发送至所述GPU;
[0013]所述控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,可以包括:
[0014]控制所述GPU读取所述执行路径,并依次执行所述执行路径中记录的所述各个操作。
[0015]在本申请实施例的一种实现方式中,所述GPU具有多个数据复制引擎;所述控制所述目标区块链节点的CPU将所述至少二个数据处理任务对应的待处理数据复制至所述目标区块链节点的GPU,可以包括:
[0016]控制所述CPU按照所述数据复制引擎的数量创建多个数据流;
[0017]控制所述CPU将所述待处理数据划分为多个部分的数据,并使用所述多个数据流将所述多个部分的数据独立且异步地复制至所述GPU。
[0018]在本申请实施例的一种实现方式中,在控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,得到数据处理结果,并将所述数据处理结果复制至所述CPU之后,还可以包括:
[0019]若接收到指定的异步事件,则控制所述CPU对所述数据处理结果进行验证处理。
[0020]在本申请实施例的一种实现方式中,所述数据处理方法还可以包括:
[0021]使用GPUDirect RDMA技术创建所述目标区块链节点的GPU和其它区块链节点的GPU之间的通信连接;其中,所述其它区块链节点为所述目标区块链节点所属的区块链中除所述目标区块链节点之外的节点。
[0022]进一步的,在使用GPUDirect RDMA技术创建所述目标区块链节点的GPU和其它区块链节点的GPU之间的通信连接之后,还可以包括:
[0023]若所述目标区块链节点的GPU通过所述通信连接,接收到由所述其它区块链节点的GPU发送的交易数据,则控制所述目标区块链节点的GPU将所述交易数据保存至所述目标区块链节点的GPU显存;
[0024]控制所述目标区块链节点的GPU对所述GPU显存中保存的所述交易数据进行验签操作;
[0025]控制所述目标区块链节点的GPU将验签通过的所述交易数据复制至所述CPU的内存。
[0026]在本申请实施例的一种实现方式中,所述目标区块链节点具有基于PCIE的硬件加速设备;所述数据处理方法还可以包括:
[0027]使用GPUDirect RDMA技术创建所述目标区块链节点的GPU和所述硬件加速设备之间的通信连接。
[0028]本申请实施例的第二方面提供了一种应用于目标区块链节点的数据处理装置,包括:
[0029]待处理数据复制模块,用于若接收到需要依次执行的至少二个数据处理任务,则控制所述目标区块链节点的CPU将所述至少二个数据处理任务对应的待处理数据复制至所述目标区块链节点的GPU;
[0030]数据处理模块,用于控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,得到数据处理结果,并将所述数据处理结果复制至所述CPU。
[0031]本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的数据处理方法。
[0032]本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的数据处理方法。
[0033]本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如本申请实施例的第一方面提供的数据处理方法。
[0034]可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
[0035]图1是本申请实施例提供的一种数据处理方法的流程图;
[0036]图2是通过多流机制实现数据传输与内核执行叠加的操作示意图;
[0037]图3是将计算密集型操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,应用于目标区块链节点,其特征在于,所述方法包括:若接收到需要依次执行的至少二个数据处理任务,则控制所述目标区块链节点的CPU将所述至少二个数据处理任务对应的待处理数据复制至所述目标区块链节点的GPU;控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,得到数据处理结果,并将所述数据处理结果复制至所述CPU。2.如权利要求1所述的数据处理方法,其特征在于,在控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作之前,还包括:控制所述CPU根据所述至少二个数据处理任务创建执行路径,所述执行路径记录所述GPU在执行所述数据处理操作时依次执行的各个操作,所述各个操作依次为将数据由CPU复制至GPU、所述至少二个数据处理任务对应的数据处理操作以及将数据由GPU复制至CPU;控制所述CPU将所述执行路径发送至所述GPU;所述控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,包括:控制所述GPU读取所述执行路径,并依次执行所述执行路径中记录的所述各个操作。3.如权利要求1所述的数据处理方法,其特征在于,所述GPU具有多个数据复制引擎;所述控制所述目标区块链节点的CPU将所述至少二个数据处理任务对应的待处理数据复制至所述目标区块链节点的GPU,包括:控制所述CPU按照所述数据复制引擎的数量创建多个数据流;控制所述CPU将所述待处理数据划分为多个部分的数据,并使用所述多个数据流将所述多个部分的数据独立且异步地复制至所述GPU。4.如权利要求1所述的数据处理方法,其特征在于,在控制所述GPU基于所述待处理数据依次执行与所述至少二个数据处理任务对应的数据处理操作,得到数据处理结果,并将所述数据处理结果复制至所述CPU之后,还包括:若接收到指定的异步事件,则控制所述CPU对所述数据处理结果进行验证处理。5.如权利要求1所述的数据处理方法,其特征在于,还包括:使用GP...

【专利技术属性】
技术研发人员:邱炜伟黄方蕾崔璨尚璇张珂杰
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1