基于联邦学习的数据传输优化方法、设备及可读存储介质与流程

文档序号:25420225发布日期:2021-06-11 21:31阅读:142来源:国知局
基于联邦学习的数据传输优化方法、设备及可读存储介质与流程

本申请涉及通信技术领域,尤其涉及一种基于联邦学习的数据传输优化方法、设备及可读存储介质。



背景技术:

随着计算机技术的不断发展,通信技术的发展也越来越快,目前,在进行数据传输时,通常是由数据发送方的cpu设备直接发送至数据接收方的cpu设备执行计算任务,在联邦学习场景中,由于数据通常为数据位宽极大的密态数据,cpu设备的算力往往无法满足联邦学习的要求,进而联邦学习的各参与方通常具备各自的硬件加速方案,例如,基于gpu硬件的并行加速计算方案和基于fpga硬件的并行加速计算方案等,进而在联邦学习异构框架中,各参与方的不同类型硬件设备进行数据传输时的兼容性较差。



技术实现要素:

本申请的主要目的在于提供一种基于联邦学习的数据传输优化方法、设备及可读存储介质,旨在解决现有技术中联邦学习异构框架中不同类型硬件设备进行数据传输时兼容性差的技术问题。

为实现上述目的,本申请提供一种基于联邦学习的数据传输优化方法,所述基于联邦学习的数据传输优化方法应用于第一设备,所述基于联邦学习的数据传输优化方法包括:

获取待传输数据,并将所述待传输数据转换为携带第一硬件设备信息的待传输比特流;

将所述待传输比特流发送至第二设备,以供所述第二设备基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,并拷贝至所述第二硬件设备信息对应的目标设备内存。

为实现上述目的,本申请提供一种基于联邦学习的数据传输优化方法,所述基于联邦学习的数据传输优化方法应用于第二设备,所述基于联邦学习的数据传输优化方法包括:

接收第一设备发送的待传输比特流,并对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流;

获取第二硬件设备信息,并基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据;

将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

为实现上述目的,本申请提供一种基于联邦学习的数据传输优化方法,所述基于联邦学习的数据传输优化方法应用于第一设备,所述基于联邦学习的数据传输优化方法包括:

接收第二设备发送的第二硬件设备信息,并获取待传输数据以及第一硬件设备信息;

基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流;

将所述待传输比特流发送至第二设备,以供第二设备将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据。

为实现上述目的,本申请提供一种基于联邦学习的数据传输优化方法,所述基于联邦学习的数据传输优化方法应用于第二设备,所述基于联邦学习的数据传输优化方法包括:

获取第二硬件设备信息,并将所述第二硬件设备信息发送至第一设备,以供所述第一设备基于待传输数据对应的第一硬件设备信息与第二硬件设备信息,将所述待传输数据转换为适配于所述第二硬件设备信息的待传输比特流;

接收所述待传输比特流,并将所述待传输比特流转换为目标格式数据;

将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

本申请还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置为虚拟装置,且所述基于联邦学习的数据传输优化装置应用于第一设备,所述基于联邦学习的数据传输优化装置包括:

转换模块,用于获取待传输数据,并将所述待传输数据转换为携带第一硬件设备信息的待传输比特流;

发送模块,用于将所述待传输比特流发送至第二设备,以供所述第二设备基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,并拷贝至所述第二硬件设备信息对应的目标设备内存。

本申请还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置为虚拟装置,且所述基于联邦学习的数据传输优化装置应用于第二设备,所述基于联邦学习的数据传输优化装置包括:

反序列化模块,用于接收第一设备发送的待传输比特流,并对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流;

转换模块,用于获取第二硬件设备信息,并基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据;

内存拷贝模块,用于将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

本申请还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置为虚拟装置,且所述基于联邦学习的数据传输优化装置应用于第一设备,所述基于联邦学习的数据传输优化装置包括:

接收模块,用于接收第二设备发送的第二硬件设备信息,并获取待传输数据以及第一硬件设备信息;

转换模块,用于基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流;

发送模块,用于将所述待传输比特流发送至第二设备,以供第二设备将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据。

本申请还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置为虚拟装置,且所述基于联邦学习的数据传输优化装置应用于第二设备,所述基于联邦学习的数据传输优化装置包括:

发送模块,用于获取第二硬件设备信息,并将所述第二硬件设备信息发送至第一设备,以供所述第一设备基于待传输数据对应的第一硬件设备信息与第二硬件设备信息,将所述待传输数据转换为适配于所述第二硬件设备信息的待传输比特流;

