CN113705826A - 面向分布式机器学习的参数同步组播方法 - Google Patents

面向分布式机器学习的参数同步组播方法 Download PDF

Info

Publication number
CN113705826A
CN113705826A CN202110814617.7A CN202110814617A CN113705826A CN 113705826 A CN113705826 A CN 113705826A CN 202110814617 A CN202110814617 A CN 202110814617A CN 113705826 A CN113705826 A CN 113705826A
Authority
CN
China
Prior art keywords
node
parameter
receiver
sender
data
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.)
Granted
Application number
CN202110814617.7A
Other languages
English (en)
Other versions
CN113705826B (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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202110814617.7A priority Critical patent/CN113705826B/zh
Publication of CN113705826A publication Critical patent/CN113705826A/zh
Application granted granted Critical
Publication of CN113705826B publication Critical patent/CN113705826B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/02Data centres
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

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

Abstract

本发明公开一种面向分布式机器学习的参数同步组播方法。该方法包括:基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树;发送方节点获取目标发送速率,基于目标发送速率,通过组播树发送数据;交换机节点接收数据,将数据转发给接收方节点;接收方节点接收数据,更新接收方乘子参数,将接收方乘子参数发送给交换机节点;接收方节点接收接收方乘子参数,更新接收方同步参数和发送方同步参数,将接收方同步参数发送给发送方节点,以使发送方节点基于接收方同步参数更新目标发送速率,并将发送方同步参数发送给接收方节点,以使接收方节点基于发送方同步参数更新接收方乘子参数。该方法可保障数据中心网络的网络通信效率。

Description

面向分布式机器学习的参数同步组播方法
技术领域
本发明涉及分布式机器学习技术领域,尤其涉及一种面向分布式机器学习的参数同步组播方法。
背景技术
随着机器学习任务复杂性的增加,数据和深度学习模型的规模变得日益庞大。单机计算方式已经不能满足大规模深度学习模型所要求的计算能力和存储空间。为了提高深度学习模型的训练效率,研究人员采用分布式机器学习来执行大规模的训练任务,以达到高效地训练深度学习模型的目的。海量数据是机器学习的基础,算力是机器学习的必备条件。具备强大算力的数据中心网络正好切合深度学习模型进行分布式训练时对算力的需求。由于现有的数据中心网络的网络协议并不能很好地适应分布式机器学习网络传输的数据流特征,因此对面向分布式机器学习的数据中心相关关键技术进行研究具有必要性和重要性。
在分布式机器学习的训练过程中,参数同步意味着多个节点间的并发通信,从而导致网络中出现大量的冗余数据。冗余数据传输会占用网络资源,从而导致网络拥塞,增加数据流的发送时间。例如,在PS同步机制的pull阶段,参数服务器将更新后的参数发送给所有工作节点,假设共有N个工作节点,那么参数服务器将会生成N条数据流用以将最新的参数传给每个工作节点,在实际的网络拓扑结构中,如果它们的路由路径重叠,那么这些数据流将相互竞争网络资源。在All-reduce的Collect阶段,每个工作节点需要将自己维护的参数广播给所有其他工作节点,假设共有N个工作节点,那么每个工作节点都需要生成N-1条数据流发送到其他工作节点。无论是PS同步机制的Pull阶段还是All-Reduce同步机制的Collect阶段,都需要生成大量重复数据的数据流,冗余传输将会引起通信效率的降低。
发明内容
本发明实施例提供一种面向分布式机器学习的参数同步组播方法,以解决现有面向分布式机器学习的参数同步组播过程中存在大量重复数据流冗余传输,导致其通信效率降低的问题。
本发明提供一种面向分布式机器学习的参数同步组播方法,包括:
基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,所述组播树包括发送方节点、交换机节点和接收方节点;
发送方节点获取目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据;
交换机节点接收发送方节点发送的数据,将所述数据转发给接收方节点;
接收方节点接收交换机节点发送的数据,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点;
接收方节点接收所述接收方乘子参数,基于所述接收方乘子参数,更新接收方同步参数和发送方同步参数,将所述接收方同步参数发送给发送方节点,以使所述发送方节点基于所述接收方同步参数更新目标发送速率,并将所述发送方同步参数发送给接收方节点,以使所述接收方节点基于所述发送方同步参数更新接收方乘子参数。
优选地,所述基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,包括:
基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的至少一个传输链路;
获取至少一个所述传输链路对应的链路占用数量,基于链路占用数量最少的传输链路,生成所述发送方节点对应的组播树。
优选地,所述发送方节点获取目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据,包括:
发送方节点在发送新数据时,将初始化发送速率确定为目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据;
发送方节点在发送非新数据时,计算更新发送速率,将所述更新发送速率确定为目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据。
优选地,所述发送方节点在发送非新数据时,计算更新发送速率,包括:
接收交换机节点发送的接收方同步参数,所述接收方同步参数为
Figure BDA0003169545600000021
其中,βi为与第i个接收方节点相关的拉格朗日乘子,
Figure BDA0003169545600000022
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N2为接收方节点数量;
基于所述接收方同步参数,计算更新发送速率,所述更新发送速率为目标发送速率为
Figure BDA0003169545600000031
rs为目标发送速率,αs为与第s个发送方节点相关的拉格朗日乘子。
优选地,所述交换机节点接收发送方节点发送的数据,将所述数据转发给接收方节点,包括:
交换机节点接收发送方节点发送的数据,依据所述交换机节点对应的队列长度、最大队列长度和最小队列长度,确定拥塞标记概率;
依据所述拥塞标记概率,对接收到的数据进行拥塞标记,将携带拥塞标记的数据发送给接收方节点。
优选地,所述拥塞标记概率为
Figure BDA0003169545600000032
其中,p为拥塞标记概率,Kmin为最小队列长度,Kmax为最大队列长度,q为交换机节点对应的队列长度,Pmax为预先设置的最大拥塞概率。
优选地,所述接收方节点接收交换机节点发送的数据,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点,包括:
接收方节点接收交换机节点发送的数据,判断所述数据是否为新数据;
若所述数据为新数据,则采用第一乘子更新逻辑,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点;
若所述数据为非新数据,则采用第二乘子更新逻辑,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点。
优选地,所述采用第一乘子更新逻辑,更新接收方乘子参数,包括:
识别接收到的数据的拥塞标记,将拥塞标记为存在拥塞的数据发送给发送方节点,获取当前发送时刻;
若所述当前发送时刻之后的目标等待时间内,发送方节点接收到携带拥塞标记的数据,则采用βi=βi1,,更新接收方乘子参数;
若所述当前发送时刻之后的目标等待时间内,发送方节点没有接收到携带拥塞标记的数据,则采用βi=(1-ω1i,更新接收方乘子参数;
其中,βi为接收方乘子参数,ω1为步长。
优选地,所述采用第二乘子更新逻辑,更新接收方乘子参数,包括:
接收交换机节点发送的发送方同步参数,所述发送方同步参数为
Figure BDA0003169545600000041
αs为与第s个发送方节点相关的拉格朗日乘子,
Figure BDA0003169545600000042
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N1为发送方节点的数量;
基于所述发送方同步参数,更新接收方乘子参数,所述接收方乘子参数为
Figure BDA0003169545600000043
CLj为第j条传输链路Lj的带宽,Ri为第i个接收方节点的数据包达率,ω2为步长。
优选地,所述基于所述接收方乘子参数,更新接收方同步参数和发送方同步参数,包括:
基于所述接收方乘子参数,更新接收方同步参数,所述接收方同步参数为
Figure BDA0003169545600000044
其中,βi为接收方同步参数,
Figure BDA0003169545600000045
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N2为接收方节点数量;
基于所述所述接收方乘子参数,更新当前发送速率,所述当前发送速率为
Figure BDA0003169545600000046
其中,rk为交换机节点在当前时刻更新的当前发送速率,
Figure BDA0003169545600000047
为观测发送速率,r′k为交换机节点在上一时刻的当前发送速率,λ为权重;
基于所述当前发送速率,更新发送方同步参数,所述发送方同步参数为
Figure BDA0003169545600000048
其中,rk为交换机节点在当前时刻更新的当前发送速率,αs为与第s个发送方节点相关的拉格朗日乘子,
Figure BDA0003169545600000049
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N1为发送方节点的数量。
上述面向分布式机器学习的参数同步组播方法,交换机节点可根据接收方节点发送的接收方乘子参数,更新接收方同步参数和发送方同步参数;而发送方节点可根据接收方同步参数更新目标发送速率,且接收方节点可根据发送方同步参数,更新需要发送给交换机节点的接收方乘子参数,使得组播树中的整体组播流速率实时更新,有助于保障基于组播树进行数据传输时,避免大量重复数据流冗余传输而导致其传输效率低的问题,进而保障数据中心网络的网络通信效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据中心网络的一Fat-Tree网络拓扑;
图2是本发明一实施例中面向分布式机器学习的参数同步组播方法的一流程图;
图3是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一流程图;
图4是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一流程图;
图5是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一流程图;
图6是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一流程图;
图7是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一流程图;
图8是本发明一实施例中面向分布式机器学习的参数同步组播方法的一仿真试验结果示意图;
图9是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图;
图10是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图;
图11是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图;
图12是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图;
图13是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图;
图14是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图;
图15是本发明一实施例中面向分布式机器学习的参数同步组播方法的另一仿真试验结果示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的面向分布式机器学习的参数同步组播方法,该面向分布式机器学习的参数同步组播方法可应用如图1所示的应用环境中。具体地,该面向分布式机器学习的参数同步组播方法应用在面向分布式机器学习的数据中心网络中,该数据中心网络包括如图1所示的至少两个服务器和至少两个交换机节点,图中,S0/S1……S17为交换机节点,R0/R1……R7为服务器,N为服务器的数量,M为交换机节点的数量。本示例中,服务器和交换机节点均为数据中心网络的工作节点。发送方节点是指用于发送数据的工作节点,具体为用于发送数据的服务器。接收方节点是指用于接收数据的工作节点,具体为用于接收数据的服务器。
在一实施例中,如图2所示,提供一种面向分布式机器学习的参数同步组播方法,以该方法应用在数据中心网络的各个工作节点为例进行说明,该面向分布式机器学习的参数同步组播方法包括如下步骤:
S201:基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,组播树包括发送方节点、交换机节点和接收方节点;
S202:发送方节点获取目标发送速率,基于目标发送速率,通过组播树向交换机节点发送数据;
S203:交换机节点接收发送方节点发送的数据,将数据转发给接收方节点;
S204:接收方节点接收交换机节点发送的数据,更新接收方乘子参数,将接收方乘子参数发送给交换机节点;
S205:接收方节点接收接收方乘子参数,基于接收方乘子参数,更新接收方同步参数和发送方同步参数,将接收方同步参数发送给发送方节点,以使发送方节点基于接收方同步参数更新目标发送速率,并将发送方同步参数发送给接收方节点,以使接收方节点基于发送方同步参数更新接收方乘子参数。
其中,数据中心网络中所有工作节点是指数据中心网络中可实现数据发送和/或数据接收的节点。组播树是指发送方节点和接收方节点之间的数据转发线路。发送方节点是指用于发送数据的工作节点,具体为用于发送数据的服务器。接收方节点是指用于接收数据的工作节点,具体为用于接收数据的服务器。交换机节点是指用于接收数据并转发数据的工作节点。
作为一示例,步骤S201中,需先基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,每一发送方节点对应的组播树可理解为该发送方节点通过交换机节点与不同接收方节点进行通信的传播路径,以使同一发送方节点可通过其对应的组播树向多个接收方节点发送数据;而且,由于同一接收方节点可以作为不同发送方节点的组播树中的接收方节点,使得同一接收方节点也可以接收不同发送方节点发送的数据,以实现数据同步处理。
其中,目标发送速率是指发送方节点本次发送数据的速率。
作为一示例,步骤S202中,发送方节点在需要发送数据时,可先根据实际情况,确定目标发送速率;然后,基于目标发送速率,通过组播树向交换机节点发送数据,以使交换机节点可将接收到的数据转发给接收方节点。本示例中,发送方节点通过组播树向交换机节点发送的数据为数据流。
作为一示例,步骤S203中,交换机节点可以接收发送方节点发送的数据,并将接收到的数据通过组播树对应的传输链路,发送给接收方节点。由于组播树一般是基于最小传输链路构建的,在通过组播树发送数据,以使数据可通过被占用最少的传输链路传输,以避免被占用较多的传输链路进行数据传输所导致的传输效率较低的问题。
其中,接收方乘子参数是发送方节点实时更新获取到的与第i个接收方节点相关的拉格朗日乘子βi
作为一示例,步骤S204中,接收方节点可以接收交换机节点转发的数据,根据接收到的数据,采用预先配置的乘子更新逻辑,实时更新接收方乘子参数βi,再将更新后的接收方乘子参数βi发送给交换机节点。本示例中,由于接收方乘子参数βi是影响整体组播树的组播流速率的关键参数,可根据该接收方乘子参数βi实时更新调整组播流速率,因此,接收方节点在每次接收到数据后,均需实时更新接收方乘子参数βi,将该接收方乘子参数βi发送给交换机节点,以使交换机节点基于接收方乘子参数βi进行同步参数更新操作,以达到调节数据中心网络中的网络通信速率的目的。该组播流速率可理解为通过组播树传输数据流的速率。
其中,接收方同步参数是与接收方节点相关的可调整组播流速率的参数。发送方同步参数是与发送方节点相关的可调整组播流速率的参数。
作为一示例,步骤S205中,接收方节点在将接收到的数据转发给接收方节点后,可接收接收方节点反馈的更新后的接收方乘子参数;然后,基于接收到的接收方乘子参数,采用相应的同步参数更新逻辑,实时更新接收方同步参数和发送方同步参数。例如,采用与接收方同步参数相对应的同步参数更新逻辑,对接收方乘子参数进行处理,实时更新接收方同步参数;并采用与发送方同步参数相对应的同步参数更新逻辑,对接收方乘子参数进行处理,实时更新发送方同步参数。最后,交换机节点需将接收方同步参数发送给发送方节点,以使发送方节点基于接收方同步参数更新目标发送速率,重复执行步骤S202,即使得发送方节点可基于更新后的目标发送速率,通过组播树向交换机节点发送数据。并且,交换机节点需将发送方同步参数发送给接收方节点,以使接收方节点基于发送方同步参数更新接收方乘子参数,即重复执行步骤S204,将更新后的接收方乘子参数再发送给交换机节点,以便重复执行步骤S205。
本实施例所提供的面向分布式机器学习的参数同步组播方法中,交换机节点可根据接收方节点发送的接收方乘子参数,更新接收方同步参数和发送方同步参数;而发送方节点可根据接收方同步参数更新目标发送速率,且接收方节点可根据发送方同步参数,更新需要发送给交换机节点的接收方乘子参数,使得组播树中的整体组播流速率实时更新,有助于保障基于组播树进行数据传输时,避免大量重复数据流冗余传输而导致其传输效率低的问题,进而保障数据中心网络的网络通信效率。
本示例中,在基于数据中心网络中所有工作节点的连接关系,生成所有发送方节点对应的组播树之后,需基于数据中心网络中所有发送方节点的组播树,确定组播流速率的计算过程如下:
步骤A:设CLj为第j条传输链路Lj的带宽,rk为第k个发送方节点的发送速率,是发送方节点在发送数据时的速率。由于第i个接收方节点的接收速率为所有对应发送方节点的发送速率之和,则第i个接收方节点的接收速率为
Figure BDA0003169545600000081
其中,
Figure BDA0003169545600000082
为第k个发送方节点发送的数据是否经过第j个传输链路Lj,若
Figure BDA0003169545600000083
则表示第k个发送方节点发送的数据经过第j个传输链路Lj;若
Figure BDA0003169545600000084
则表示第k个发送方节点发送的数据不经过第j个传输链路Lj。由于发送速率rk过大,会引起丢包现象,设第j条传输链路的丢包率为
Figure BDA0003169545600000085
则第j条传输链路的丢包率
Figure BDA0003169545600000086
的计算过程如下:
Figure BDA0003169545600000087
步骤B:第i个接收方节点的丢包率为发生网络拥塞丢包最严重的传输链路上的丢包率,设第i个接收方节点的丢包率为Pi,则第i个接收方节点的丢包率Pi的计算过程如下:
Figure BDA0003169545600000091
步骤C:在分布式机器学习的PS同步机制或者All-Reduce同步机制下,链路占用最严重的传输链路分别是最靠近发送方节点的传输链路和最靠近接收方节点的传输链路,则上述公式(2)可以转化为如下公式(3):
Figure BDA0003169545600000092
其中,L′i为第i个被占用最严重的传输链路,
Figure BDA0003169545600000093
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i
步骤D:由于第k个发送方节点的发送速率rk为第i个发送方节点所传输数据的数据量与发送时间的商值,设第i个发送方节点所传输数据的数据量为Dk,第i个发送方节点所传输数据的发送时间为tk,则
Figure BDA0003169545600000094
Figure BDA0003169545600000095
代入公式(3),可获取如下公式(4):
Figure BDA0003169545600000096
步骤E,由于每个接收方节点必须接收到完整数据,设第i个接收方节点的数据包达率为Ri,则第i个接收方节点的数据包没有达到率为1-Ri,则有如下公式:
Pi≤1-Ri (5)
步骤F:根据公式(3)和公式(5),对于i=1,2,...,N2,得到N2个不等式如下:
Figure BDA0003169545600000097
步骤G:假设每个发送方节点发送相同数量的数据,采用效用函数Us(rs)=1/rs表示第i个发送方节点的总发送时间。因此,可将速率分配问题表述为式(7):
Figure BDA0003169545600000098
其中,rs第s个发送方节点的发送速率,是接收方节点在接收到数据时确定的发送方节点的速率,可理解为在接收方节点接收到数据的速率。一般来说,同一发送方节点基于目标发送速率,经过组播树中不同传输链路发送数据,不同传输链路上的发送速率rk相同,但由于组播树中不同传输链路经过的交换机节点不同,且其拥塞情况不同,会导致接收方节点接收数据的发送速率rs也不同。
步骤H:为求解公式(7),将最小最大化问题转化为以下极小化问题:
Figure BDA0003169545600000101
其中,z为效用函数Us(rs)=1/rs对应的效用极小值。
步骤I:采用拉格朗日乘子法对公式(8)进行处理,构造如下公式(9)所示的拉格朗日函数:
Figure BDA0003169545600000102
其中,r为传输速率,z表示N1个发送方节点的总发送时间的最大值,αs为与第s个发送方节点相关的拉格朗日乘子,βi为与第i个接收方节点相关的拉格朗日乘子。
步骤J:结合KKT条件(Karush-Kuhn-Tucker)对公式(9)进行迭代求解,可得:
Figure BDA0003169545600000103
Figure BDA0003169545600000104
Figure BDA0003169545600000105
步骤K:依据公式(10)、公式(11)和公式(12),求解r和z的最优解如下:
Figure BDA0003169545600000106
Figure BDA0003169545600000107
步骤L:对公式(9)进行迭代求解,可得αs、βi的更新公式如下:
Figure BDA0003169545600000108
Figure BDA0003169545600000109
其中,ω1为步长。
在一实施例中,如图3所示,步骤S201,即基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,具体包括:
S301:基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的至少一个传输链路;
S302:获取至少一个传输链路对应的链路占用数量,基于链路占用数量最少的传输链路,生成发送方节点对应的组播树。
其中,传输链路是可以将发送方节点的数据发送给接收方节点所经过的传输链路,具体可以理解为在发送方节点和接收方节点之间传输数据所经过的所有交换机节点所形成的链路。
作为一示例,步骤S301中,基于数据中心网络中所有工作节点的连接关系,即不同工作节点之间能否进行数据传输的关系,生成发送方节点对应的至少一个传输链路。例如,图1所示的数据中心网络中,若发送方节点为R0,接收方节点为R2时,则发送方节点R0与接收方节点R2之间所经过的至少一个传输链路,可以为S8-S12-S9、S98-S13-S9,S8-S12-S16-S13-S9,S8-S12-S17-S13-S9等;相应地,发送方节点为R0,接收方节点为R3时,则发送方节点R0与接收方节点R3之间所经过的至少一个传输链路,可以为S8-S12-S9、S98-S13-S9,S8-S12-S16-S13-S9,S8-S12-S17-S13-S9等。
作为一示例,步骤S302中,在生成发送方节点对应的至少一个传输链路之后,需先获取至少一个传输链路对应的链路占用数量,该链路占用数量是指至少一个组播树所占用某一条传输链路的数量。然后,基于链路占用数量最少的传输链路,确定发送方节点对应的组播树,即生成链路占用数量最小的发送方节点对应的组播树,可避免不同组播树之间相互重叠而传输链路,从而避免组播流速率设定时,存在个别被链路占用数量较多的传输链路而导致组播流速率严重受限。
例如,步骤S201,即基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,可采用如下方式实现:
步骤V11:初始化发送方节点对应的生成树tmp_tree、第一节点集合tmp_L和第二节点集合not_visited。
步骤V12:将数据中心网络中的所有工作节点加入第二节点集合not_visited。例如,将数据中心网络中的所有工作节点,包括服务器R0/R1……R7和交换机节点S0/S1……S17,加入第二节点集合not_visited。
步骤V13:将发送方节点从第二节点集合not_visited中移出,加入第一节点集合tmp_L。例如,若服务器R0为发送方节点时,需将发送方节点R0,从第二节点集合not_visited中移出,加入第一节点集合tmp_L中。
步骤V14:在第二节点集合not_visited和第一节点集合tmp_L均不为空时,采用广度优先算法,从第一节点集合tmp_L中选定第一节点、以及第二节点集合not_visited中与第一节点相连的第二节点,获取第一节点与第二节点之间的传输链路。
例如,第二节点集合not_visited不为空,且第一节点集合tmp_L也不为空时,从第一节点集合tmp_L中选定第i个第一节点node_i,并从第二节点集合not_visited中选取与第一节点node_i相连的第j个第二节点node_j,将第一节点node_i和第二节点node_j之间的边l_ij,确定为两者的传输链路。进一步地,还可统计获取第一节点node_i与第二节点node_j之间的传输链路中每一交换机节点的度,若存在度为1的交换机节点,则删除交换机节点对应的传输链路,以去除多余的不与服务器(即接收方节点)为边缘的边,以达到修剪发送方节点对应的组播树的目的。
步骤V15:将出现次数最少的传输链路加入第一节点对应的生成树中,将第二节点从第二节点集合not_visited中移出,加入第一节点集合tmp_L,并将第一节点从第一节点集合tmp_L中移出,重复执行步骤V14,直至在第二节点集合not_visited和第一节点集合tmp_L中的任一个为空集。
例如,任一第一节点node_i和第二节点node_j之间的边l_ij,确定为两者的传输链路,将出现次数最少的边l_ij,加入第一节点node_i对应的生成树tmp_tree中,将第二节点node_j从第二节点集合not_visited中移出,加入第一节点集合tmp_L,并将第一节点node_i从第一节点集合tmp_L中移出。
本示例中,采用广度优先算法生成每个发送方节点的组播树。在生成每个组播树时记录每条传输链路的链路占用数量,基于链路占用数量较少的传输链路,形成发送方节点的组播树。并且,在生成发送方节点的组播树后,还需要对组播树进行修剪,去除多余的不以服务器为边缘的边,即删除以交换机节点为边缘的传输链路。进一步地,将每个发送方节点的组播树记录在全局组播树中,并记录更新每条传输链路的占用情况。
在一实施例中,如图4所示,步骤S202,即发送方节点获取目标发送速率,基于目标发送速率,通过组播树向交换机节点发送数据,包括:
S401:发送方节点在发送新数据时,将初始化发送速率确定为目标发送速率,基于目标发送速率,通过组播树向交换机节点发送数据;
S402:发送方节点在发送非新数据时,计算更新发送速率,将更新发送速率确定为目标发送速率,基于目标发送速率,通过组播树向交换机节点发送数据。
本示例中,该目标发送速率可以为初始化发送速率,也可以为基于数据中心网络的实际网络情况更新的更新发送速率。此处的初始化发送速率是指预先设置的发送速率。更新发送速率是实时更新的发送速率。
作为一示例,步骤S401中,发送方节点在发送新数据时,可将初始化发送速率确定为目标发送速率;再基于目标发送速率,通过组播树向交换机节点发送数据,以使交换机节点可将接收到的数据转发给接收方节点。本示例中,新数据可理解为通过组播树发送的数据流中的第一个数据。
作为一示例,步骤S402中,发送方节点在发送非新数据时,需计算更新发送速率,将更新发送速率确定为目标发送速率,再基于目标发送速率,通过组播树向交换机节点发送数据,以使交换机节点可将接收到的数据转发给接收方节点。本示例中,计算更新发送速率可以为根据数据中心网络的拥塞情况更新确定的速率,即该更新发送速率与拥塞情况相关联,以实现根据拥塞情况实时调整目标发送速率进行数据发送,可实时更新数据的发送速率,以避免在数据中心网络较拥塞情况下大量发送数据,导致数据中心网络的通信效率降低的问题,从而保障整个数据中心网络的通信效率。本示例中,新数据可理解为通过组播树发送的数据流中的第一个数据以外的其他数据。
在一实施例中,步骤S402,即发送方节点在发送非新数据时,计算更新发送速率,包括:
S4021:接收交换机节点发送的接收方同步参数,接收方同步参数为
Figure BDA0003169545600000131
其中,βi为与第i个接收方节点相关的拉格朗日乘子,
Figure BDA0003169545600000132
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N2为接收方节点数量;
S4022:基于接收方同步参数,计算更新发送速率,更新发送速率为目标发送速率为
Figure BDA0003169545600000133
rs为目标发送速率,αs为与第s个发送方节点相关的拉格朗日乘子。
在一示例中,步骤S202,即发送方节点获取目标发送速率,基于目标发送速率,通过组播树向交换机节点发送数据,包括:
步骤V21:发送方节点将目标发送速率rs和效用极小值z,分别初始化为线路速率和1/rs,基于目标发送速率rs发送向交换机节点发送数据。可理解地,即对每条新数据流,发送方节点会以全部线路速率发送,以保障新数据流的传播效率。
步骤V22:发送方节点基于目标发送速率rs发送数据。
步骤V23:发送方节点采用公式(15)对效用极小值z进行处理,即采用
Figure BDA0003169545600000141
对效用极小值z进行处理,更新αs,αs为与第s个发送方节点相关的拉格朗日乘子,以便基于更新的αs更新目标发送速率。
步骤V24:发送方节点接收交换机节点发送的接收方同步参数
Figure BDA0003169545600000142
步骤V25:发送方节点基于接收方同步参数
Figure BDA0003169545600000143
和更新后的αs,采用公式(13)和公式(14),即采用公式
Figure BDA0003169545600000144
Figure BDA0003169545600000145
更新目标发送速率rs和效用极小值z;
步骤V26:发送方节点基于目标发送速率rs发送数据,重复执行步骤V24-V25。
在一实施例中,如图5所示,步骤S203,即交换机节点接收发送方节点发送的数据,将数据转发给接收方节点,包括:
S501:交换机节点接收发送方节点发送的数据,依据交换机节点对应的队列长度、最大队列长度和最小队列长度,确定拥塞标记概率;
S502:依据拥塞标记概率,对接收到的数据进行拥塞标记,将携带拥塞标记的数据发送给接收方节点。
其中,交换机节点对应的队列长度是指将数据从发送方节点传输到接收方节点的所需经过的交换机节点的长度。最大队列长度是预先配置的队列长度的最大值。最小队列长度是预先配置的队列长度的最小值。拥塞标记概率是根据实际情况确定给数据进行拥塞标记的概率。
作为一示例,步骤S501中,交换机节点可接收至少一个发送方节点发送的数据,需依据交换机节点对应的队列长度、最大队列长度和最小队列长度,确定拥塞标记概率,其拥塞标记概率可采用如下公式(17)确定:
Figure BDA0003169545600000146
其中,Kmin为最小队列长度,Kmax为最大队列长度,q为交换机节点对应的队列长度,Pmax为预先设置的最大拥塞概率。
作为一示例,步骤S502中,交换机节点可依据公式(17)计算确定的拥塞标记概率,对接收到的数据进行拥塞标记,以将携带拥塞标记的数据发送给接收方节点,以使接收方节点根据所携带的拥塞标记确定传输链路是否拥塞。例如,若拥塞标记概率p=0时,则交换机节点将接收到的所有数据的拥塞标记ECN均标记为0,说明传输链路不拥塞,将携带拥塞标记ECN=0的所有数据转发给接收方节点。又例如,若拥塞标记概率p=1时,则交换机节点将接收到的所有数据的拥塞标记ECN均标记为1,说明传输链路较拥塞,将携带拥塞标记ECN=1的所有数据转发给接收方节点。再例如,若拥塞标记概率
Figure BDA0003169545600000151
时,则交换机节点对接收到N个数据时,可将p*N个数据的拥塞标记ECN均标记为1,将(1-p)*N个数据的拥塞标记ECN均标记为0,再将N个数据转发给接收方节点,以使接收方节点根据接收到的拥塞标记ECN的数量,确定传输链路是否拥塞。
在一实施例中,如图6所示,步骤S204,即接收方节点接收交换机节点发送的数据,更新接收方乘子参数,将接收方乘子参数发送给交换机节点,包括:
S601:接收方节点接收交换机节点发送的数据,判断数据是否为新数据;
S602:若数据为新数据,则采用第一乘子更新逻辑,更新接收方乘子参数,将接收方乘子参数发送给交换机节点;
S603:若数据为非新数据,则采用第二乘子更新逻辑,更新接收方乘子参数,将接收方乘子参数发送给交换机节点。
其中,接收方乘子参数是发送方节点实时更新获取到的与第i个接收方节点相关的拉格朗日乘子βi。第一乘子更新逻辑是接收到的数据为新数据时,用于更新接收方乘子参数βi的处理逻辑。第二乘子更新逻辑是接收到的数据为非新数据时,用于更新接收方乘子参数βi的处理逻辑。
作为一示例,步骤S601中,接收方节点可接收到交换机节点转发的数据,需判断该数据是否为新数据,即是否为发送方节点首次发送的数据,即是否为通过组播树发送的数据流中的第一个数据,以便根据判断结果,采用不同更新逻辑,更新接收方乘子参数βi
作为一示例,步骤S602中,接收方节点在判定接收到的数据为新数据时,即为通过组播树发送的数据流中的第一个数据时,需执行第一乘子更新逻辑,更新接收方乘子参数βi,将接收方乘子参数发送给交换机节点。本示例中,第一乘子更新逻辑可以为基于数据中心网络的拥塞情况确定的更新接收方乘子参数βi的处理逻辑,以使更新后的接收方乘子参数βi与数据中心网络的拥塞情况相匹配,以便后续基于该接收方乘子参数βi调整数据中心网络中的数据传输速率,进而保障数据中心网络的网络通信效率。
作为一示例,步骤S603中,接收方节点在判定接收到的数据为非新数据时,即为通过组播树发送的数据流中的第一个数据以外的其他数据时,需执行第二乘子更新逻辑,更新接收方乘子参数βi,将接收方乘子参数发送给交换机节点。本示例中,第二乘子更新逻辑可以为基于组播树对应的组播流速率实时更新的接收方乘子参数βi的处理逻辑,以使更新后的接收方乘子参数βi与组播树整体的组播流速率相匹配,以便基于组播树整体的组播流速率调整数据中心网络中的数据传输速率,进而保障数据中心网络的网络通信效率。
在一实施例中,步骤S602中,采用第一乘子更新逻辑,更新接收方乘子参数,包括:
S6021:识别接收到的数据的拥塞标记,将拥塞标记为存在拥塞的数据发送给发送方节点,获取当前发送时刻;
S6022:若当前发送时刻之后的目标等待时间内,发送方节点接收到携带拥塞标记的数据,则采用βi=βi1,,更新接收方乘子参数;
S6023:若当前发送时刻之后的目标等待时间内,发送方节点没有接收到携带拥塞标记的数据,则采用βi=(1-ω1i,更新接收方乘子参数;
其中,βi为接收方乘子参数,ω1为步长。
作为一示例,步骤S6021中,接收方节点在接收到交换机节点转发的数据之后,会识别接收到的数据中的拥塞标记,将拥塞标记为存在拥塞的数据,即ECN=1的数据,通过交换机节点转发给发送方节点,记录接收方节点转发拥塞标记为存在拥塞的时刻为当前发送时刻。
其中,目标等待时间为预先设置的等待响应的时间。
作为一示例,步骤S6022中,接收方节点在转发携带拥塞标记的数据的当前发送时刻之后的目标等待时间内,若能接收到发送方节点发送的响应信息,则认定发送方节点接收到携带拥塞标记的数据,此时,可采用βi=βi1,这一公式,更新接收方乘子参数,以便后续基于接收方乘子参数更新发送方节点的目标发送速率,从而保障数据中心网络的网络通信效率。
作为一示例,步骤S6023中,接收方节点在转发携带拥塞标记的数据的当前发送时刻之后的目标等待时间内,若没有接收到发送方节点发送的响应信息,则认定发送方节点没有接收到携带拥塞标记的数据,此时,可采用βi=(1-ω1i这一公式,更新接收方乘子参数,以便后续基于接收方乘子参数更新发送方节点的目标发送速率,从而保障数据中心网络的网络通信效率。
在一实施例中,步骤S603中,采用第二乘子更新逻辑,更新接收方乘子参数,包括:
S6031:接收交换机节点发送的发送方同步参数,发送方同步参数为
Figure BDA0003169545600000171
αs为与第s个发送方节点相关的拉格朗日乘子,
Figure BDA0003169545600000172
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N1为发送方节点的数量;
S6032:基于发送方同步参数,更新接收方乘子参数,接收方乘子参数为
Figure BDA0003169545600000173
CLj为第j条传输链路Lj的带宽,Ri为第i个接收方节点的数据包达率,ω2为步长。
在一实施例中,如图7所示,步骤S205,即基于接收方乘子参数,更新接收方同步参数和发送方同步参数,包括:
S701:基于接收方乘子参数,更新接收方同步参数,接收方同步参数
Figure BDA0003169545600000174
其中,βi为接收方同步参数,
Figure BDA0003169545600000175
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N2为接收方节点数量;
S702:基于接收方乘子参数,更新当前发送速率,当前发送速率为
Figure BDA0003169545600000176
其中,rk为交换机节点在当前时刻更新的当前发送速率,
Figure BDA0003169545600000177
为观测发送速率,r′k为交换机节点在上一时刻的当前发送速率,λ为权重;
S703:基于当前发送速率,更新发送方同步参数,发送方同步参数为
Figure BDA0003169545600000178
其中,rk为交换机节点在当前时刻更新的当前发送速率,αs为与第s个发送方节点相关的拉格朗日乘子,
Figure BDA0003169545600000179
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N1为发送方节点的数量。
以下通过仿真试验研究,对上述面向分布式机器学习的参数同步组播方法的通信时间、加速比。带宽利用率和网络传输总量等性能上,将All-Reduce同步机制和PS同步机制,分别与本方案的组播同步机制Multicast,在DCQCN(Data Center QuantizedCongestion Notification,即拥塞控制机制)下,进行小规模节点和大规模节点模拟仿真试验:
(1)小规模节点下的模拟仿真试验
在8台服务器的fat-tree拓扑结构中,通过设置不同的参数同步机制进行比较,以研究组播同步机制Multicast的性能。在All-Reduce同步机制下,我们采用组播同步机制Multicast进行DML的参数的同步优化,以DCQCN为对比,试验结果如图8和图9所示,图8和图9中的DCQCN这一横坐标对应的是采用All-Reduce同步机制进行模拟仿真试验时未采用组播同步机制Multicast进行优化的结果,而100%、95%、90%、85%、80%和60%分别指在不同到达率的情况下,采用组播同步机制Multicast进行优化的结果。在此同步机制下,ResNet20、ResNet110和LSTM在一次迭代中工作节点需要向其他工作节点进行的通信量大小分别为5MB、27.25MB和45.5MB。采用参数同步的组播优化能够有效提高All-Reduce同步机制的同步效率,能够大幅减少通信时间,达到近2倍的加速效果。其主要原因在于,组播同步机制Multicast能够大幅度减少网络中冗余的数据传输,而在All-Reduce同步机制下,每个工作节点都需要与其他工作节点进行数据的交互,生成数量庞大的数据流。在这种模拟仿真配置下,工作节点总共需要生成56条数据流用以参数的同步,更多的数据流意味着网络中更多的资源竞争;而采用组播同步机制Multicast优化的同步方案只需要在网络中生成8条Multicast流即可,更少的资源竞争,无冗余数据包的传输使得Multicast能够更加高效的进行DML的参数同步工作。图中的到达率是指有损网络中数据包的到达率。
相应地,在8台服务器的fat-tree拓扑结构中,通过设置不同的参数同步机制进行比较,以研究组播同步机制Multicast的性能。采用PS同步机制这一DCQCN与组播同步机制Multicast进行DML的参数同步优化仿真试验,试验结果下图10和图11所示,图10和图11中的DCQCN这一横坐标对应的是采用PS同步机制进行模拟仿真试验时未采用组播同步机制Multicast进行优化的结果,而100%、95%、90%、85%、80%和60%分别指在不同到达率的情况下,采用组播同步机制Multicast进行优化的结果。在PS同步机制下,采用组播对参数同步进度的加速效果更加明显。在此同步机制下,ResNet20、ResNet110和LSTM在一次迭代中参数服务器需要向其他工作节点进行的通信量大小分别为40MB、218M和364MB。采用组播优化能够大幅减少PS同步机制下的通信时间,并且能达到近乎N倍的通信加速,其中,N为工作节点的数量。在PS同步机制下,DCQCN的传输会使得参数服务器生成工作节点数量的数据流,这些数据流竞争着靠近参数服务器的链路的资源。而在组播同步机制Multicast同步方案下,参数服务器只需要生成一个Multicast数据流即可,这个数据流独享着网络的资源。所以,使用组播同步机制Multicast在PS同步机制下能够减少大量的冗余数据的传输,达到更大的加速效果。
(2)大规模节点下的模拟仿真试验
以128个服务器的Fat-Tree为网络拓扑结构,分别探讨采用不同的参数同步更新机制,在不同的模型通信量下,系统对数据的接收完成情况。
在All-Reduce同步机制下,我们采用组播同步机制Multicast进行DML的参数的同步优化,以DCQCN最为对比,试验结果如图12和图13所示,12和图13中的DCQCN这一横坐标对应的是采用All-Reduce同步机制进行模拟仿真试验时未采用组播同步机制Multicast进行优化的结果,而100%、95%、90%、85%、80%和60%分别指在不同到达率的情况下,采用组播同步机制Multicast进行优化的结果。在此同步机制下,ResNet20、ResNet110和LSTM在一次迭代中工作节点需要向其他工作节点进行的通信量大小分别为0.3MB、1.7MB和2.8MB。采用组播同步机制进行参数同步的组播优化能够有效提高All-Reduce同步机制的同步效率,能够大幅减少通信时间,达到近10倍的加速效果。
在PS同步机制下,我们进行了组播优化的仿真试验,试验结果下图14和图15所示,图14和图15中的DCQCN这一横坐标对应的是采用PS同步机制进行模拟仿真试验时未采用组播同步机制Multicast进行优化的结果,而100%、95%、90%、85%、80%和60%分别指在不同到达率的情况下,采用组播同步机制Multicast进行优化的结果。在此同步机制下,ResNet20、ResNet110和LSTM在一次迭代中参数服务器需要向其他工作节点进行的通信量大小分别为40MB、218MB和364MB。同样的,在PS同步机制下,采用组播对参数同步进度的加速效果更加明显,采用组播同步机制进行组播优化能够大幅减少PS同步机制下的通信时间,并且能达到近乎N倍的通信加速,其中N为工作节点的数量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种面向分布式机器学习的参数同步组播方法,其特征在于,包括:
基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,所述组播树包括发送方节点、交换机节点和接收方节点;
发送方节点获取目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据;
交换机节点接收发送方节点发送的数据,将所述数据转发给接收方节点;
接收方节点接收交换机节点发送的数据,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点;
接收方节点接收所述接收方乘子参数,基于所述接收方乘子参数,更新接收方同步参数和发送方同步参数,将所述接收方同步参数发送给发送方节点,以使所述发送方节点基于所述接收方同步参数更新目标发送速率,并将所述发送方同步参数发送给接收方节点,以使所述接收方节点基于所述发送方同步参数更新接收方乘子参数。
2.如权利要求1所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的组播树,包括:
基于数据中心网络中所有工作节点的连接关系,生成发送方节点对应的至少一个传输链路;
获取至少一个所述传输链路对应的链路占用数量,基于链路占用数量最少的传输链路,生成所述发送方节点对应的组播树。
3.如权利要求1所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述发送方节点获取目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据,包括:
发送方节点在发送新数据时,将初始化发送速率确定为目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据;
发送方节点在发送非新数据时,计算更新发送速率,将所述更新发送速率确定为目标发送速率,基于所述目标发送速率,通过所述组播树向所述交换机节点发送数据。
4.如权利要求3所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述发送方节点在发送非新数据时,计算更新发送速率,包括:
接收交换机节点发送的接收方同步参数,所述接收方同步参数为
Figure FDA0003169545590000011
其中,βi为与第i个接收方节点相关的拉格朗日乘子,
Figure FDA0003169545590000023
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N2为接收方节点数量;
基于所述接收方同步参数,计算更新发送速率,所述更新发送速率为目标发送速率为
Figure FDA0003169545590000021
rs为目标发送速率,αs为与第s个发送方节点相关的拉格朗日乘子。
5.如权利要求1所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述交换机节点接收发送方节点发送的数据,将所述数据转发给接收方节点,包括:
交换机节点接收发送方节点发送的数据,依据所述交换机节点对应的队列长度、最大队列长度和最小队列长度,确定拥塞标记概率;
依据所述拥塞标记概率,对接收到的数据进行拥塞标记,将携带拥塞标记的数据发送给接收方节点。
6.如权利要求5所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述拥塞标记概率为
Figure FDA0003169545590000022
其中,p为拥塞标记概率,Kmin为最小队列长度,Kmax为最大队列长度,q为交换机节点对应的队列长度,P max为预先设置的最大拥塞概率。
7.如权利要求1所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述接收方节点接收交换机节点发送的数据,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点,包括:
接收方节点接收交换机节点发送的数据,判断所述数据是否为新数据;
若所述数据为新数据,则采用第一乘子更新逻辑,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点;
若所述数据为非新数据,则采用第二乘子更新逻辑,更新接收方乘子参数,将所述接收方乘子参数发送给交换机节点。
8.如权利要求7所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述采用第一乘子更新逻辑,更新接收方乘子参数,包括:
识别接收到的数据的拥塞标记,将拥塞标记为存在拥塞的数据发送给发送方节点,获取当前发送时刻;
若所述当前发送时刻之后的目标等待时间内,发送方节点接收到携带拥塞标记的数据,则采用βi=βi1,,更新接收方乘子参数;
若所述当前发送时刻之后的目标等待时间内,发送方节点没有接收到携带拥塞标记的数据,则采用βi=(1-ω1i,更新接收方乘子参数;
其中,βi为接收方乘子参数,ω1为步长。
9.如权利要求7所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述采用第二乘子更新逻辑,更新接收方乘子参数,包括:
接收交换机节点发送的发送方同步参数,所述发送方同步参数为
Figure FDA0003169545590000031
αs为与第s个发送方节点相关的拉格朗日乘子,
Figure FDA0003169545590000032
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N1为发送方节点的数量;
基于所述发送方同步参数,更新接收方乘子参数,所述接收方乘子参数为
Figure FDA0003169545590000033
CLj为第j条传输链路Lj的带宽,Ri为第i个接收方节点的数据包达率,ω2为步长。
10.如权利要求1所述的面向分布式机器学习的参数同步组播方法,其特征在于,所述基于所述接收方乘子参数,更新接收方同步参数和发送方同步参数,包括:
基于所述接收方乘子参数,更新接收方同步参数,所述接收方同步参数为
Figure FDA0003169545590000034
其中,βi为接收方同步参数,
Figure FDA0003169545590000035
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N2为接收方节点数量;
基于所述所述接收方乘子参数,更新当前发送速率,所述当前发送速率为
Figure FDA0003169545590000036
其中,rk为交换机节点在当前时刻更新的当前发送速率,
Figure FDA0003169545590000037
为观测发送速率,r′k为交换机节点在上一时刻的当前发送速率,λ为权重;
基于所述当前发送速率,更新发送方同步参数,所述发送方同步参数为
Figure FDA0003169545590000038
其中,rk为交换机节点在当前时刻更新的当前发送速率,αs为与第s个发送方节点相关的拉格朗日乘子,
Figure FDA0003169545590000039
为第k个发送方节点发送的数据是否经过第i个被占用最严重的传输链路L′i,N1为发送方节点的数量。
CN202110814617.7A 2021-07-19 2021-07-19 面向分布式机器学习的参数同步组播方法 Active CN113705826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110814617.7A CN113705826B (zh) 2021-07-19 2021-07-19 面向分布式机器学习的参数同步组播方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110814617.7A CN113705826B (zh) 2021-07-19 2021-07-19 面向分布式机器学习的参数同步组播方法

Publications (2)

Publication Number Publication Date
CN113705826A true CN113705826A (zh) 2021-11-26
CN113705826B CN113705826B (zh) 2023-07-14

Family

ID=78648987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110814617.7A Active CN113705826B (zh) 2021-07-19 2021-07-19 面向分布式机器学习的参数同步组播方法

Country Status (1)

Country Link
CN (1) CN113705826B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588909A (zh) * 2004-07-15 2005-03-02 复旦大学 一种控制网络数字电视节目组播发送速率的方法
CN101986628A (zh) * 2010-12-15 2011-03-16 山东大学 基于蚁群算法的实现多源组播流量均衡的方法
CN106533970A (zh) * 2016-11-02 2017-03-22 重庆大学 面向云计算数据中心网络的差分流传输控制方法及装置
CN111211988A (zh) * 2019-12-04 2020-05-29 哈尔滨工业大学(深圳) 面向分布式机器学习的数据传输方法及系统
CN111612155A (zh) * 2020-05-15 2020-09-01 湖南大学 一种分布式机器学习系统及适用于其的通信调度方法
CN113033800A (zh) * 2019-12-25 2021-06-25 香港理工大学深圳研究院 分布式深度学习方法、装置、参数服务器及主工作节点

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588909A (zh) * 2004-07-15 2005-03-02 复旦大学 一种控制网络数字电视节目组播发送速率的方法
CN101986628A (zh) * 2010-12-15 2011-03-16 山东大学 基于蚁群算法的实现多源组播流量均衡的方法
CN106533970A (zh) * 2016-11-02 2017-03-22 重庆大学 面向云计算数据中心网络的差分流传输控制方法及装置
CN111211988A (zh) * 2019-12-04 2020-05-29 哈尔滨工业大学(深圳) 面向分布式机器学习的数据传输方法及系统
CN113033800A (zh) * 2019-12-25 2021-06-25 香港理工大学深圳研究院 分布式深度学习方法、装置、参数服务器及主工作节点
CN111612155A (zh) * 2020-05-15 2020-09-01 湖南大学 一种分布式机器学习系统及适用于其的通信调度方法

Also Published As

Publication number Publication date
CN113705826B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
CN109818865B (zh) 一种sdn增强路径装箱装置及方法
CN110986979A (zh) 一种基于强化学习的sdn多路径路由规划方法
CN112346854B (zh) 一种分层协同决策的网内资源调度方法及系统、存储介质
CN108512772B (zh) 基于服务质量的数据中心流量调度方法
CN112350949B (zh) 软件定义网络中基于流调度的重路由拥塞控制方法及系统
CN111211988B (zh) 面向分布式机器学习的数据传输方法及系统
CN114567598A (zh) 一种基于深度学习和跨域协作的负载均衡方法及装置
Mai et al. Packet routing with graph attention multi-agent reinforcement learning
CN116319559A (zh) 一种多路径跨域架构的动态流量调度系统
WO2022166348A1 (zh) 路由方法、路由装置、控制器和计算机可读存储介质
CN102388585B (zh) 网络优化流量控制方法、装置和系统
CN113705826B (zh) 面向分布式机器学习的参数同步组播方法
Meng et al. Intelligent routing orchestration for ultra-low latency transport networks
CN110650194A (zh) 计算机网络中基于边缘计算的任务执行方法
CN114124732B (zh) 一种面向云的带内计算部署方法、装置和系统
CN105959167B (zh) 一种基于贪心算法的全局优化sdn测量方法
CN102158413A (zh) 基于邻域免疫克隆选择的多智能体组播路由方法
CN106789698B (zh) 一种网络流量控制方法及装置
CN109450809B (zh) 一种数据中心调度系统及方法
CN110012071B (zh) 用于物联网的缓存方法和装置
CN110768902A (zh) 一种提升软件定义物联网中数据服务质量的方法
WO2014101316A1 (zh) 一种应用与网络融合驱动的多协议选路系统及方法
CN112311670B (zh) 一种软件定义网络机器学习路由优化方法
CN114650257B (zh) 一种基于rtt的sdn网络拥塞控制系统与方法
CN118042018B (zh) 一种基于stsgcn的智能多路径数据调度方法

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