System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于分布式训练系统的算力路由数据包转发方法技术方案_技高网

一种用于分布式训练系统的算力路由数据包转发方法技术方案

技术编号:39980401 阅读:14 留言:0更新日期:2024-01-09 01:29
本发明专利技术提供一种用于分布式训练系统的算力路由数据包转发方法,提供了用于分布式训练的算力路由机制,具体包括:控制器解析算法生成的路由策略,并根据算力路由判断逻辑将生成的流表自动下发到可编程交换机中;在组播前执行源路由策略以保证路由机制的灵活性;设计的算力服务层报头包括算力路径标识和算力服务索引,前者用于标识组播节点以及算力服务路径,后者用于标识组播功能以及算力服务路径上具体的服务索引;在组播节点执行算力服务层转发策略,当算力服务索引值为0时执行组播策略,通过组播机制保证各个分布式计算节点中参数的同步性;将计算节点归类为同步节点和异步节点,通过组播域内和组播域间的范围描述来表示算力节点之间的关系。

【技术实现步骤摘要】

本专利技术涉及有线网络通信,尤其涉及一种用于分布式训练系统的算力路由数据包转发方法


技术介绍

1、机器学习技术的广泛应用掀起了各个领域智能化的浪潮。随着机器学习模型复杂度的提高,对算力的需求迅速增长,越来越多的企业和机构需要通过分布式训练的方式完成大规模机器学习任务,这对于网络的带宽、服务质量和灵活性提出了更高的要求。

2、为了提高训练的效率和吞吐量,许多组织已经采用了数据并行(dataparallelism,dp)的分布式训练方式,每个计算节点维护着相同的计算任务模型与参数,将训练的数据分解成多个数据模块,交由不同的计算节点并行处理,以实现加速训练的效果。

3、在基于数据并行的训练过程中,不同的计算节点需要对计算的参数进行同步和更新,于是研究人员提出了参数服务器(parameter server,ps)架构,用于管理和共享分布式训练任务模型的参数数据。在机器学习的分布式训练中,参数服务器架构起到了重要的作用,可以实现计算参数的存储、更新和共享。基于参数服务器架构并使用数据并行机制的完成分布式训练任务是当今热门的分布式训练方案。

4、在进行分布式训练的过程中,参数服务器节点和算力节点之间存在着独特的路由需求,因此两者之间的路由问题变得尤为重要。数据并行机制对各个计算节点参数的同步性有很高的要求,仅靠参数服务器节点无法保证传输过程中参数的同步性;此外参数节点与计算节点之间存在大量的数据交互,会占用大量的网络带宽利用资源;数据包在传输过程中还需要经过一系列虚拟网络功能,以满足网络的安全性、灵活性等需求;传统的数据包转发策略使用静态或动态路由协议,无法满足复杂的分布式训练任务的路由需求。


技术实现思路

1、本专利技术的实施例提供了一种用于分布式训练系统的算力路由数据包转发方法,用于解决现有技术中存在的技术问题。

2、为了实现上述目的,本专利技术采取了如下技术方案。

3、一种用于分布式训练系统的算力路由数据包转发方法,包括:

4、基于训练任务所需的参数信息,通过分布式计算,对参数信息进行同步更新,并基于同步更新后的参数信息,生成数据包转发任务;

5、基于数据包转发任务,通过判断逻辑生成对应的流表,将流表下发到分布式训练系统的可编程交换机群,使得分布式训练系统的可编程交换机群根据数据包转发机制执行数据包转发任务;

6、判断逻辑和数据包转发机制的报文包括以太网层、源路由层、ip层、算力服务层和数据层;数据包转发机制的具体执行过程包括:

7、数据包在被发送到组播节点的前n跳的过程中依据源路由层的策略实现转发;

8、数据包在被发送到组播节点的第n+1跳的过程中加入算力服务层的报头,经过算力服务所需的虚拟网络功能,最后依据算力服务层的报头在分布式训练系统的某个算力节点将计算参数组广播到分布式训练系统的其它多个算力节点,实现分布式训练系统的组播域内参数节点的同步。

9、优选地,源路由层包含端口号,以及标志位两个字段,总共具有n个堆栈类型的数据;分布式训练系统的可编程交换机根据源路由层中的端口号和标志位读取源路由层的数据信息,使得数据包能够根据源节点的需求经过相应的外部网络节点;

10、算力服务层包括算力路径标识和算力服务索引,算力路径标识用于标识分布式训练系统的组播节点和算力集群的服务路径,算力服务索引用于标识组播功能以及算力集群的服务路径上具体的服务索引;分布式训练系统的可编程交换机根据算力路径标识和算力服务索引的字段中的值来进行处理和转发。