转换模块,用于接收所述待传输比特流,并将所述待传输比特流转换为目标格式数据;

内存拷贝模块,用于将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

本申请还提供一种基于联邦学习的数据传输优化设备,所述基于联邦学习的数据传输优化设备为实体设备,所述基于联邦学习的数据传输优化设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述基于联邦学习的数据传输优化方法的程序,所述基于联邦学习的数据传输优化方法的程序被处理器执行时可实现如上述的基于联邦学习的数据传输优化方法的步骤。

本申请还提供一种可读存储介质,所述可读存储介质上存储有实现基于联邦学习的数据传输优化方法的程序,所述基于联邦学习的数据传输优化方法的程序被处理器执行时实现如上述的基于联邦学习的数据传输优化方法的步骤。

本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的基于联邦学习的数据传输优化方法的步骤。

本申请提供了一种基于联邦学习的数据传输优化方法、设备及可读存储介质,相比于现有技术采用的由数据发送方的cpu设备直接发送至数据接收方的cpu设备执行计算任务的技术手段,本申请首先获取待传输数据,进而将所述待传输数据转换为携带第一硬件设备信息的待传输比特流,进而将所述待传输比特流发送至第二设备,其中,由于待传输比特流中携带第一硬件设备信息,进而所述第二设备即可基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,实现了在进行数据传输时,数据接收方根据数据发送方的硬件设备信息,智能决策如何将待传输比特流转换为适配于所述第二硬件设备信息对应的目标格式数据的目的,进而第二设备可直接将目标格式数据拷贝至所述第二硬件设备信息对应的硬件加速设备执行计算任务,实现了兼容各联邦参与方的不同类型硬件设备进行数据传输的目的,所以,克服了在联邦学习异构框架中,各参与方的不同类型硬件设备进行数据传输时的兼容性较差的技术缺陷,提升了联邦学习异构框架中不同类型硬件设备进行数据传输时的兼容性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请基于联邦学习的数据传输优化方法第一实施例的流程示意图;

图2为本申请基于联邦学习的数据传输优化方法第二实施例的流程示意图;

图3为本申请基于联邦学习的数据传输优化方法第三实施例的流程示意图;

图4为本申请基于联邦学习的数据传输优化方法第四实施例的流程示意图;

图5为本申请基于联邦学习的数据传输优化方法中第一设备和第二设备进行通信交互的示意图;

图6为本申请实施例中基于联邦学习的数据传输优化方法涉及的硬件运行环境的设备结构示意图。

本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例提供一种基于联邦学习的数据传输优化方法,在本申请基于联邦学习的数据传输优化方法的第一实施例中,所述基于联邦学习的数据传输优化方法应用于第一设备,参照图1,所述基于联邦学习的数据传输优化方法包括:

步骤s10,获取待传输数据,并将所述待传输数据转换为携带第一硬件设备信息的待传输比特流;

在本实施例中,需要说明的是,所述基于联邦学习的数据传输优化方法应用于联邦学习异构框架,其中,在联邦学习异构框架下的每一联邦学习参与方至少包括cpu设备、gpu设备以及fpga设备中的一种,其中,数据通常存储于cpu设备,在gpu设备与fpga设备执行并行计算任务时,需要将数据通过内存拷贝的方式拷贝到gpu显存和fpga设备的内存。

本申请实施例中整个数据传输过程为首先由第一设备的硬件加速设备产生数据,进而将数据经内存拷贝至第一设备的cpu内存,进而由第一设备的cpu内存发送至第二设备的cpu内存,进而由第二设备的cpu内存经内存拷贝至第二设备的硬件加速设备的设备内存,进而完成数据传输过程,例如,假设所述第一设备的硬件加速设备为gpu设备,所述第二设备的硬件加速设备为fpga设备,则数据传输过程可表示为由gpu显存至第一设备的cpu内存,再由第一设备的cpu内存至第二设备的cpu内存,最后由第二设备的cpu内存至fpga设备的设备内存。

另外地,需要说明的时,所述待传输数据为存储在cpu内存的等待进行数据传输的数据,所述待传输数据由硬件设备执行计算任务后生成,其中,不同类型的硬件设备生成的待传输数据的数据格式通常不同,其中,所述数据格式包括内存存储模式和数据地址对齐模式等,例如,cpu设备产生的数据的内存存储模式通常为交换页内存模式,gpu设备产生的数据的内存存储模式通常为页锁定内存模式,fpga设备产生的数据的数据地址对齐模型通常为特定字节对齐模式,例如4096字节等。

