CN114900482B - Ps架构下基于可编程交换机的梯度调度方法和装置 - Google Patents
Ps架构下基于可编程交换机的梯度调度方法和装置 Download PDFInfo
- Publication number
- CN114900482B CN114900482B CN202210314177.3A CN202210314177A CN114900482B CN 114900482 B CN114900482 B CN 114900482B CN 202210314177 A CN202210314177 A CN 202210314177A CN 114900482 B CN114900482 B CN 114900482B
- Authority
- CN
- China
- Prior art keywords
- gradient
- ngaa
- programmable switch
- aggregation
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种PS架构下基于可编程交换机的梯度调度方法和装置。其中,该方法由数据中心平台的控制器执行,包括:根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题;根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径;若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合。本实施例在PS架构中加入可编程交换机,通过在可编程交换机中设计并实现基于梯度段的梯度聚合功能,降低梯度传输数据量,从而消除网络带宽瓶颈,达到加速PS架构分布式模型训练的效果。
Description
技术领域
本发明属于网络服务质量(Quality of Service,QoS)领域,具体涉及一种PS架构下基于可编程交换机的梯度调度方法和装置。
背景技术
随着机器学习模型规模不断扩大,训练数据不断增加,单机训练已经无法满足需求,基于多机的分布式模型训练成为研究热点。参数服务器(PS)架构是其中一种常见的分布式机器学习架构。传统PS架构由两部分组成:主节点PS和若干worker节点。PS负责全局管理模型训练,包括:训练数据划分、模型参数聚合以及模型参数更新。worker节点负责在本地训练模型,并将每一轮训练结果以梯度形式发给PS聚合。由于网络带宽限制以及训练规模的增加,PS架构训练瓶颈在worker向PS发送参数的聚合部分。
现有方案通常从参数压缩,集体通信角度优化网络带宽瓶颈,但这些方案仅从优化数据发送量以及优化链路利用率方面考虑,没有考虑到数据面的优化。
发明内容
为了解决现有技术中的问题,本发明提供一种PS架构下基于可编程交换机的梯度调度方法和装置,通过在网内设置可编程交换机,以借助数据面可编程设备,在梯度转发的过程中实现梯度聚合,从而减少梯度传数量,消除分布式模型训练的带宽瓶颈。
第一方面,本发明提供一种PS架构下基于可编程交换机的梯度调度方法,由数据中心平台的控制器执行,所述数据中心平台还包括主节点PS、若干Worker节点、以及可编程交换机,所述可编程交换机包括若干聚合器,所述聚合器用于以梯度段为粒度对worker节点发送的梯度进行网内聚合,该方法包括:
S10、根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题;
S20、根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径;
S30、若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合,并通过所述目标可编程交换机路由路径将聚合后的梯度发送至主节点PS。
可选的,所述S20中约束问题的优化目标是最小化主节点PS直接聚合的梯度量,相应的,所述S20具体包括:
根据所述优化目标计算出所述约束问题的最优分数解;
根据该最优分数解的值设置其舍入为1的概率,并进行随机舍入操作确定各worker节点梯度聚合的目标可编程交换机。
可选的,所述S30中的worker节点将自身梯度发送对应的目标可编程交换机进行聚合,包括:
worker节点将自身梯度转换成32位整型元素,并封装在若干自定义数据包NGAA中,将封装后的NGAA包发送至所述目标可编程交换机,以通过所述目标可编程交换机对NGAA包中的梯度进行网内聚合。
可选的,在所述S30之后,还包括:
通过主节点PS对聚合后的NGAA包执行求平均操作,并将处理后的梯度封装成NGAA参数包发送给所有worker节点。
可选的,所述NGAA包包括:以太网帧包头,ipv4包头、NGAA包头、以及负载,所述负载包括转换后的整型梯度元素。
可选的,所述NGAA包头包括:
bitmap字段:为自身标识;
switchid字段:作为聚合点的可编程交换机编号;
count字段:为聚合点需要聚合梯度段的worker;
index字段:为可编程交换机内存中聚合器的编号;
fragid字段:用于标识该梯度段在整个梯度中的编号;
isack字段:用于标识该NGAA包为PS发往worker的聚合完成的参数包;
resend字段:用来标识PS发往worker的重传包;
overflow字段:用来标识梯度段在转换成整型元素时是否发生溢出。
可选的,当不同fragid的NGAA包具有相同的index字段,则判定梯度段聚合发生冲突;
通过可编程交换机将fragid较小的NGAA包发送到DRAM中聚合。
可选的,当主节点PS收到乱序NGAA包,则该乱序NGAA包为丢失的NGAA包;
主节点PS会发送包含重传字段的NGAA包给所有worker节点,以通过worker节点重新发送该丢失的NGAA包。
可选的,所述目标可编程交换机中的每一聚合器对应设置有唯一的id,当所述目标可编程交换机收到NGAA包后会解析包头,将该NGAA包负载的梯度段放置到index字段指定的聚合器中,该指定的聚合器id与index字段值相同。
另一方面,本发明实施例提供一种PS架构下基于可编程交换机的梯度调度装置,其特征在于,配置于数据中心平台的控制器中,所述数据中心平台还包括主节点PS、若干worker节点、以及可编程交换机,所述可编程交换机包括若干聚合器,所述聚合器用于以梯度段为粒度对worker节点发送的梯度进行网内聚合,该装置包括:
约束问题建立模块,用于根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题;
目标聚合点确定模块,用于根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径;
网内聚合模块,用于若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合,并通过所述目标可编程交换机根据所述路由路径将聚合后的梯度发送至主节点PS。
本发明基于可编程交换机,主要致力于通过网内聚合,加速PS架构分布式模型训练,在保证训练精度的同时,提高分布式模型训练速度,同时达到最小化PS节点计算负载的目标。本方法不同于以往方法,主要体现在:本方法借助数据面可编程设备,在转发梯度的过程中实现梯度聚合,从而减少梯度传数量,消除分布式模型训练的带宽瓶颈。
相对于现有技术中的方案,本发明的优点是:
1.本发明的方法基于可编程交换机,相比较主机其计算速度更快,能够保障高吞吐率的前提下减少网内传输梯度量。
2.本发明的方法中通过设计NGAA通信协议保证网内聚合的高效性和鲁棒性。
3.本发明的方法梯度调度决策统一集中在中央管理器,集中式控制可以避免分布式模式下的低资源利用率等问题。
本发明公开了一种基于可编程交换机的网内聚合方案。该方案通过在控制面设计算法制定全局聚合策略与路由方案,实现高效的梯度网内聚合;在端系统设计NGAA通信协议,实现网内聚合路由与容错功能;在可编程交换机中设计并实现基于梯度段的梯度聚合功能,降低梯度传输数据量,从而消除网络带宽瓶颈,达到加速PS架构分布式模型训练的效果。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明框架中三层架构图;
图2为本发明框架中NGAA包定义图;
图3为本发明框架中可编程交换机内存划分图;
图4为本发明框架中网络拓扑图;
图5为本发明框架中内存变化表。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
目前可编程数据面的发展使网络设备在传输数据过程中执行一些处理操作,即传算一体。具体来说,可编程设备包括智能网卡以及可编程交换机。现有的可编程交换机可以通过P4语言由用户自定义数据包处理方式从而减少计算节点计算开销。可编程交换机具有简单的数学运算功能,能够满足梯度聚合计算要求,因此本实施例中加入可编程交换机,通过可编程交换机在网内聚合worker节点的梯度,降低梯度传输量以及PS计算负载,从而加速模型训练速度。
本实施例中涉及的三层架构图如图1,包括网内聚合层、主机处理层以及框架管理层。其中,网内聚合层中通过可编程交换机进行剃度段的网内聚合,实现外部梯度存储。主机处理层中的PS和worker节点进行丢包处理以全局聚合的操作。框架管理层向主机处理层发送路由更新策略。
具体的,本发明实施例提供的一种PS架构下基于可编程交换机的梯度调度方法,由数据中心平台的控制器执行,所述数据中心平台还包括主节点PS、若干worker节点、以及可编程交换机,所述可编程交换机包括若干聚合器,所述聚合器用于以梯度段为粒度对worker节点发送的梯度进行网内聚合,该方法具体包括:
S10、根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题。
本实施例中,中央控制器在形式化梯度调度问题时,主要考虑了以下约束:可编程交换机处理能力约束,即可编程交换机只能计算不超过其处理能力的梯度量;链路带宽约束,即每条链路所能传输的梯度量不能超过其带宽;梯度调度需保证每个worker的梯度都选择一个聚合点。此外对每个梯度均选择一条路由路径到聚合点。对于有聚合任务的可编程交换机,需选择一条路由路径将聚合后的梯度传送给PS。
S20、根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径。
本实施例中,目标聚合点可以为可编程交换机节点或PS。梯度调度的目标是最小化PS直接聚合梯度量。
本实施例中,中央控制器根据随机舍入算法计算该约束问题的解,并生成梯度调度和路由路径方案。其中,梯度调度指的是每个worker的梯度在哪个节点聚合(可编程交换机节点或PS)以及每个梯度的路由路径。
具体的,根据随机舍入算法计算该约束问题的解,包括:
根据所述优化目标计算出所述约束问题的最优分数解;
根据该最优分数解的值设置其舍入为1的概率,并进行随机舍入操作确定各worker节点梯度聚合的目标可编程交换机和路由路径。
上述路由路径为有聚合任务的目标可编程交换机将聚合后的梯度发送给PS的路径。
本发明实施例通过控制面设计算法制定全局聚合策略与路由方案,实现高效的梯度网内聚合。
S30、若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合,并通过所述目标可编程交换机路由路径将聚合后的梯度发送至主节点PS。
本实施例中,worker通过将自身梯度封装在一个自定义数据包NGAA中发送给对应的目标可编程交换机进行网内聚合。
由于可编程交换机无法处理大数据包和浮点数计算,worker节点将梯度元素转换成32位整型元素并封装在一系列NGAA包中发送。
由于可编程交换机无法处理除法运算,PS节点在收到聚合后的NGAA包会执行求平均操作,并将聚合后的梯度封装成NGAA参数包发送给所有worker。
具体的参见图2,本实施例中的NGAA包包括:以太网帧包头,ipv4包头、NGAA包头、以及负载,所述负载包括转换后的整型梯度元素。
其中,所述NGAA包头包括:
bitmap字段:为自身标识,由独热码编码;
switchid字段:作为聚合点的可编程交换机编号;
count字段:为聚合点需要聚合梯度段的worker;
index字段:为可编程交换机内存中聚合器的编号;
fragid字段:用于标识该梯度段在整个梯度中的编号;
isack字段:用于标识该NGAA包为PS发往worker的聚合完成的参数包;
resend字段:用来标识PS发往worker的重传包;
overflow字段:用来标识梯度段在转换成整型元素时是否发生溢出。
本实施例中的梯度调度方案由中央控制器主动向每个worker节点和PS节点下发控制消息,worker节点和PS节点基于控制消息设置NGAA包头的switchid字段。
本实施例的技术方案,借助数据面可编程设备,在转发梯度的过程中实现梯度聚合,从而减少梯度传数量,消除分布式模型训练的带宽瓶颈。
进一步参见图3,本实施例中,可编程交换机内存划分为4个区域:Bitmap(位图),Counter(计数器),Fragment(梯度段)以及Data(数据)。每个区域均代表一个数组,相同index(索引)的数组元素维护相同梯度段状态。当执行聚合操作时,将根据NGAA包index字段更新相应的内存区域。首先检查Fragment[index]中的值是否与NGAA包中fragid(剃度段编号)相同,如果相同则表示该区域中存储的梯度段与接收到的梯度段为梯度中的同一段子序列,可以聚合,否则发生碰撞。可编程交换机将NGAA包负载中的每一个梯度元素加到Data[index]中。然后Counter[index]自增一,代表该梯度段聚合次数加1。同时Bitmap[index]=Bitmap[index]|bitmap,记录该梯度段已聚合的worker。可编程交换及比较Counter[index]与NGAA包的counter字段,如果相同代表该梯度段完成聚合,将该梯度段封装成NGAA包裹发送给PS。
进一步的,当不同梯度段被映射到同一段片上内存聚合时,即当不同fragid的NGAA包具有相同的index字段时,会发生冲突,可编程交换机会将梯度段id较小的梯度段发送到DRAM中聚合,聚合完毕的梯度段会重新被发送给交换机数据面进行转发。
本发明实施例设计的NGAA通信协议还具有容错机制,当PS检测到乱序的NGAA包,就检测到丢包。PS会构造梯度段id乱序的NGAA包,并置resend为1,发送包含重传字段的NGAA包给所有worker,以通过worker节点重新发送该丢失的NGAA包。
本实施例中,可编程交换机将片上内存划分为一系列聚合器,每个聚合器包含一个独一无二的id。可编程交换机内存划分由可编程交换机的寄存器进行硬件实现。可编程交换机通过PCIE端口向控制面发送NGAA包,同时控制面运行程序监听该PCIE端口捕获NGAA包。
当可编程交换机收到NGAA包后,会解析包头,首先检查NGAA包是否为重传包或参数包,如果是则直接转发。然后检查switchid字段是否与自身id相同,如果不相同则直接转发,否则执行聚合操作,即将该NGAA包负载的梯度段放置到index字段指定的聚合器中,该聚合器id应与index字段值相同。
本发明基于可编程交换机,主要致力于通过网内聚合加速PS架构分布式模型训练,在保证训练精度的同时,提高分布式模型训练速度,同时达到最小化PS节点计算负载的目标。
具体实施例
本实施例提供一种基于可编程交换机的梯度调度方法,其中环境是数据中心平台;数据中心平台由控制器,主机(PS和worker节点)以及可编程交换机构成。所述方法包括以下步骤:
(1)用户及分布式模型训练任务接入数据中心平台,中央控制器记录用户购买的主机以及模型训练种类;
(2)中央控制器根据网络拓扑,主机集合,梯度大小以及可编程交换机容量制定梯度调度策略,并将该梯度调度策略下发给相关的主机。
(3)主机根据接收到的调度策略封装NGAA包发送给PS。
(4)可编程交换机解析NGAA包并执行网内聚合操作。
具体的,所述步骤(1)中服务提供商向中央控制器提供的模型训练种类包括所需传输的梯度大小。本实施例中,PS架构包含8个worker节点和1个PS节点,需要传输的梯度量为2.5G,每个可编程交换机的处理容量为10Gbps。
具体的,所述步骤(2)中,网络拓扑如图4所示,中央控制器在制定梯度调度策略时,首先计算出形式化问题的最优分数解,并根据分数解的值设置其舍入为1的概率。例如在本实施例中worker1在s1,s2,s3以及PS聚合的分数解分别为0.6,0.2,0.2,0,那么worker1的梯度在s1聚合的概率为60%。确定梯度聚合点s1后,假设有2条路径到达s1,概率分别为0.3以及0.7,那么控制器选择第一条路径路由到s1的概率是0.6*0.3=0.18。
具体的,所述步骤(3)中,假设worker1自身bitmap为1000,其聚合点为s1。对于可编程交换机s1,其id=1,内存中划分的数组大小为10,控制面为其分配了三个worker的梯度进行聚合。假设梯度包含100个元素,每3个元素封装在一个NGAA包中,则每个NGAA包的fragid按顺序从0递增,直到34。对于每个NGAA包,设置bitmap=1000,switchid=1,counter=3,index=fragid%10。
具体的,所述步骤(4)中,可编程交换机解析NGAA数据包,如果switchid与自身id不同,则直接转发,否则检查Fragment数组对应index的值是否等于frag id。如果不相等,说明发生了碰撞,将frag id较小的梯度段转发到CPU对应的端口。如果相等,则执行聚合操作。假设收到的NGAA包fragid为12,聚合前后的内存变化(未显示Data)如图5所示。
本发明实施例还提供一种PS架构下基于可编程交换机的梯度调度装置,配置于数据中心平台的控制器中,所述数据中心平台还包括主节点PS、若干Worker节点、以及可编程交换机,所述可编程交换机包括若干聚合器,所述聚合器用于以梯度段为粒度对worker节点发送的梯度进行网内聚合,该装置包括:
约束问题建立模块,用于根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题;
目标聚合点确定模块,用于根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径;
网内聚合模块,用于若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合,并通过所述目标可编程交换机根据所述路由路径将聚合后的梯度发送至主节点PS。
可选的,所述约束问题的优化目标是最小化主节点PS直接聚合的梯度量,相应的,目标聚合点确定模块具体用于:
根据所述优化目标计算出所述约束问题的最优分数解;
根据该最优分数解的值设置其舍入为1的概率,并进行随机舍入操作确定各worker节点梯度聚合的目标可编程交换机。
可选的,网内聚合模块中的worker节点将自身梯度发送对应的目标可编程交换机进行聚合,包括:
worker节点将自身梯度转换成32位整型元素,并封装在若干自定义数据包NGAA中,将封装后的NGAA包发送至所述目标可编程交换机,以通过所述目标可编程交换机对NGAA包中的梯度进行网内聚合。
进一步的,还装置还用于:通过主节点PS对聚合后的NGAA包执行求平均操作,并将处理后的梯度封装成NGAA参数包发送给所有worker节点。
其中,所述NGAA包包括:以太网帧包头,ipv4包头、NGAA包头、以及负载,所述负载包括转换后的整型梯度元素。
所述NGAA包头包括:
bitmap字段:为自身标识;
switchid字段:作为聚合点的可编程交换机编号;
count字段:为聚合点需要聚合梯度段的worker;
index字段:为可编程交换机内存中聚合器的编号;
fragid字段:用于标识该梯度段在整个梯度中的编号;
isack字段:用于标识该NGAA包为PS发往worker的聚合完成的参数包;
resend字段:用来标识PS发往worker的重传包;
overflow字段:用来标识梯度段在转换成整型元素时是否发生溢出。
进一步的,当不同fragid的NGAA包具有相同的index字段,则判定梯度段聚合发生冲突;
通过可编程交换机将fragid较小的NGAA包发送到DRAM中聚合。
当主节点PS收到乱序NGAA包,则该乱序NGAA包为丢失的NGAA包;
主节点PS会发送包含重传字段的NGAA包给所有worker节点,以通过worker节点重新发送该丢失的NGAA包。
所述目标可编程交换机中的每一聚合器对应设置有唯一的id,当所述目标可编程交换机收到NGAA包后会解析包头,将该NGAA包负载的梯度段放置到index字段指定的聚合器中,该指定的聚合器id与index字段值相同。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种PS架构下基于可编程交换机的梯度调度方法,其特征在于,由数据中心平台的控制器执行,所述数据中心平台还包括主节点PS、若干Worker节点、以及可编程交换机,所述可编程交换机包括若干聚合器,所述聚合器用于以梯度段为粒度对worker节点发送的梯度进行网内聚合,该方法包括:
S10、根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题;
S20、根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径;
S30、若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合,并通过所述目标可编程交换机路由路径将聚合后的梯度发送至主节点PS;
所述S30中的worker节点将自身梯度发送对应的目标可编程交换机进行聚合,包括:
worker节点将自身梯度转换成32位整型元素,并封装在若干自定义数据包NGAA中,将封装后的NGAA包发送至所述目标可编程交换机,以通过所述目标可编程交换机对NGAA包中的梯度进行网内聚合;
所述NGAA包包括:以太网帧包头,ipv4包头、NGAA包头、以及负载,所述负载包括转换后的整型梯度元素;
所述NGAA包头包括:
bitmap字段:为自身标识;
switchid字段:作为聚合点的可编程交换机编号;
count字段:为聚合点需要聚合梯度段的worker;
index字段:为可编程交换机内存中聚合器的编号;
fragid字段:用于标识该梯度段在整个梯度中的编号;
Isack字段:用于标识该NGAA包为PS发往worker的聚合完成的参数包;
resend字段:用来标识PS发往worker的重传包;
overflow字段:用来标识梯度段在转换成整型元素时是否发生溢出;
当不同fragid的NGAA包具有相同的index字段,则判定梯度段聚合发生冲突;
通过可编程交换机将fragid较小的NGAA包发送到DRAM中聚合。
2.根据权利要求1所述的方法,其特征在于,所述S20中约束问题的优化目标是最小化主节点PS直接聚合的梯度量,相应的,所述S20具体包括:
根据所述优化目标计算出所述约束问题的最优分数解;
根据该最优分数解的值设置其舍入为1的概率,并进行随机舍入操作确定各worker节点梯度聚合的目标可编程交换机。
3.根据权利要求1所述的方法,其特征在于,在所述S30之后,还包括:
通过主节点PS对聚合后的NGAA包执行求平均操作,并将处理后的梯度封装成NGAA参数包发送给所有worker节点。
4.根据权利要求1所述的方法,其特征在于,当主节点PS收到乱序NGAA包,则该乱序NGAA包为丢失的NGAA包;
主节点PS会发送包含重传字段的NGAA包给所有worker节点,以通过worker节点重新发送该丢失的NGAA包。
5.根据权利要求1所述的方法,其特征在于,所述目标可编程交换机中的每一聚合器对应设置有唯一的id,当所述目标可编程交换机收到NGAA包后会解析包头,将该NGAA包负载的梯度段放置到index字段指定的聚合器中,该指定的聚合器id与index字段值相同。
6.一种PS架构下基于可编程交换机的梯度调度装置,其特征在于,配置于数据中心平台的控制器中,所述数据中心平台还包括主节点PS、若干Worker节点、以及可编程交换机,所述可编程交换机包括若干聚合器,所述聚合器用于以梯度段为粒度对worker节点发送的梯度进行网内聚合,该装置包括:
约束问题建立模块,用于根据worker节点的训练任务、可编程交换机计算负载以及链路带宽负载生成相应约束问题;
目标聚合点确定模块,用于根据所述约束问题确定各worker节点梯度聚合的目标聚合点和路由路径;
网内聚合模块,用于若所述目标聚合点为可编程交换机,则控制worker节点将自身梯度发送至对应的目标可编程交换机进行网内聚合,并通过所述目标可编程交换机根据所述路由路径将聚合后的梯度发送至主节点PS;
网内聚合模块中的worker节点将自身梯度发送对应的目标可编程交换机进行聚合,包括:
worker节点将自身梯度转换成32位整型元素,并封装在若干自定义数据包NGAA中,将封装后的NGAA包发送至所述目标可编程交换机,以通过所述目标可编程交换机对NGAA包中的梯度进行网内聚合;
所述NGAA包包括:以太网帧包头,ipv4包头、NGAA包头、以及负载,所述负载包括转换后的整型梯度元素;
所述NGAA包头包括:
bitmap字段:为自身标识;
switchid字段:作为聚合点的可编程交换机编号;
count字段:为聚合点需要聚合梯度段的worker;
index字段:为可编程交换机内存中聚合器的编号;
fragid字段:用于标识该梯度段在整个梯度中的编号;
Isack字段:用于标识该NGAA包为PS发往worker的聚合完成的参数包;
resend字段:用来标识PS发往worker的重传包;
overflow字段:用来标识梯度段在转换成整型元素时是否发生溢出;
当不同fragid的NGAA包具有相同的index字段,则判定梯度段聚合发生冲突;
通过可编程交换机将fragid较小的NGAA包发送到DRAM中聚合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210314177.3A CN114900482B (zh) | 2022-03-28 | 2022-03-28 | Ps架构下基于可编程交换机的梯度调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210314177.3A CN114900482B (zh) | 2022-03-28 | 2022-03-28 | Ps架构下基于可编程交换机的梯度调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900482A CN114900482A (zh) | 2022-08-12 |
CN114900482B true CN114900482B (zh) | 2023-05-30 |
Family
ID=82714893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210314177.3A Active CN114900482B (zh) | 2022-03-28 | 2022-03-28 | Ps架构下基于可编程交换机的梯度调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900482B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062771B (zh) * | 2022-08-16 | 2022-11-25 | 之江实验室 | 一种分布式机器学习梯度汇聚方法、装置及模型训练方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017167044A1 (zh) * | 2016-03-26 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种分布式集群训练方法和装置 |
WO2022003562A1 (en) * | 2020-06-29 | 2022-01-06 | King Abdullah University Of Science And Technology | Statistical-based gradient compression method for distributed training system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321129B (zh) * | 2008-07-01 | 2010-12-08 | 中国科学院计算技术研究所 | 一种基于精细梯度策略的数据转发方法及系统 |
CN110033078B (zh) * | 2018-01-12 | 2024-01-12 | 华为技术有限公司 | 一种基于树状拓扑的计算系统及方法 |
US20210374503A1 (en) * | 2018-10-15 | 2021-12-02 | Board Of Trustees Of The University Of Illinois | Network-centric architecture and algorithms to accelerate distributed training of neural networks |
JP7135743B2 (ja) * | 2018-11-06 | 2022-09-13 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
CN112955909A (zh) * | 2019-02-01 | 2021-06-11 | 华为技术有限公司 | 神经网络的分布式训练方法及装置 |
US11706163B2 (en) * | 2019-12-20 | 2023-07-18 | The Board Of Trustees Of The University Of Illinois | Accelerating distributed reinforcement learning with in-switch computing |
CN113783664A (zh) * | 2020-06-09 | 2021-12-10 | 华为技术有限公司 | 消息传输方法和消息传输装置 |
CN112702267B (zh) * | 2021-01-21 | 2023-04-07 | 广东工业大学 | 分布式训练路由方法、系统、储存介质及计算机设备 |
CN112862111B (zh) * | 2021-04-26 | 2021-08-24 | 之江实验室 | 一种加速分布式机器学习梯度汇聚的方法和装置 |
-
2022
- 2022-03-28 CN CN202210314177.3A patent/CN114900482B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017167044A1 (zh) * | 2016-03-26 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种分布式集群训练方法和装置 |
WO2022003562A1 (en) * | 2020-06-29 | 2022-01-06 | King Abdullah University Of Science And Technology | Statistical-based gradient compression method for distributed training system |
Also Published As
Publication number | Publication date |
---|---|
CN114900482A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2915299B1 (en) | A method for dynamic load balancing of network flows on lag interfaces | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
EP2858325A1 (en) | Multi-stream service concurrent transmission method, sub-system, system and multi-interface terminal | |
WO2023039965A1 (zh) | 流量疏导的云边计算网络计算资源均衡调度方法及系统 | |
CN101946468B (zh) | 多个通信接口之间的约束动态路径选择 | |
CN106664290A (zh) | 一种光电混合网络的数据传输方法及装置 | |
JP7313480B2 (ja) | スライスベースネットワークにおける輻輳回避 | |
CN108471629A (zh) | 传输网络中业务服务质量的控制方法、设备及系统 | |
CN104734988A (zh) | 软件定义网络中路由控制的方法和开放流控制器 | |
EP4084433A1 (en) | Communication method and apparatus | |
CN116389365B (zh) | 一种交换机数据处理方法及系统 | |
WO2021244247A1 (zh) | 转发数据报文的方法、网络节点、系统及存储介质 | |
CN114900482B (zh) | Ps架构下基于可编程交换机的梯度调度方法和装置 | |
WO2021244450A1 (zh) | 一种通信方法及装置 | |
US20200112523A1 (en) | Data Flow Processing Method and Device | |
CN109842868A (zh) | 一种帧聚合、网络设置帧发送方法及设备 | |
Wen et al. | Protocol function block mapping of software defined protocol for 5G mobile networks | |
CN109104742A (zh) | 拥塞窗口调整方法及发送设备 | |
CN114945032A (zh) | 电力物联网终端数据接入系统、方法、装置、设备及介质 | |
CN117014967A (zh) | 移动通信系统、方法和用户面节点 | |
CN108347378A (zh) | 一种用于大电网的控制专用网络及动态路由方法 | |
CN112822233A (zh) | 流量重定向方法及装置 | |
CN117938750B (zh) | 调度路由信息的处理方法、装置、设备、存储介质及产品 | |
CN111147386A (zh) | 用于处理数据传输拥塞的方法、电子设备和计算机程序产品 | |
Khawaldah | The task of managing flows in a communication network of the X. 25 protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |