本技术涉及分布式训练,尤其涉及一种报文处理方法、装置、电子设备、存储介质及计算机程序产品。
背景技术:
1、分布式机器学习中,参数服务器(parameter server,ps)用于管理和共享模型参数,其基本思想是将模型参数存储在一个或多个中央服务器上,并通过报文将这些参数共享给工作服务器。每个工作服务器从参数服务器中获取当前模型参数用于计算本地梯度,并将计算好的本地梯度通过报文返回给参数服务器进行参数更新。但是,多个工作服务器向参数服务器发送本地梯度报文时面临链路带宽瓶颈,最后一跳链路面临的incast多打一带宽瓶颈以及参数服务器本身的计算资源不足问题,导致工作服务器向参数服务器的报文传输效率较低或者参数服务器针对多个本地梯度报文的处理效率较低,参数服务器无法快速的利用本地梯度进行参数更新,降低了模型的参数更新效率。
技术实现思路
1、本技术实施例提供的一种报文处理方法、装置、电子设备、存储介质及计算机程序产品,可以提高参数服务器对模型的参数更新效率。
2、本技术的技术方案是这样实现的:
3、本技术实施例提供了一种报文处理方法,包括:
4、聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文;其中,所述路径是基于控制节点发送的路径信息确定的,所述路径信息是所述控制节点基于网络拓扑中各个节点的服务能力进行路径规划得到的;不同的所述路径中的所述第一服务节点、所述第一转发节点不同;
5、将所述第二报文发送给所述路径中的第二服务节点。
6、上述方案中,所述聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文之前,所述方法还包括:
7、接收控制节点发送的本地位图信息和本地节点标识。
8、上述方案中,所述第一报文包括:报文头部和报文载荷部;
9、其中,所述报文头部包括以下中的至少一个:通信地址信息、目标转发节点的第一目标位图信息和多个协议字段;所述报文载荷部包括待聚合数据。
10、上述方案中,所述聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文,包括:
11、基于多个第一目标位图信息与本地位图信息的匹配结果,以及当前计算资源,确定多个所述第一报文的聚合检测结果;其中,多个所述第一目标位图信息中的每一所述第一目标位图信息属于对应的所述第一报文;
12、若所述聚合检测结果表征支持对多个所述第一报文的聚合,则对多个报文载荷部中的待聚合数据进行聚合后与报文头部组合,得到所述第二报文。
13、上述方案中,所述待聚合数据包括:一定次序的n个子数据;n为大于0的整数;所述对多个报文载荷部中的待聚合数据进行聚合后与报文头部组合,得到第二报文,包括:
14、聚合多个所述待聚合数据中对应同一次序的所述子数据,得到聚合报文载荷部;
15、修改所述报文头部中的第一协议字段,得到聚合报文头部;其中,修改后的所述第一协议字段用于表征对应的所述第一报文已进行聚合处理;
16、将所述聚合报文载荷部和所述聚合报文头部组合,得到所述第二报文。
17、上述方案中,所述基于多个第一目标位图信息与本地位图信息的匹配结果,以及当前计算资源,确定多个所述第一报文的聚合检测结果之后,所述方法还包括:
18、若所述聚合检测结果表征不支持对多个所述第一报文的聚合,则修改每一所述第一报文的所述报文头部中的第二协议字段,得到对应的第三报文;其中,修改后的所述第二协议字段用于表征对应的所述第一转发节点不支持聚合;
19、基于所述路径信息中的下一跳将每一所述第三报文发送给所述第二服务节点,供所述第二服务节点对多个所述第三报文进行聚合后,基于聚合后的报文完成模型参数更新。
20、上述方案中,所述将所述第二报文发送给所述路径中的第二服务节点之后,所述方法还包括:
21、接收所述第二服务节点发送的第四报文,并针对所述第四报文确定报文检测结果;其中,所述报文检测结果用于表征所述第四报文是否为发送给多个所述第一服务节点的一对多报文;
22、若所述报文检测结果表征所述第四报文为发送给多个所述第一服务节点的一对多报文,则将所述第四报文针对每一所述第一服务节点进行复制,得到每一所述第一服务节点对应的第五报文;
23、将所述第五报文发送给对应的每一所述第一服务节点。
24、上述方案中,所述针对所述第四报文确定报文检测结果,包括:
25、基于所述第四报文的所述报文头部中的第二目标位图信息与本地位图信息匹配结果,以及所述第四报文的所述报文头部中的第三协议字段,确定所述报文检测结果;其中,所述第三协议字段用于表征所述第四报文是否为发送给多个所述第一服务节点的一对多报文。
26、本技术实施例还提供了一种报文处理方法,应用于控制节点,包括:
27、基于获取的网络拓扑中各个节点的服务能力进行路径规划,确定路径信息;其中,所述路径信息用于表征各个所述路径中包括的第一服务节点、第一转发节点和第二服务节点;不同的所述路径中的所述第一服务节点、所述第一转发节点不同;
28、将所述路径信息发送给各个所述节点,供每一所述路径中的所述第一转发节点聚合多个所述第一服务节点分别发送的第一报文,并将聚合得到的第二报文发送给所述第二服务节点。
29、上述方案中,所述基于获取的网络拓扑中各个节点的服务能力进行路径规划,确定路径信息之前,所述方法还包括:
30、针对各个所述节点配置位图信息与节点标识之间的对应关系,形成对应关系集合;
31、将所述对应关系集合发送给网络拓扑中的每一服务节点,并将每一转发节点对应的所述位图信息和所述节点标识发送给对应的所述转发节点;其中,所述服务节点包括:所述第一服务节点和所述第二服务节点;所述转发节点包括所述第一转发节点。
32、上述方案中,所述基于获取的网络拓扑中各个节点的服务能力进行路径规划,确定路径信息,包括:
33、基于预设模型处理获取的各个所述节点的所述服务能力,确定每一所述第一服务节点至对应的所述第二服务节点之间的初始路径信息;其中,所述初始路径信息包括以下中的至少之一:路径中各个所述节点的端口信息、地址信息,以及每一所述第一服务节点的发送任务信息;
34、基于所述初始路径信息表征的路径中的各个转发节点的服务能力表征的数据,在各个所述转发节点中确定聚合能力最强的所述第一转发节点;
35、将所述初始路径信息以及所述第一转发节点的所述位图信息组合,确定所述路径信息。
36、上述方案中,所述基于所述初始路径信息表征的路径中的各个转发节点的服务能力,在各个所述转发节点中确定聚合能力最强的所述第一转发节点之后,所述方法还包括:
37、每间隔预定时长获取所述路径信息中各个所述转发节点的服务能力;
38、基于每次获取的各个所述转发节点的服务能力,在各个所述转发节点中确定新的聚合能力最强的所述第一转发节点;
39、基于新确定的所述第一转发节点形成新的所述路径信息,并发送给各个所述节点。
40、本技术实施例还提供了一种报文处理装置,应用于第一转发节点,包括:
41、聚合单元,用于聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文;其中,所述路径是基于控制节点发送的路径信息确定的,所述路径信息是所述控制节点基于网络拓扑中各个节点的服务能力进行路径规划得到的;不同的所述路径中的所述第一服务节点、所述第一转发节点不同;
42、第一发送单元,用于将所述第二报文发送给所述路径中的第二服务节点。
43、本技术实施例还提供了一种报文处理装置,应用于控制节点,包括:
44、路径规划单元,用于基于获取的网络拓扑中各个节点的服务能力进行路径规划,确定路径信息;其中,所述路径信息用于表征各个所述路径中包括的第一服务节点、第一转发节点和第二服务节点;不同的所述路径中的所述第一服务节点、所述第一转发节点不同;
45、第二发送单元,用于将所述路径信息发送给各个所述节点,供每一所述路径中的所述第一转发节点聚合多个所述第一服务节点分别发送的第一报文,并将聚合得到的第二报文发送给所述第二服务节点。
46、本技术实施例还提供了一种电子设备,包括第一存储器和第一处理器,所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述计算机程序时实现第一转发节点一侧方法中的步骤。
47、本技术实施例还提供了一种电子设备,包括第二存储器和第二处理器,所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述计算机程序时实现控制节点一侧方法中的步骤。
48、本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被第一处理器执行时实现第一转发节点一侧方法中的步骤。
49、本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被第二处理器执行时实现控制节点一侧方法中的步骤。
50、本技术实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被第一处理器执行时实现第一转发节点一侧方法中的步骤。
51、本技术实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被第二处理器执行时实现控制节点一侧方法中的步骤。
52、本技术实施例中,聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文;其中,路径是基于控制节点发送的路径信息确定的,路径信息是控制节点基于网络拓扑中各个节点的服务能力进行路径规划得到的;不同的路径中的第一服务节点、第一转发节点不同;将第二报文发送给路径中的第二服务节点。这样,由于在第一转发节点中对多个第一报文就进行和聚合,得到了数据量较小的第二报文,减小了第一服务节点和第二服务节点之间的通信总量,进而减小了第二服务节点在进行模型参数更新时的计算资源占用,提高了第二服务节点针对模型参数更新的效率。
53、又因为,路径是基于网络拓扑中各个节点的服务能力进行路径规划得到的,这样的路径规划可以最大程度利用当前所有节点的带宽能力,也就是可以利用网络拓扑中所有具有转发功能的节点来进行第一报文的上传分散了带宽压力,解决了带宽瓶颈的问题。
54、并且,不同的路径中的第一服务节点、第一转发节点不同的方案,相比于相关技术中通过默认路由上传报文的方案,可以将网络拓扑中的各个第一服务节点的报文分担给不同的转发节点,减少了通过默认路由中第一个转发设备进行处理报文时的时延,可以快速的将报文发送给第二服务节点,进而提高了第二服务节点针对模型参数更新的效率。
1.一种报文处理方法,其特征在于,应用于第一转发节点,包括:
2.根据权利要求1所述的报文处理方法,其特征在于,所述聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文之前,所述方法还包括:
3.根据权利要求1所述的报文处理方法,其特征在于,所述第一报文包括:报文头部和报文载荷部;
4.根据权利要求1至3任一项所述的报文处理方法,其特征在于,所述聚合路径中的多个第一服务节点分别发送的第一报文,得到第二报文,包括:
5.根据权利要求4所述的报文处理方法,其特征在于,所述待聚合数据包括:一定次序的n个子数据;n为大于0的整数;所述对多个报文载荷部中的待聚合数据进行聚合后与报文头部组合,得到第二报文,包括:
6.根据权利要求4所述的报文处理方法,其特征在于,所述基于多个第一目标位图信息与本地位图信息的匹配结果,以及当前计算资源,确定多个所述第一报文的聚合检测结果之后,所述方法还包括:
7.根据权利要求1至3任一项所述的报文处理方法,其特征在于,所述将所述第二报文发送给所述路径中的第二服务节点之后,所述方法还包括:
8.根据权利要求7所述的报文处理方法,其特征在于,所述针对所述第四报文确定报文检测结果,包括:
9.一种报文处理方法,其特征在于,应用于控制节点,包括:
10.根据权利要求9所述的报文处理方法,其特征在于,所述基于获取的网络拓扑中各个节点的服务能力进行路径规划,确定路径信息之前,所述方法还包括:
11.根据权利要求10所述的报文处理方法,其特征在于,所述基于获取的网络拓扑中各个节点的服务能力进行路径规划,确定路径信息,包括:
12.根据权利要求11所述的报文处理方法,其特征在于,所述基于所述初始路径信息表征的路径中的各个转发节点的服务能力,在各个所述转发节点中确定聚合能力最强的所述第一转发节点之后,所述方法还包括:
13.一种报文处理装置,其特征在于,应用于第一转发节点,包括:
14.一种报文处理装置,其特征在于,应用于控制节点,包括:
15.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法中的步骤,或实现权利要求9至12任一项所述方法中的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法中的步骤,或实现权利要求9至12任一项所述方法中的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现权利要求1至8任一项所述方法中的步骤,或实现权利要求9至12任一项所述方法中的步骤。