获取待传输数据,并将所述待传输数据转换为携带第一硬件设备信息的待传输比特流,具体地,在cpu内存中获取待传输数据,并确定产生所述待传输数据的数据产生硬件设备,并将所述数据产生硬件设备对应的设备标识作为第一硬件设备信息,进而将所述第一硬件设备信息转换为第一比特流,将所述待传输数据转换为第二比特流,进而将所述第一比特流和所述第二比特流进行拼接,获得携带第一硬件设备信息的待传输比特流,例如,假设所述第一硬件设备信息对应的第一比特流为0101,所述待传输数据对应的第二比特流为1010101010,则所述待传输比特流为01011010101010。

其中,所述将所述待传输数据转换为携带第一硬件设备信息的待传输比特流的步骤包括:

步骤s11,在预设应用层中对所述第一硬件设备信息进行序列化,获得第一序列化数据;

在本实施例中,需要说明的是,所述预设应用层为语言环境为上层编程语言的cpu设备的上层,其中,所述上层编程语言包括python语言以及java语言等,相对地,所述cpu设备的底层的语言环境为c语言。

在预设应用层中对所述第一硬件设备信息进行序列化,获得第一序列化数据,具体地,在预设应用层的上层编程语言的环境下,对所述第一硬件设备信息进行序列化,以将所述第一硬件设备信息转换为比特流,获得第一序列化数据。

步骤s12,对所述待传输数据进行第二次序列化,获得第二序列化数据;

在本实施例中,对所述待传输数据进行第二次序列化,获得第二序列化数据,具体地,在c语言环境下,对所述待传输数据进行第二次序列化,以将所述待传输数据转换为比特流,获得第二序列化数据。

步骤s13,将所述第一序列化数据和所述第二序列化数据进行拼接,获得所述携带第一硬件设备信息的待传输比特流。

在本实施例中,需要说明的是,所述第一序列化为第一硬件设备信息对应的第一比特流,所述第二序列化数据为待传输数据对应的第二比特流。

将所述第一序列化数据和所述第二序列化数据进行拼接,获得所述携带第一硬件设备信息的待传输比特流,具体地,将所述第一比特流与所述第二比特流进行拼接,获得所述携带第一硬件设备信息的待传输比特流。

步骤s20,将所述待传输比特流发送至第二设备,以供所述第二设备基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,并拷贝至所述第二硬件设备信息对应的目标设备内存。

在本实施例中,需要说明的是,所述第一设备和所述第二设备为联邦学习中需要进行数据传输的设备,所述第一设备和所述第二设备既可以为联邦学习的参与方,也可以为联邦学习的协调方,所述数据转换方式为基于所述第一硬件设备信息和所述第二硬件设备信息共同确定的数据格式转换方式,用于将适配于所述第一硬件设备信息的数据格式的数据对应的比特流转换为适配于所述第二硬件设备信息的数据格式的数据,例如,将适配于cpu的数据格式的数据对应的比特流转换为适配于gpu的数据格式的数据,以及将适配于cpu的数据格式的数据对应的比特流转换为适配于fpga的数据格式的数据等。

将所述待传输比特流发送至第二设备,以供所述第二设备基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,并拷贝至所述第二硬件设备信息对应的目标设备内存,具体地,将所述待传输比特流传输至第二设备的cpu内存,进而第二设备首先在上层编程语言环境下,对所述待传输比特流进行反序列化,获得第一硬件设备信息和第二比特流,进而第二设备获取第二硬件设备信息,其中,所述第二硬件设备信息为第二设备中执行计算任务的目标硬件加速设备的设备标识,进而匹配所述第一硬件设备信息和所述第二硬件设备信息共同对应的目标反序列化函数,进而通过调用所述目标反序列化函数,将所述第二比特流转换为适配于所述第二硬件设备信息对应的目标硬件加速设备的数据格式的目标格式数据,以加快目标格式数据由cpu内存拷贝至目标硬件加速设备的设备内存的速度,进而将所述目标格式数据由cpu内存拷贝至所述目标硬件加速设备对应的设备内存中执行计算任务,其中,需要说明的是,所述反序列化函数为具备反序列化能力和数据格式转换能力的函数,用于将比特流转换为特定数据格式的数据,且不同的第一硬件设备信息和第二硬件设备信息的组合共同对应不同类型的反序列化函数,例如,假设若所述第一硬件设备信息为cpu设备的设备标识,第二硬件设备信息为gpu设备的设备标识,则cpu设备的设备标识与gpu设备的设备标识共同对应第一类型反序列化函数具备的数据格式转换能力为将数据的内存存储模式由交换页内存模式转换为页锁定内存模式,其中,需要说明的是,若内存存储模式为交换页内存模式,则需要进行2次内存拷贝才能将数据由于cpu内存拷贝至gpu显存,而若内存存储模式为页锁定内存模式,则只需进行一次内存拷贝,即可将数据由cpu内存拷贝至gpu显存,若所述第一硬件设备信息为cpu设备的设备标识,第二硬件设备信息为fpga设备的设备标识,则cpu设备的设备标识与fpga设备的设备标识共同对应第二类型反序列化函数具备的数据格式转换能力为将数据的数据地址对齐模式由8字节或者16字节改为特定字节数,例如4096字节等,以加快数据从cpu设备拷贝至fpga设备的速度。

