CN111079948B - 一种基于sdn的分布式机器学习训练加速方法 - Google Patents
一种基于sdn的分布式机器学习训练加速方法 Download PDFInfo
- Publication number
- CN111079948B CN111079948B CN201911371620.5A CN201911371620A CN111079948B CN 111079948 B CN111079948 B CN 111079948B CN 201911371620 A CN201911371620 A CN 201911371620A CN 111079948 B CN111079948 B CN 111079948B
- Authority
- CN
- China
- Prior art keywords
- rtt
- machine learning
- rtt value
- sdn
- current
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN的分布式机器学习训练加速方法,通过解决分布式机器学习训练过程中参数同步通信中出现的TCP Incast问题,实现了分布式机器学习训练的加速。本发明通过对分布式机器学习训练的参数同步通信过程进行优化,不需要关心工作节点的机器学习任务模型,也不需要修改工作节点及参数服务器的TCP/IP协议栈,可移植性好,实用与所有基于参数服务器的分布式机器学习任务的训练。本发明不需要压缩和牺牲需更新的部分参数,有利于分布式机器学习模型的快速收敛,加快了分布式机器学习的训练。
Description
技术领域
本发明属于分布式机器学习训练领域,具体涉及一种基于SDN的分布式机器学习训练加速方法。
背景技术
基于参数服务器(PS)的体系架构在当今主流的分布式机器学习(DML)系统中被广泛使用,其有易于部署、弹性的可伸缩性和容错能力等优点,架构中PS为中心参数服务器,收集每次迭代过程中来自工作结点(Worker)的训练参数更新,并在聚合后更新到每个Worker。传统的基于PS的DML系统通常采用批量同步并行(BSP)模式在Worker之间同步参数,但是BSP模式存在短板效应,因为每个Worker可能会产生不同的计算/通信开销,从而导致不同的完成时间。在BSP模式下,所有Worker被迫等待最慢的Worker完成训练才能进入下一轮迭代。为了解决BSP中的短板效应问题,提出了异步并行(ASP)和有限制的异步并行(SSP),但是这两种参数同步方式是以牺牲迭代质量换取迭代速度,所以整个DML任务的收敛速度反而可能会比BSP慢,所以目前主流的DML平台都是使用BSP参数同步模式。
软件定义网络(Software Defined Network,SDN)将数据的转发与控制进行分离,网络控制面被抽取到一个集中式的控制器(Controller)中,即数据流的接入和路由等相关操作都交由Controller控制,Controller将这些操作以流表的形式下发至交换机,而交换机则只负责数据分组的转发和执行对应的动作即可。SDN这种集中控制特性在网络性能优化、网络管理以及接入新的网络功能等方面都有着重要意义。
在基于参数服务器的分布式机器学习架构中,模型训练过程的每一轮迭代都需要借助参数服务器同步所有Worker的参数更新,在多个Worker同时向PS上传参数更新时,这种“多对一”的通信模式不可避免出现TCP Incast问题,从而导致往返时延(Round TripTime,RTT)增加。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于SDN的分布式机器学习训练加速方法解决了分布式机器学习训练过程中出现的TCP Incast问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于SDN的分布式机器学习训练加速方法,包括以下步骤:
S1、采集分布式机器学习训练中当前迭代过程的参数同步通信过程所产生的所有RTT值;
S2、获取当前RTT值和上一次RTT值,并通过当前RTT值和上一次RTT值对下一次RTT值进行预测;
S3、根据预测的下一次RTT值,开启定时器,开始参数同步通信;
S4、通过SDN控制器获取SDN交换器的缓存占用数据;
S5、判断缓存占用数据是否超过设定的阈值β,若是,则进入步骤S6,否则返回步骤S2;
S6、获取第i个发送端在当前SDN交换机占用的缓存不超过阈值,且不发生TCPIncast问题时的发送窗口大小Wi_swnd;
S7、根据发送窗口大小Wi_swnd,通过SDN控制器改写ACKi包中的rwnd字段,并将改写后的ACKi包传输至其对应的第i个发送端;
S8、通过第i个发送端接收对应的ACKi包,并根据ACKi包调整预测的下一次RTT值对应的发送窗口大小;
S9、当预测的下一次RTT值对应通信过程结束后,判断当前迭代过程的参数同步通信是否结束,若是,则结束,否则令预测的下一次RTT值为当前RTT值,并返回步骤S2。
进一步地,所述步骤S2的分步骤包括:
S1、根据采集的RTT值,获取当前RTT值和上一次RTT值,所述当前RTT值rtt_current为:
rtt_current=t2+ts-t1
S2、根据当前RTT值和上一次RTT值,采用一次指数平滑算法获取预测的下一次RTT值rtt_next为:
rtt_next=rtt_pre+α*(rtt_current-rtt_pre)
其中,t1表示TCP数据包中的Timestamp字段,t2表示当前RTT值对应TCP的ACK包离开SDN交换器的时间,ts表示ACK包从SDN交换器到发送端的传输延迟,rtt_pre表示上一次的RTT值,α表示预测RTT值计算系数,α=0.125。
进一步地,所述步骤S5中阈值β设定为0.8。
进一步地,所述步骤S6中发送窗口大小Wi_swnd为:
其中,N表示发送端总数,i表示第i个发送端,i=1,2,...,N,C表示链路宽带,Buffer_size表示缓存区大小。
进一步地,所述步骤S7中根据发送窗口大小Wi_swnd,通过SDN控制器改写ACK包中的rwnd字段的具体方法为:
rwnd_new=Wi_swnd
其中,rwnd_new表示rwnd字段的改写值。
本发明的有益效果为:
(1)本发明通过对分布式机器学习训练的参数同步过程进行优化,不需要关心工作节点的学习任务模型及数据,可移植性好,实用与所有基于参数服务器的分布式机器学习任务的训练。
(2)本发明不需要压缩和牺牲需更新的部分参数,有利于分布式机器学习模型的快速收敛,加快了分布式机器学习的训练。
(3)本发明基于SDN对分布式机器学习的训练进行加速,只需改动中间件,不需要对现有分布式机器学习构架进行改动,易于实施,经济新高。
(4)本发明通过解决分布式机器学习训练过程参数同步通信中出现的TCP Incast问题,实现了分布式机器学习训练的加速。
附图说明
图1为本发明提出的一种基于SDN的分布式机器学习训练加速方法流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
下面结合附图详细说明本发明的实施例。
如图1所示,一种基于SDN的分布式机器学习训练加速方法,包括以下步骤:
S1、采集分布式机器学习训练中当前迭代过程的参数同步通信过程所产生的所有RTT值;
S2、获取当前RTT值和上一次RTT值,并通过当前RTT值和上一次RTT值对下一次RTT值进行预测;
S3、根据预测的下一次RTT值,开启定时器,开始参数同步通信;
S4、通过SDN控制器获取SDN交换器的缓存占用数据;
S5、判断缓存占用数据是否超过设定的阈值β,若是,则进入步骤S6,否则返回步骤S2;
S6、获取第i个发送端在当前SDN交换机占用的缓存不超过阈值,且不发生TCPIncast问题时的发送窗口大小Wi_swnd;
S7、根据发送窗口大小Wi_swnd,通过SDN控制器改写ACKi包中的rwnd字段,并将改写后的ACKi包传输至其对应的第i个发送端;
S8、通过第i个发送端接收对应的ACKi包,并根据ACKi包调整预测的下一次RTT值对应的发送窗口大小;
S9、当预测的下一次RTT值对应通信过程结束后,判断当前迭代过程的参数同步通信是否结束,若是,则结束,否则令预测的下一次RTT值为当前RTT值,并返回步骤S2。
所述步骤S2的分步骤包括:
S1、根据采集的RTT值,获取当前RTT值和上一次RTT值,所述当前RTT值rtt_current为:
rtt_current=t2+ts-t1
S2、根据当前RTT值和上一次RTT值,采用一次指数平滑算法获取预测的下一次RTT值rtt_next为:
rtt_next=rtt_pre+α*(rtt_current-rtt_pre)
其中,t1表示TCP数据包中的Timestamp字段,t2表示当前RTT值对应TCP的ACK包离开SDN交换器的时间,ts表示ACK包从SDN交换器到发送端的传输延迟,rtt_pre表示上一次的RTT值,α表示预测RTT值计算系数,α=0.125。
所述步骤S5中阈值β设定为0.8。
所述步骤S6中发送窗口大小Wi_swnd为:
其中,N表示发送端总数,i表示第i个发送端,i=1,2,...,N,C表示链路宽带,Buffer_size表示缓存区大小。
所述步骤S7中根据发送窗口大小Wi_swnd,通过SDN控制器改写ACK包中的rwnd字段的具体方法为:
rwnd_new=Wi_swnd
其中,rwnd_new表示rwnd字段的改写值。
本发明通过对分布式机器学习训练的参数同步过程进行优化,不需要关心工作节点的学习任务模型及数据,可移植性好,实用与所有基于参数服务器的分布式机器学习任务的训练。
本发明不需要压缩和牺牲需更新的部分参数,有利于分布式机器学习模型的快速收敛,加快了分布式机器学习的训练。本发明基于SDN对分布式机器学习的训练进行加速,只需改动中间件,不需要对现有分布式机器学习构架进行改动,易于实施,经济新高。本发明通过解决分布式机器学习训练过程参数同步通信中出现的TCP Incast问题,实现了分布式机器学习训练的加速。
Claims (5)
1.一种基于SDN的分布式机器学习训练加速方法,其特征在于,包括以下步骤:
S1、采集分布式机器学习训练中当前迭代过程的参数同步通信过程所产生的所有RTT值;
S2、获取当前RTT值和上一次RTT值,并通过当前RTT值和上一次RTT值对下一次RTT值进行预测;
S3、根据预测的下一次RTT值,开启定时器,开始参数同步通信;
S4、通过SDN控制器获取SDN交换器的缓存占用数据;
S5、判断缓存占用数据是否超过设定的阈值β,若是,则进入步骤S6,否则返回步骤S2;
S6、获取第i个发送端在当前SDN交换机占用的缓存不超过阈值,且不发生TCP Incast问题时的发送窗口大小Wi_swnd;
S7、根据发送窗口大小Wi_swnd,通过SDN控制器改写ACKi包中的rwnd字段,并将改写后的ACKi包传输至其对应的第i个发送端;
S8、通过第i个发送端接收对应的ACKi包,并根据ACKi包调整预测的下一次RTT值对应的发送窗口大小;
S9、当预测的下一次RTT值对应通信过程结束后,判断当前迭代过程的参数同步通信是否结束,若是,则结束,否则令预测的下一次RTT值为当前RTT值,并返回步骤S2。
2.根据权利要求1所述的基于SDN的分布式机器学习训练加速方法,其特征在于,所述步骤S2的分步骤包括:
S1、根据采集的RTT值,获取当前RTT值和上一次RTT值,所述当前RTT值rtt_current为:
rtt_current=t2+ts-t1
S2、根据当前RTT值和上一次RTT值,采用一次指数平滑算法获取预测的下一次RTT值rtt_next为:
rtt_next=rtt_pre+α*(rtt_current-rtt_pre)
其中,t1表示TCP数据包中的Timestamp字段,t2表示当前RTT值对应TCP的ACK包离开SDN交换器的时间,ts表示ACK包从SDN交换器到发送端的传输延迟,rtt_pre表示上一次的RTT值,α表示预测RTT值计算系数,α=0.125。
3.根据权利要求1所述的基于SDN的分布式机器学习训练加速方法,其特征在于,所述步骤S5中阈值β设定为0.8。
5.根据权利要求4所述的基于SDN的分布式机器学习训练加速方法,其特征在于,所述步骤S7中根据发送窗口大小Wi_swnd,通过SDN控制器改写ACK包中的rwnd字段的具体方法为:
rwnd_new=Wi_swnd
其中,rwnd_new表示rwnd字段的改写值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911371620.5A CN111079948B (zh) | 2019-12-27 | 2019-12-27 | 一种基于sdn的分布式机器学习训练加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911371620.5A CN111079948B (zh) | 2019-12-27 | 2019-12-27 | 一种基于sdn的分布式机器学习训练加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111079948A CN111079948A (zh) | 2020-04-28 |
CN111079948B true CN111079948B (zh) | 2023-02-24 |
Family
ID=70318212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911371620.5A Active CN111079948B (zh) | 2019-12-27 | 2019-12-27 | 一种基于sdn的分布式机器学习训练加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111079948B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499796B (zh) * | 2020-11-12 | 2024-10-15 | 大唐移动通信设备有限公司 | 一种数据传输方法、装置及设备 |
CN114866429B (zh) * | 2022-04-28 | 2023-07-18 | 中国科学技术大学苏州高等研究院 | 联合路由决策和网内聚合的分布式模型训练方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847175A (zh) * | 2016-04-21 | 2016-08-10 | 中国科学院信息工程研究所 | 数据中心网络中的应用层调度方法 |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习系统能耗的方法 |
CN110233798A (zh) * | 2018-03-05 | 2019-09-13 | 华为技术有限公司 | 数据处理方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2754274B1 (en) * | 2011-09-06 | 2017-06-14 | Alcatel Lucent | A method for avoiding network congestion and an apparatus thereof |
-
2019
- 2019-12-27 CN CN201911371620.5A patent/CN111079948B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847175A (zh) * | 2016-04-21 | 2016-08-10 | 中国科学院信息工程研究所 | 数据中心网络中的应用层调度方法 |
CN110233798A (zh) * | 2018-03-05 | 2019-09-13 | 华为技术有限公司 | 数据处理方法、装置及系统 |
CN109271015A (zh) * | 2018-10-10 | 2019-01-25 | 杭州电子科技大学 | 一种降低大规模分布式机器学习系统能耗的方法 |
Non-Patent Citations (1)
Title |
---|
分布式机器学习平台与算法综述;舒娜 等;《计算机科学》;20190315;第46卷(第3期);第9-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111079948A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995583B (zh) | 一种延迟保证的nfv云平台动态扩缩容方法及系统 | |
JP5276589B2 (ja) | 遠隔通信ネットワークにおける情報転送の最適化方法 | |
US9054973B2 (en) | Method and system for Ethernet congestion management | |
CN111079948B (zh) | 一种基于sdn的分布式机器学习训练加速方法 | |
CN101651709A (zh) | 一种p2p下载文件完整性校验方法 | |
CN114422448A (zh) | 一种时间敏感网络流量整形方法 | |
CN108540402A (zh) | 一种优化队列时延的方法和设备 | |
JP5862811B1 (ja) | 評価装置、評価方法、及びプログラム | |
CN105025063A (zh) | 面向大规模终端设备的在线数据传输方法 | |
CN110177056B (zh) | 一种自动适应的带宽控制方法 | |
CN115102905B (zh) | 一种ecn水线调整方法及装置 | |
CN114448899A (zh) | 一种均衡数据中心网络负载的方法 | |
CN112491736B (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
CN114257554A (zh) | 一种提高tsn网络be流带宽利用率的调度方法 | |
CN107046507B (zh) | 一种用于dcn中任务传输的拥塞控制方法 | |
CN106101005B (zh) | 一种数据中心网络中基于分组长度的拥塞控制方法 | |
CN105162612B (zh) | 一种计算afdx网络中数据积压的方法 | |
CN110971451A (zh) | Nfv资源分配方法 | |
Fukui et al. | Delay-based shaper with dynamic token bucket algorithm for deterministic networks | |
CN114301845B (zh) | 一种自适应的数据中心网络传输协议选择方法 | |
CN111049745A (zh) | 一种基于大数据分析的网络规划方法及装置 | |
CN115811799A (zh) | 一种基于ddpg的5g-tsn联合资源调度装置及方法 | |
CN111786979B (zh) | 一种基于多模态学习的电力攻击识别方法 | |
US7805287B1 (en) | Node emulator | |
Wang et al. | Efficient and fair: Information-agnostic online coflow scheduling by combining limited multiplexing with drl |
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 |