11、优选地,判断逻辑的执行过程包括:

12、s1判断源路由层的报头是否有效;

13、s2若步骤s1的判断结果为有效,则判断源路由层的标志位的字段值;

14、s3若标志位的值为0,则将源路由层的端口字段值赋值给分布式训练系统的可编程交换机群的出端口,弹出源路由层的报头栈顶的数据,根据分布式训练系统的可编程交换机群的出端口完成数据包转发;

15、s4若标志位的值为1,则表示当前算力节点为源路由层的最后一跳节点,那么需要将以太网层的数据类型更改为ip类型,将源路由层的报头设置为无效,并返回执行步骤s3的操作;

16、s5若步骤s1的判断结果为无效,则判断ip层的ipv4转发是否命中;

17、s6若步骤s5的判断结果为命中,则根据ip层的ipv4转发的逻辑与匹配的流表的流表项来更改转发目的地址和分布式训练系统的可编程交换机群的出端口,然后将报文中的存活时间的字段值-1,根据分布式训练系统的可编程交换机群的出端口完成数据包转发;

18、s7若步骤s5的判断结果为未命中,则执行算力服务层的转发逻辑,首先判断算力服务层的报头是否有效;

19、s8若步骤s7的判断结果为有效,则由分布式训练系统的寄存器保存算力服务层的报头中的算力路径标识值(cpi)和算力服务索引值(csi)减1的值,用于经过一个虚拟网络功能后数据包的算力服务层报头封装;

20、s9若步骤s7的判断结果为无效,则匹配算力服务层的初始封装表,匹配ip层的报头中dscp值和源地址;

21、s10若步骤s9的执行结果能够匹配,则将以太网层的数据类型更改为算力服务层的数据类型,并把算力服务层的报头设置为有效,然后封装算力服务层的报头中cpi的值为ip层的报头中dscp值,封装算力服务层的报头中csi的值为流表的动作参数值;

22、s11若步骤s9的执行结果不能够匹配,则匹配容器到分布式训练系统的可编程交换机的流表,匹配ip层的报头中dscp字段值和源地址;

23、s12若步骤s11的执行结果能够匹配,则将以太网层的数据类型更改为算力服务层的数据类型,并把算力服务层的报头设置为有效,然后封装算力服务层的报头中cpi和csi的值为分布式训练系统的寄存器的保存值,并更改转发目的地址和分布式训练系统的可编程交换机的出端口,执行s13的匹配判断;

24、s13若步骤s11的执行结果为不能够匹配,则匹配算力服务层的转发表,匹配cpi和csi的值;

25、s14若步骤s13的执行结果不能够匹配,则匹配容器到分布式训练系统的可编程交换机的流表,匹配cpi和csi的值;

26、s15若步骤s13的执行结果能够匹配,则更改转发目的地址和分布式训练系统的可编程交换机的出端口,执行步骤s14的匹配判断;

27、s16若步骤s14的执行结果为不能够匹配,则判断csi的值是否为0;

28、s17若步骤s14的执行结果为能够匹配,则将以太网层的数据类型更改为ip层的数据类型,算力服务层的报头设置为无效,然后更改转发目的地址和分布式训练系统的可编程交换机的出端口;

29、s18若csi的值为0,则将以太网层的数据类型更改为ip层的数据类型,把算力服务层的报头设置为无效,然后匹配组播表和转发目的ip地址;

30本文档来自技高网...

【技术保护点】

1.一种用于分布式训练系统的算力路由数据包转发方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述源路由层包含端口号,以及标志位两个字段,总共具有n个堆栈类型的数据;分布式训练系统的可编程交换机根据所述源路由层中的端口号和标志位读取源路由层的数据信息,使得数据包能够根据源节点的需求经过相应的外部网络节点;

3.根据权利要求2所述的方法,其特征在于,所述判断逻辑的执行过程包括:

4.根据权利要求1至3任一所述的方法,其特征在于,执行所述方法的分布式训练系统还包括参数服务器集群、虚拟网络功能群、分布式控制器集群和算力集群;

【技术特征摘要】

1.一种用于分布式训练系统的算力路由数据包转发方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述源路由层包含端口号,以及标志位两个字段,总共具有n个堆栈类型的数据;分布式训练系统的可编程交换机根据所述源路由层中的端口号和标志位读取源路由层的数据信息,使得数...

【专利技术属性】
技术研发人员:高德云权伟刘明远宋浩然尚雪宁庞博李玉峰
申请(专利权)人:北京交通大学
类型:发明
国别省市:

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

1