另外地,需要说明的是,本申请实施例中的数据优化方法在兼容了多方的不同类型的硬件设备之间的数据传输的同时,数据接收方基于硬件设备信息,可确定反序列化函数信息,进而基于反序列函数信息可智能选择对应的目标反序列化函数,进而实现了智能决策选择对应的反序列化函数的目的,进而基于目标反序列化函数,即可将数据发送方发送的比特流反序列化为适配于数据接收方的目标硬件加速设备的数据格式的目标格式数据,实现了在反序列化的同时,将第一设备发送的比特流直接转换为适配于目标硬件加速设备的数据格式的数据的目的,进而加快了将数据由cpu拷贝至目标硬件加速设备的设备内存的速度。

本申请实施例提供了一种基于联邦学习的数据传输优化方法,相比于现有技术采用的由数据发送方的cpu设备直接发送至数据接收方的cpu设备执行计算任务的技术手段,本申请实施例首先获取待传输数据,进而将所述待传输数据转换为携带第一硬件设备信息的待传输比特流,进而将所述待传输比特流发送至第二设备,其中,由于待传输比特流中携带第一硬件设备信息,进而所述第二设备即可基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,实现了在进行数据传输时,数据接收方根据数据发送方的硬件设备信息,智能决策如何将待传输比特流转换为适配于所述第二硬件设备信息对应的目标格式数据的目的,进而第二设备可直接将目标格式数据拷贝至所述第二硬件设备信息对应的硬件加速设备执行计算任务,实现了兼容各联邦参与方的不同类型硬件设备进行数据传输的目的,所以,克服了在联邦学习异构框架中,各参与方的不同类型硬件设备进行数据传输时的兼容性较差的技术缺陷,提升了联邦学习异构框架中不同类型硬件设备进行数据传输时的兼容性。

基于本申请第一实施例,参照图2,在本申请基于联邦学习的数据传输优化方法的另一实施例中,所述基于联邦学习的数据传输优化方法应用于第二设备,所述基于联邦学习的数据传输优化方法包括:

步骤a10,接收第一设备发送的待传输比特流,并对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流;

在本实施例中,需要说明的是,所述待传输比特流为第一硬件设备信息对应的第一比特流和待传输数据对应的第二比特流拼接而成,其中,所述第一比特流是在上层编程语言环境下对第一硬件设备信息进行序列化生成的,所述第二比特流是在c语言环境下对待传输数据进行序列化生成的,其中,第一设备中的生成待传输比特流的过程具体可参照步骤s11至步骤s13,在此不再赘述。

接收第一设备发送的待传输比特流,并对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流,具体地,接收第一设备发送的待传输比特流,并在上层编程语言环境下对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流,其中,所述待转换比特流即为第二比特流,而由于所述第一比特流是在上层编程语言环境下对第一硬件设备信息进行序列化生成的,所述第二比特流是在c语言环境下对待传输数据进行序列化生成的,进而在上层编程语言环境下进行反序列化,则将待传输比特流的第一比特流的部分转换为数据,也即为第一硬件设备信息,无法将第二比特流转换为数据。

步骤a20,获取第二硬件设备信息,并基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据;

在本实施例中,获取第二硬件设备信息,并基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据,具体地,获取第二硬件设备信息,其中,所述第二硬件设备信息为第二设备中执行计算任务的目标硬件加速设备的设备标识,进而匹配所述第一硬件设备信息和所述第二硬件设备信息共同对应的目标反序列化函数,进而通过调用所述目标反序列化函数,将所述待转换比特流转换为适配于所述第二硬件设备信息对应的目标硬件加速设备的数据格式的目标格式数据,以加快目标格式数据由cpu内存拷贝至目标硬件加速设备的设备内存的速度,进而将所述目标格式数据由cpu内存拷贝至所述目标硬件加速设备对应的设备内存中执行计算任务。

