System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及有线网络通信,尤其涉及一种用于分布式训练系统的算力路由数据包转发方法。
技术介绍
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个堆栈类型的数据;分布式训练系统的可编程交换机根据所述源路由层中的端口号和标志位读取源路由层的数据信息,使得数...
【专利技术属性】
技术研发人员:高德云,权伟,刘明远,宋浩然,尚雪宁,庞博,李玉峰,
申请(专利权)人:北京交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。