一种并行消息处理方法、系统及相关装置制造方法及图纸

技术编号:24036815 阅读:20 留言:0更新日期:2020-05-07 02:08
本申请提供一种并行消息处理方法,包括:当第一运算器完成参数单元的计算时,发出归约操作请求至主控器,以便主控器将归约操作请求对应的参数单元全局广播至所有运算器,同时各运算器缓存参数单元;当第二运算器完成参数单元的计算得到归约数据后,第二运算器将归约数据与第二运算器缓存中的参数单元比对,生成第二运算器对应的位矢量信息;每当生成新的位矢量信息时,将各运算器对应的位矢量信息进行位与操作;根据位与操作结果执行归约操作。本申请避免了运算器频繁与主控器通信交互的弊端,主控器上的通讯压力明显减少,充分利用了带宽。本申请还提供一种并行消息处理方法、系统、计算机可读存储介质和深度学习设备,具有上述有益效果。

A parallel message processing method, system and related devices

【技术实现步骤摘要】
一种并行消息处理方法、系统及相关装置
本申请涉及数据处理领域,特别涉及一种并行消息处理方法、系统及相关装置。
技术介绍
大规模分布式深度学习训练任务,尤其对于复杂模型和大规模数据集训练过程中会产生大量的消息体和消息队列,对于采用并行消息队列处理方式的数据并行分布式训练,多个GPU间独立运行各自训练数据,然后等待本节点或者其他节点的GPU完成训练然后采用不同策略来同步模型参数,此过程中产生大量的消息体和冗长的消息处理等待时间,计算单元越多,该过程所占用的时间越长。现今多个主流深度学习框架采用了消息并行处理方式进行数据并行分布式训练时产生的消息队列,但是都没有做相应优化导致在大规模计算机群上做分布式训练时有相当的性能损失。
技术实现思路
本申请的目的是提供一种并行消息处理方法、系统。计算机可读存储介质和深度学习设备,能够提高并行归约操作的执行效率。为解决上述技术问题,本申请提供一种并行消息处理方法,具体技术方案如下:当第一运算器完成参数单元的计算时,发出归约操作请求至主控器,以便所述主控器将所述参数单元全局广播至所有运算器;当各运算器接收到所述参数单元后,各所述运算器缓存所述参数单元;当第二运算器完成所述参数单元的计算得到归约数据后,所述第二运算器将所述归约数据与所述第二运算器缓存中的所述参数单元比对,生成所述第二运算器对应的位矢量信息;每当生成新的位矢量信息时,将各所述运算器对应的位矢量信息进行位与操作;根据位与操作结果执行所述归约操作。其中,所述参数单元包括归约类型、归约范围和张量。其中,各所述运算器缓存所述参数单元包括:各所述运算器以pre-reduce消息格式缓存所述参数单元。其中,根据位与操作结果执行所述归约操作包括:若各运算器对应的位矢量信息的位与操作结果为1,则各运算器执行所述归约操作。其中,若所述位与操作结果为0,还包括:在位与操作结果为0的双方运算器执行对所述参数单元的计算后,重新执行双方运算器对应的位矢量信息的位与操作。本申请还提供一种并行消息处理系统,包括:请求发送模块,用于当第一运算器完成参数单元的计算时,发出归约操作请求至主控器,以便所述主控器将所述参数单元全局广播至所有运算器;缓存模块,用于当各运算器接收到所述参数单元后,各所述运算器缓存所述参数单元;位矢量生成模块,用于当第二运算器完成所述参数单元的计算得到归约数据后,所述第二运算器将所述归约数据与所述第二运算器缓存中的所述参数单元比对,生成所述第二运算器对应的位矢量信息;位与比对模块,用于每当生成新的位矢量信息时,将各所述运算器对应的位矢量信息进行位与操作;归约执行模块,用于根据位与操作结果执行所述归约操作。其中,所述缓存模块包括:缓存单元,用于各所述运算器以pre-reduce消息格式缓存所述参数单元。其中,所述归约执行模块具体为若各运算器对应的位矢量信息的位与操作结果为1,控制各运算器执行所述归约操作的模块。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的并行消息处理方法的步骤。本申请还提供一种深度学习设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的并行消息处理方法的步骤。本申请提供一种并行消息处理方法,包括:当第一运算器完成参数单元的计算时,发出归约操作请求至主控器,以便所述主控器将所述参数单元全局广播至所有运算器;当各运算器接收到所述参数单元后,各所述运算器缓存所述参数单元;当第二运算器完成所述参数单元的计算得到归约数据后,所述第二运算器将所述归约数据与所述第二运算器缓存中的所述参数单元比对,生成所述第二运算器对应的位矢量信息;每当生成新的位矢量信息时,将各所述运算器对应的位矢量信息进行位与操作;根据位与操作结果执行所述归约操作。本申请中运算器与主控器之间只通讯一次,即第一个完成训练的第一运算器提出请求,然后主控器做出广播,之后其他运算器都是与本地消息缓存进行比对和与其他运算器进行通信,如果所有运算器均已完成参数单元的计算则立即开始参数的归约操作,避免运算器频繁与主控器通信交互的弊端,主控器上的通讯压力明显减少,充分利用了带宽。本申请还提供一种并行消息处理方法、系统、计算机可读存储介质和深度学习设备,具有上述有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种并行消息处理方法的流程图;图2为本申请实施例所提供的一种并行消息处理系统结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。当前Horovod深度学习框架采用了Messagepassinginterface规范和归约的消息处理方式来进行分布式深度学习的训练,其架构中采用主控器-运算器结构,主控器作为消息处理中心接收运算器发来的归约操作请求和发送归约操作执行的命令给运算器,每个运算器在结束训练后发送归约操作请求和等待从主控器发来的被执行的消息,这期间等待的运算器就会被锁定,亦即不进行新的训练,等待本次归约操作真正执行时再进行新的训练,这样如果计算节点过多就会产生大量待归约的运算器处于block状态(即运算器无法进行新的训练)并产生巨大消息等待时间。主控器-运算器结构中主控器会频繁的接收到来自多个运算器对同一消息内容的归约操作,因此主控器承担了大量通信请求和大量冗余消息传送,如果一次归约操作需要若干个运算器都执行完成后才操作,则主控器需要接收到运算器数量相等的请求后才发出执行操作的命令,这样主控器对所有运算器需要实时进行通讯,因此主控器承担了大量通信任务和消息处理负荷。在中小规模的训练集群中主控器瓶颈效应不明显,但是如果大规模(上千台计算节点,上万块GPU规模)集群上进行分布式训练,主控器-运算器结构的瓶颈则会被放大,巨量的计算节点产生巨量待执行归约操作的消息,如果不能及时进行操作,则会造成大量计算资源浪费以及通信带宽被大量消息请求和执行命令所占用。这样将造成巨大的资源浪费,因为带宽并没有被需要归约的模型参数所用,而且易造成堵塞,大大降低了训练速度。为此,本申请提供一种并行消息处理方法,能够提高并行消息处理效率,具体内容如下:请参考图1,图1为本申请实施例本文档来自技高网...