其中,所述基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据的步骤包括:

步骤a21,基于所述第一硬件设备信息和所述第二硬件设备信息,确定反序列化函数信息;

在本实施例中,基于所述第一硬件设备信息和所述第二硬件设备信息,确定反序列化函数信息,具体地,将所述第一硬件设备信息与所述第二硬件设备信息进行拼接,获得反序列化函数信息,例如,假设所述第一硬件设备信息为a,所述第二硬件设备信息为b,则所述反序列化函数信息为(a,b)。

步骤a22,通过调用所述反序列函数信息对应的目标反序列化函数,对所述待转换比特流进行第二次反序列化,获得所述目标格式数据。

在本实施例中,通过调用所述反序列函数信息对应的目标反序列化函数,对所述待转换比特流进行第二次反序列化,获得所述目标格式数据,具体地,基于所述反序列化函数信息,智能决策调用对应的目标反序列化函数,例如以所述反序列化函数信息为索引,通过查询所述反序列化函数信息对应的目标反序列化函数,智能调用目标反序列化函数等,进而依据所述目标反序列化函数,对所述待转换比特流进行第二次反序列化,以将所述待转换比特流转换为适配于所述第二硬件设备信息对应的目标硬件加速设备的数据格式的数据,获得目标格式数据,其中,需要说明的是,不同类型的反序列化函数转换出来的数据的数据格式不同,具体可参照步骤s20中的具体内容,在此不再赘述。

步骤a30,将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

在本实施例中,需要说明的是,所述目标硬件加速设备包括gpu设备和fpga设备,且由于目标格式数据的数据格式已和目标硬件加速设备相适配,进而在进行内存拷贝时,可提升内存拷贝的速度,例如,当目标硬件加速设备为gpu设备时,则目标格式数据的内存存储模式为页锁定内存模式,相比于适配于cpu设备的数据格式的交换页内存模式,由cpu内存至gpu显存的内存拷贝效率更高,当目标硬件加速设备为fpga设备时,则目标格式数据的数据地址对齐模式为特定字节数对齐,例如4096字节,相比于适配于cpu设备的数据格式的8字节或者16字节对齐,可直接将目标格式数据以更快的速度拷贝至fpga设备的内存,所以,提升内存拷贝的效率。

另外地,需要说明的是,由于目标格式数据是通过反序列化直接生成的,进而实现了在反序列化时间接转换待传输数据的数据格式的目的,无需增加其他的计算量,减少了数据转换的过程,进而提升了数据传输的效率,例如,当目标硬件加速设备为gpu设备时,直接在反序列化是将数据反序列化为页锁定内存模式,当目标硬件加速设备为fpga设备时,则将反序列化生成的数据直接反序列化为4096字节数据地址对齐的目标格式数据等,无需增加其他的数据计算或者内存拷贝过程,所以,提升了数据传输效率。

本申请实施例提供了一种基于联邦学习的数据传输优化方法,也即,接收第一设备发送的待传输比特流,并对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流,进而获取第二硬件设备信息,并基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据,进而将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务,进而实现了在兼容各通信站点的不同类型硬件设备的数据传输的同时,使得数据接收方可智能决策选择目标反序列化函数,进而依据目标反序列化函数,将待传输比特流转换适配于数据接收方的目标硬件加速设备的目标格式数据,进而使得目标格式数据可以更高的效率由cpu内存拷贝至目标硬件加速设备的内存,提升了数据拷贝效率,进而提升了数据传输效率。

基于本申请第一实施例和第二实施例,参照图3,在本申请基于联邦学习的数据传输优化方法的另一实施例中,所述基于联邦学习的数据传输优化方法应用于第一设备,所述基于联邦学习的数据传输优化方法包括:

步骤b10,接收第二设备发送的第二硬件设备信息,并获取待传输数据以及第一硬件设备信息;

在本实施例中,接收第二设备发送的第二硬件设备信息,并获取待传输数据以及第一硬件设备信息,具体地,向第二设备发送硬件设备信息获取请求,并接收第二设备响应于所述硬件设备信息获取请求发送的第二硬件设备信息,并获取待传输数据以及待传输数据对应的第一硬件设备信息,其中,所述待传输数据存储于cpu内存,所述第一硬件设备信息为第一设备中产生所述待传输数据的硬件设备的设备标识,所述第二硬件设备信息为第二设备中用于执行与待传输数据相关的计算任务的硬件设备的标识。

