CN111079948B - 一种基于sdn的分布式机器学习训练加速方法 - Google Patents

一种基于sdn的分布式机器学习训练加速方法 Download PDF

Info

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
Application number
CN201911371620.5A
Other languages
English (en)
Other versions
CN111079948A (zh
Inventor
贺元林
丁奔程
武浩
章小宁
李自华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201911371620.5A priority Critical patent/CN111079948B/zh
Publication of CN111079948A publication Critical patent/CN111079948A/zh
Application granted granted Critical
Publication of CN111079948B publication Critical patent/CN111079948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于SDN的分布式机器学习训练加速方法,通过解决分布式机器学习训练过程中参数同步通信中出现的TCP Incast问题,实现了分布式机器学习训练的加速。本发明通过对分布式机器学习训练的参数同步通信过程进行优化,不需要关心工作节点的机器学习任务模型,也不需要修改工作节点及参数服务器的TCP/IP协议栈,可移植性好,实用与所有基于参数服务器的分布式机器学习任务的训练。本发明不需要压缩和牺牲需更新的部分参数,有利于分布式机器学习模型的快速收敛,加快了分布式机器学习的训练。

Description

一种基于SDN的分布式机器学习训练加速方法
技术领域
本发明属于分布式机器学习训练领域,具体涉及一种基于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为:
Figure BDA0002339786780000031
其中,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为:
Figure BDA0002339786780000061
其中,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。
4.根据权利要求3所述的基于SDN的分布式机器学习训练加速方法,其特征在于,所述步骤S6中发送窗口大小Wi_swnd为:
Figure FDA0002339786770000021
其中,N表示发送端总数,i表示第i个发送端,i=1,2,...,N,C表示链路宽带,Buffer_size表示缓存区大小。
5.根据权利要求4所述的基于SDN的分布式机器学习训练加速方法,其特征在于,所述步骤S7中根据发送窗口大小Wi_swnd,通过SDN控制器改写ACK包中的rwnd字段的具体方法为:
rwnd_new=Wi_swnd
其中,rwnd_new表示rwnd字段的改写值。
CN201911371620.5A 2019-12-27 2019-12-27 一种基于sdn的分布式机器学习训练加速方法 Active CN111079948B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499796A (zh) * 2020-11-12 2022-05-13 大唐移动通信设备有限公司 一种数据传输方法、装置及设备
CN114866429B (zh) * 2022-04-28 2023-07-18 中国科学技术大学苏州高等研究院 联合路由决策和网内聚合的分布式模型训练方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035897A1 (en) * 2011-09-06 2013-03-14 Alcatel Lucent A method for avoiding network congestion and an apparatus thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
分布式机器学习平台与算法综述;舒娜 等;《计算机科学》;20190315;第46卷(第3期);第9-18页 *

Also Published As

Publication number Publication date
CN111079948A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111818570B (zh) 一种面向真实网络环境的智能拥塞控制方法及系统
CN109995583B (zh) 一种延迟保证的nfv云平台动态扩缩容方法及系统
CN111079948B (zh) 一种基于sdn的分布式机器学习训练加速方法
JP5276589B2 (ja) 遠隔通信ネットワークにおける情報転送の最適化方法
US9054973B2 (en) Method and system for Ethernet congestion management
CN101651709A (zh) 一种p2p下载文件完整性校验方法
CN108540402A (zh) 一种优化队列时延的方法和设备
CN114422448A (zh) 一种时间敏感网络流量整形方法
CN111211988A (zh) 面向分布式机器学习的数据传输方法及系统
JP5862811B1 (ja) 評価装置、評価方法、及びプログラム
CN110177056B (zh) 一种自动适应的带宽控制方法
CN114257554A (zh) 一种提高tsn网络be流带宽利用率的调度方法
CN112491736A (zh) 一种拥塞控制方法、装置、电子设备及存储介质
CN107046507B (zh) 一种用于dcn中任务传输的拥塞控制方法
CN111049745B (zh) 一种基于大数据分析的网络规划方法及装置
CN106101005B (zh) 一种数据中心网络中基于分组长度的拥塞控制方法
CN105162612B (zh) 一种计算afdx网络中数据积压的方法
CN106789743A (zh) 一种sdn数据传输设备的自适应带宽调节方法及装置
CN114301845B (zh) 一种自适应的数据中心网络传输协议选择方法
Wang et al. Efficient and fair: Information-agnostic online coflow scheduling by combining limited multiplexing with drl
Fukui et al. Delay-based shaper with dynamic token bucket algorithm for deterministic networks
JP3548005B2 (ja) フロー制御方法及びフロー制御装置
US7805287B1 (en) Node emulator
CN111614436B (zh) 一种基于贝叶斯推断的动态数据包打包方法
WO2014010723A1 (ja) スイッチ、通信システム、スイッチ制御方法及びプログラム

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