【技术保护点】
1.一种并行消息处理方法,其特征在于,包括:/n当第一运算器完成参数单元的计算时,发出归约操作请求至主控器,以便所述主控器将所述参数单元全局广播至所有运算器;/n当各运算器接收到所述参数单元后,各所述运算器缓存所述参数单元;/n当第二运算器完成所述参数单元的计算得到归约数据后,所述第二运算器将所述归约数据与所述第二运算器缓存中的所述参数单元比对,生成所述第二运算器对应的位矢量信息;/n每当生成新的位矢量信息时,将各所述运算器对应的位矢量信息进行位与操作;/n根据位与操作结果执行归约操作。/n

【技术特征摘要】
1.一种并行消息处理方法,其特征在于,包括:
当第一运算器完成参数单元的计算时,发出归约操作请求至主控器,以便所述主控器将所述参数单元全局广播至所有运算器;
当各运算器接收到所述参数单元后,各所述运算器缓存所述参数单元;
当第二运算器完成所述参数单元的计算得到归约数据后,所述第二运算器将所述归约数据与所述第二运算器缓存中的所述参数单元比对,生成所述第二运算器对应的位矢量信息;
每当生成新的位矢量信息时,将各所述运算器对应的位矢量信息进行位与操作;
根据位与操作结果执行归约操作。


2.根据权利要求1所述的并行消息处理方法,其特征在于,所述参数单元包括归约类型、归约范围和张量。


3.根据权利要求1所述的并行消息处理方法,其特征在于,各所述运算器缓存所述参数单元包括:
各所述运算器以pre-reduce消息格式缓存所述参数单元。


4.根据权利要求1所述的并行消息处理方法,其特征在于,根据位与操作结果执行所述归约操作包括:
若各运算器对应的位矢量信息的位与操作结果为1,则各运算器执行所述归约操作。


5.根据权利要求4所述的并行消息处理方法,其特征在于,若所述位与操作结果为0,还包括:
在位与操作结果为0的双方运算器执行对所述参数单元的计算后,重新执行双方运算器对应的位矢量信息的位与操作。


6.一种并行消息处理系统,其特征在于,包括...

【专利技术属性】
技术研发人员:王超
申请(专利权)人:广东浪潮大数据研究有限公司
类型:发明
国别省市:广东;44

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

1