步骤b20,基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流;

在本实施例中,基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流,具体地,判断所述第一硬件设备信息和所述第二硬件设备信息是否一致,若一致,则直接将所述待传输数据转换为待传输比特流,若不一致,则将所述待传输数据的数据格式转换为适配于所述第二硬件设备信息对应的目标硬件加速设备的数据格式,获得目标格式数据,进而将所述目标格式数据转换为待传输比特流。

其中,所述基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流的步骤包括:

步骤b21,判断所述第一硬件设备信息和所述第二硬件设备信息是否一致;

步骤b22,若一致,则将所述待传输数据序列化为所述待传输比特流;

在本实施例中,具体地,判断所述第一硬件设备信息和所述第二硬件设备信息是否一致,若一致,则对所述待传输数据进行序列化,获得待传输比特流。

步骤b23,若不一致,则将所述待传输数据的数据格式转换为适配于所述第二硬件设备信息的目标数据格式,获得目标格式数据;

在本实施例中,需要说明的是,所述数据格式包括内存存储模式和数据地址对齐模式。

若不一致,则将所述待传输数据的数据格式转换为适配于所述第二硬件设备信息的目标数据格式,获得目标格式数据,具体地,若不一致,则将所述待传输数据的内存存储模式调整为适配于所述第二硬件设备信息对应的目标硬件设备的内存存储模式;和/或将所述待传输数据的数据地址对齐模式调整为适配于所述第二硬件设备信息对应的目标硬件设备的数据地址对齐模式,进而获得目标格式数据。

其中,所述将所述待传输数据的数据格式转换为适配于所述第二硬件设备信息的目标数据格式,获得目标格式数据的步骤包括:

步骤b231,若所述第二硬件设备信息为gpu设备信息,则将所述待传输数据的数据格式由交换页内存模式转换为页锁定内存模式,获得所述目标格式数据;

在本实施例中,若所述第二硬件设备信息为gpu设备信息,则将所述待传输数据的数据格式由交换页内存模式转换为页锁定内存模式,获得所述目标格式数据,具体地,若所述第二硬件设备信息为gpu设备信息,则将所述待传输数据的内存存储模式由交换页内存模式转换为页锁定内存模式,获得目标格式数据,其中,需要说明的是,由于第一硬件设备信息不为gpu设备信息,进而待传输数据的内存存储模式通常为交换页内存模式,而处于交换页内存模式的数据需要进行2次内存拷贝,才可将数据由cpu内存拷贝至gpu显存,而处于页锁定内存模式的数据只需进行1次内存拷贝即可将数据由cpu内存拷贝至gpu显存,进而提升了由cpu内存拷贝至gpu显存的内存拷贝速度,所以,提升了由非gpu设备向gpu设备进行数据传输的效率。

步骤b232,若所述第二硬件设备信息为fpga设备信息,则将所述待传输数据的数据格式由当前数据地址对齐模式转换为预设目标数据地址对齐模式,获得所述目标格式数据。

在本实施例中,若所述第二硬件设备信息为fpga设备信息,则将所述待传输数据的数据格式由当前数据地址对齐模式转换为预设目标数据地址对齐模式,获得所述目标格式数据,具体地,若所述第二硬件设备信息为fpga设备信息,将所述待传输数据的当前数据地址对齐模式转换为适配于fpga设备信息对应的fpga设备的预设目标数据地址对齐模式,以提升数据由cpu内存拷贝至fpga设备的设备内存的效率,获得目标格式数据,例如,由8字节或者16字节对齐转换为4096字节对齐等。

步骤b24,将所述目标格式数据序列化为所述待传输比特流。

在本实施例中,将所述目标格式数据序列化为所述待传输比特流,具体地,对所述目标格式数据进行序列化,以将所述目标格式数据转换为比特流,获得所述待传输比特流。

步骤b30,将所述待传输比特流发送至第二设备,以供第二设备将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据。

在本实施例中,将所述待传输比特流发送至第二设备,以供第二设备将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,具体地,将所述待传输比特流发送至第二设备,进而第二设备对所述待传输比特流进行反序列化,以将所述待传输比特流转换为存储于cpu内存的数据,获得目标格式数据,其中,由于目标格式数据为第一设备基于第一硬件设备信息和第二硬件设备信息,对待传输数据进行数据格式转换得到的,所以,所述目标格式数据与第二设备中第二硬件设备信息对应的目标硬件加速设备相适配,可直接将目标格式数据由cpu内存拷贝至目标硬件加速设备的设备内存,进而实现了兼容各通信站点的不同类型的硬件设备之间进行数据传输的目的。

本申请实施例提供了一种数据传输方法,相比于现有技术采用的由数据发送方的cpu设备直接发送至数据接收方的cpu设备执行计算任务的技术手段,本申请实施例接收第二设备发送的第二硬件设备信息,并获取待传输数据以及第一硬件设备信息,进而基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流,进而将所述待传输比特流发送至第二设备,以供第二设备将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,进而第二设备可直接将目标格式数据拷贝至所述第二硬件设备信息对应的硬件加速设备执行计算任务,实现了兼容各联邦参与方的不同类型硬件设备进行数据传输的目的,所以,克服了在联邦学习异构框架中,各参与方的不同类型硬件设备进行数据传输时的兼容性较差的技术缺陷,提升了联邦学习异构框架中不同类型硬件设备进行数据传输时的兼容性。

基于本申请第一实施例和第二实施例以及第三实施例,参照图4,在本申请基于联邦学习的数据传输优化方法的另一实施例中,所述基于联邦学习的数据传输优化方法应用于第二设备,所述基于联邦学习的数据传输优化方法包括:

步骤c10,获取第二硬件设备信息,并将所述第二硬件设备信息发送至第一设备,以供所述第一设备基于待传输数据对应的第一硬件设备信息与第二硬件设备信息,将所述待传输数据转换为适配于所述第二硬件设备信息的待传输比特流;

在本实施例中,具体地,获取第二硬件设备信息,并将所述第二硬件设备信息发送至第一设备,以供所述第一设备基于待传输数据对应的第一硬件设备信息与第二硬件设备信息,将所述待传输数据的数据格式转换为适配于第二硬件设备信息的目标格式数据,进而第一设备将所述目标格式数据序列化为待传输比特流,其中,第一设备生成待传输比特流的具体步骤可参照步骤b10至步骤b30中的具体内容,在此不再赘述。

步骤c20,接收所述待传输比特流,并将所述待传输比特流转换为目标格式数据;

在本实施例中,接收所述待传输比特流,并将所述待传输比特流转换为目标格式数据,具体地,接收所述待传输比特流,并对所述待传输比特流进行反序列化,获得所述目标格式数据。

步骤c30,将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

在本实施例中,将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务,具体地,将所述目标格式数据由cpu内存拷贝至所述第二硬件设备信息对应的目标硬件加速设备的设备内存执行计算任务。

另外地,需要说明的是,原先的由数据发送方的cpu设备直接发送至数据接收方的cpu设备执行计算任务的数据传输方案,无需考虑数据格式转换的问题,而本申请实施例中第一设备通过预先获取第二硬件设备信息和第一硬件设备信息,可有针对性的对待传输数据进行数据格式的转换,进而消除了不同硬件设备之间的不兼容,解决了不兼容性或者兼容性差的问题。

如图5所示为本申请实施例中第一设备和第二设备进行通信交互的示意图,其中,数据发送站点为所述第一设备,数据接收站点为所述第二设备,硬件加速设备信息为所述第二硬件设备信息,转换数据即为转换数据格式的过程,字节流为所述待传输比特流。

本申请实施例提供了一种基于联邦学习的数据传输优化方法,也即,首先获取第二硬件设备信息,并将所述第二硬件设备信息发送至第一设备,以供所述第一设备基于待传输数据对应的第一硬件设备信息与第二硬件设备信息,将所述待传输数据转换为适配于所述第二硬件设备信息的待传输比特流,进而接收所述待传输比特流,并将所述待传输比特流转换为目标格式数据,进而将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务,实现了兼容各通信站点的不同类型硬件设备进行数据传输的目的,避免了不同类型硬件设备进行数据传输时的不兼容情况,所以,提升了联邦学习异构框架中不同类型硬件设备进行数据传输时的兼容性。

参照图6,图6是本申请实施例方案涉及的硬件运行环境的设备结构示意图。

如图6所示,该基于联邦学习的数据传输优化设备可以包括:处理器1001,例如cpu,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。

可选地,该基于联邦学习的数据传输优化设备还可以包括矩形用户接口、网络接口、摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。矩形用户接口可以包括显示屏(display)、输入子模块比如键盘(keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

本领域技术人员可以理解,图6中示出的基于联邦学习的数据传输优化设备结构并不构成对基于联邦学习的数据传输优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及基于联邦学习的数据传输优化程序。操作系统是管理和控制基于联邦学习的数据传输优化设备硬件和软件资源的程序,支持基于联邦学习的数据传输优化程序以及其它软件和/或,程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与基于联邦学习的数据传输优化系统中其它硬件和软件之间通信。

在图6所示的基于联邦学习的数据传输优化设备中,处理器1001用于执行存储器1005中存储的基于联邦学习的数据传输优化程序,实现上述任一项所述的基于联邦学习的数据传输优化方法的步骤。

本申请基于联邦学习的数据传输优化设备具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置应用于第一设备,所述基于联邦学习的数据传输优化装置包括:

转换模块,用于获取待传输数据,并将所述待传输数据转换为携带第一硬件设备信息的待传输比特流;

发送模块,用于将所述待传输比特流发送至第二设备,以供所述第二设备基于所述第一硬件设备信息以及获取的第二硬件设备信息共同对应的数据转换方式,将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据,并拷贝至所述第二硬件设备信息对应的目标设备内存。

可选地,所述转换模块还用于:

在预设应用层中对所述第一硬件设备信息进行序列化,获得第一序列化数据;

对所述待传输数据进行第二次序列化,获得第二序列化数据;

将所述第一序列化数据和所述第二序列化数据进行拼接,获得所述携带第一硬件设备信息的待传输比特流。

本申请基于联邦学习的数据传输优化装置的具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置应用于第二设备,所述基于联邦学习的数据传输优化装置包括:

反序列化模块,用于接收第一设备发送的待传输比特流,并对所述待传输比特流进行第一次反序列化,获得第一硬件设备信息和待转换比特流;

转换模块,用于获取第二硬件设备信息,并基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待转换比特流转换为适配于所述第二硬件设备信息的目标格式数据;

内存拷贝模块,用于将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

可选地,所述转换模块还用于:

基于所述第一硬件设备信息和所述第二硬件设备信息,确定反序列化函数信息;

通过调用所述反序列函数信息对应的目标反序列化函数,对所述待转换比特流进行第二次反序列化,获得所述目标格式数据。

本申请基于联邦学习的数据传输优化装置的具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置应用于第一设备,所述基于联邦学习的数据传输优化装置包括:

接收模块,用于接收第二设备发送的第二硬件设备信息,并获取待传输数据以及第一硬件设备信息;

转换模块,用于基于所述第一硬件设备信息和所述第二硬件设备信息,将所述待传输数据转换为待传输比特流;

发送模块,用于将所述待传输比特流发送至第二设备,以供第二设备将所述待传输比特流转换为适配于所述第二硬件设备信息的目标格式数据。

可选地,所述转换模块还用于:

判断所述第一硬件设备信息和所述第二硬件设备信息是否一致;

若一致,则将所述待传输数据序列化为所述待传输比特流;

若不一致,则将所述待传输数据的数据格式转换为适配于所述第二硬件设备信息的目标数据格式,获得目标格式数据;

将所述目标格式数据序列化为所述待传输比特流。

可选地,所述转换模块还用于:

若所述第二硬件设备信息为gpu设备信息,则将所述待传输数据的数据格式由交换页内存模式转换为页锁定内存模式,获得所述目标格式数据;

若所述第二硬件设备信息为fpga设备信息,则将所述待传输数据的数据格式由当前数据地址对齐模式转换为预设目标数据地址对齐模式,获得所述目标格式数据。

本申请基于联邦学习的数据传输优化装置的具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种基于联邦学习的数据传输优化装置,所述基于联邦学习的数据传输优化装置应用于第二设备,所述基于联邦学习的数据传输优化装置包括:

发送模块,用于获取第二硬件设备信息,并将所述第二硬件设备信息发送至第一设备,以供所述第一设备基于待传输数据对应的第一硬件设备信息与第二硬件设备信息,将所述待传输数据转换为适配于所述第二硬件设备信息的待传输比特流;

转换模块,用于接收所述待传输比特流,并将所述待传输比特流转换为目标格式数据;

内存拷贝模块,用于将所述目标格式数据拷贝至所述第二硬件设备信息对应的目标硬件加速设备执行计算任务。

本申请基于联邦学习的数据传输优化装置的具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的基于联邦学习的数据传输优化方法的步骤。

本申请可读存储介质具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种计算机程序产品,且所述计算机程序产品包括有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的基于联邦学习的数据传输优化方法的步骤。

本申请计算机程序产品具体实施方式与上述基于联邦学习的数据传输优化方法各实施例基本相同,在此不再赘述。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1