CN114461392A - 一种带宽感知的选择性数据多播方法 - Google Patents
一种带宽感知的选择性数据多播方法 Download PDFInfo
- Publication number
- CN114461392A CN114461392A CN202210085437.4A CN202210085437A CN114461392A CN 114461392 A CN114461392 A CN 114461392A CN 202210085437 A CN202210085437 A CN 202210085437A CN 114461392 A CN114461392 A CN 114461392A
- Authority
- CN
- China
- Prior art keywords
- node
- multicast
- nodes
- fanin
- fanout
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种带宽感知的选择性数据多播方法,具体为:通过在多播任务挑选接收节点时,根据可用带宽和负载,优先选择在公平性分配下能够分得带宽最多的接收节点选择;计算出所有多播的基本多播速率值之后,再贪婪地依次检查,如果再选择一个接收节点多播速率依然满足,则将其选择;再进一步贪婪地依次检查,各个多播源和对应被选中的接收节点之间是否有剩余的带宽,如果有,则增加到该多播的传输速率中。本发明提高了多播传输效率,降低网络完成受控的部分数据同步所需的时间,为分布式机器学习模型训练等应用提供了性能更高的数据多播传输控制方法。
Description
技术领域
本发明属于数据传输技术领域,尤其涉及一种带宽感知的选择性数据多播方法。
背景技术
在诸如基于数据并行的分布机器学习模型训练等场景中,参与训练的工作节点之间需要周期性地将各自训练获得的新模型或者模型的更新进行同步以实现协作。针对这类通信需求,目前有研究者已经提出了多种实现方案。其中的一类方案是让每个工作节点将所学习到新模型或者模型分解后的数据,多播地传输给其他节点。假设分布式系统中一共有n个工作节点参与训练,最近的一些研究表明,许多分布式机器学习训练任务具有容忍只有部分节点参与每次同步的的特性。受此驱动,当一个工作节点完成一轮本地训练后,现有基于模型多播的参数同步方案随机地为其挑选p个其他工作节点(其中1<=p<=n-1)作为多播的接收节点以执行模型参数的部分同步。需要注意的是,不同的模型所能够容忍的p/n比例值不一样,因此实际中一个分布式训练任务的p值可以由使用者根据经验和当前系统的参数n来设置。当p取n-1时,选择性多播即退化到让向所有其他节点进行多播的情形。
这种随机地挑选部分接收节点的方案虽然能够有效减少网络中数据传输的量,在一定程度上能够降低数据分发所需的时间开销。然而,考虑到不同工作节点的可用带宽往往不同,为各个多播传输随机地选择p个接收节点会有一定的概率选择到带宽较低的工作节点,所能带来的网络优化效果并不稳定,导致参数同步所需的时间通常依然很大,有显著的优化空间。
术语解释:
多播:多播一词用于描述数据将从一个发送节点发送给多个接收节点,并不限定这种多播技术采用何种方式实现。例如,如果网络支持IP多播,那么可以在网络层实现,如果不支持,则可以在应用层通过发起多个一对一的单播传输来实现。此外,还可以是其他的多播实现,或者多种多播实现技术的结合。
发明内容
针对分布式模型训练等需要在工作节点之间进行数据同步的分布式应用,当应用本身能够容忍只有部分节点参与数据同步时,为了能根据工作节点可用网络带宽的情况来选择数据接收节点开展多播传输,降低网络完成受控的部分数据同步所需的时间,最终达到提升分布式应用性能的目的。本发明提供一种带宽感知的选择性数据多播方法。
本发明的一种带宽感知的选择性数据多播方法,包括以下步骤:
步骤1:参数设定。
设分布式训练中包含n个工作节点,编号分别为0,1,2,...,i,...,n-1;对于第i个工作节点,使用in[i]和out[i]分别表示其下行和上行可用带宽值,使用fanin[i]记录其当前被其他多少个工作节点选为多播传输的接收节点,使用fanout[i]记录已为其选中的接收节点数目。
s为一个n*n的二维数组;s[i][j]表示当节点i作为多播源节点时,截止当前已经有连续多少轮多播更新没有将节点j选择为节点i的接收节点,其初始值为0;所有的s[i][i]值恒等于0。
为每个节点所选中的接收节点的情况记录在二维0-1数组r中;r[i][j]为1表明工作节点j被选为工作节点i所发出多播的接收节点;r[i][j]为0表明未被选中。
k为正整数参数。
p为正整数参数。
rate[i]表示工作节点i的多播速率。
f()为一个预先定义的函数;对于给定的正整数x,当底层网络采用IP多播时,f(x)返回1,当底层网络采用应用层多播时,f(x)返回x。
步骤2:初始化处理。
S21:对所有节点i,执行fanin[i]=0,fanout[i]=0。
S22:对所有节点二元组(i,j),如果s[i][j]>=k,则执行r[i][j]=1,fanin[j]+=1,fanout[i]+=1,s[i][j]=0,否者执行r[i][j]=0,s[i][j]+=1。
步骤3:执行基本选择。
S32:若L1为空,则跳转到步骤4,否则跳转到步骤S33。
S33:从L1中取出当前的第一个节点,假设为i,令m=p-w[i]。
S34:若m<=0,则跳转到步骤S32,否者跳转到步骤S35。
S35:从所有当前满足r[i][j]为0的j节点中找到第一个使得in[j]/(fanin[j]+1)值最大的节点,假设为js,执行r[i][js]=1,fanin[js]+=1,fanout[i]+=1,m-=1,s[i][js]=0;跳转到步骤S34。
步骤4:执行增强选择。
S41:令bw=out[0],i=0。
S42:若i为n,则跳转到步骤S45,否者跳转到步骤S43。
S43:bw=min(bw,out[i]/f(fanout[i]);对所有满足r[i][j]为1的节点j,执行bw=min(bw,in[j]/fanin[j])。
S44:i+=1;跳转到步骤S42。
S45:对所有满足r[i][j]为0的节点二元组对(i,j),按照s[i][j]值非增的顺序岁节点二元组对排序作为后续的处理顺序,假设所获得的有序二元组对的列表为L2。
S46:若L2为空,则跳转到步骤5,否则跳转到步骤S47。
S47:从L2中取出当前的第一个节点二元组对(i,j),若bw<=out[i]/f(fanout[i]+1)并且bw<=in[j]/(fanin[j]+1),则执行r[i][j]=1,fanin[j]+=1,fanout[i]+=1,s[i][j]=0;跳转到步骤S46。
步骤5:确定节点速率。
S51:对每个节点i,执行rate[i]=bw,out[i]-=bw*f(fanout[i]),in[i]-=bw*fanin[i];令i=0。
S52:若i为n,则结束,否则跳转到步骤S53。
S53:对节点i,以及所有满足r[i][j]为1的节点j,计算 执行rate[i]+=delta,out[i]-=delta*f(fanout[i]);对所有满足r[i][j]为1的节点j,执行in[j]-=delta;执行i+=1;跳转到步骤S52。
本发明的有益技术效果为:
本发明根据工作节点可用带宽的情况来选择数据接收节点开展多播传输,提高了多播传输效率,降低网络完成受控的部分数据同步所需的时间,为分布式机器学习模型训练等应用提供了性能更高的数据多播传输控制方法。
具体实施方式
下面通过具体实施方法对本发明做进一步详细说明。
本发明的一种带宽感知的选择性数据多播方法,包括以下步骤:
步骤1:参数设定。
设分布式训练中包含n个工作节点,编号分别为0,1,2,...,i,...,n-1。
对于第i个工作节点,本发明需要为其找到不少于p个其他节点,作为其数据的多播接收节点。p是一个预先给定的可配置参数,1<=p<=n-1。
对于第i个工作节点,使用in[i]和out[i]分别表示其下行和上行可用带宽值,使用fanin[i]记录其当前被其他多少个工作节点选为多播传输的接收节点,使用fanout[i]记录已为其选中的接收节点数目。
s为一个n*n的二维数组;s[i][j]表示当节点i作为多播源时,截止当前已经有连续多少轮多播更新没有将节点j选择为节点i的接收节点,其初始值为0;所有的s[i][i]值恒等于0。
为每个节点所选中接收节点的情况记录在二维0-1数组r中;r[i][j]为1表明工作节点j被选为工作节点i所发出多播的接收节点;r[i][j]为0表明未被选中。
k为正整数可配置参数,表示本发明需要确保任何一个工作节点连续未向任意其他节点进行多播通信的轮数需要不超过该值。rate[i]表示工作节点i的多播速率。
f()为一个预先定义的函数;对于给定的正整数x,当底层网络采用IP多播时,f(x)返回1,当底层网络采用应用层多播时,f(x)返回x。
步骤2:初始化处理。
S21:对所有节点i,执行fanin[i]=0,fanout[i]=0。
S22:对所有节点二元组(i,j),如果s[i][j]>=k,则执行r[i][j]=1,fanin[j]+=1,fanout[i]+=1,s[i][j]=0,否者执行r[i][j]=0,s[i][j]+=1。
步骤3:执行基本选择。
S32:若L1为空,则跳转到步骤4,否则跳转到步骤S33。
S33:从L1中取出第一个节点,令m=p-w[i]。
S34:若m<=0,则跳转到步骤S32,否者跳转到步骤S35。
S35:从所有当前满足r[i][j]为0的j节点中找到第一个使得in[j]/(fanin[j]+1)值最大的节点,假设为js,执行r[i][js]=1,fanin[js]+=1,fanout[i]+=1,m-=1,s[i][js]=0;跳转到步骤S34。
步骤4:执行增强选择。
S41:令bw=out[0],i=0。
S42:若i为n,则跳转到步骤S45,否者跳转到步骤S43。
S43:bw=min(bw,out[i]/f(fanout[i]);对所有满足r[i][j]为1的节点j,执行bw=min(bw,in[j]/fanin[j])。
S44:i+=1;跳转到步骤S42。
S45:对所有满足r[i][j]为0的节点二元组对(i,j),按照s[i][j]值非增的顺序对节点二元组对排序作为后续的处理顺序,假设所获得的有序二元组对的列表为L2。
S46:若L2为空,则跳转到步骤5,否则跳转到步骤S47。
S47:从L2中取出当前的第一个节点二元组对(i,j),若bw<=out[i]/f(fanout[i]+1)并且bw<=in[j]/(fanin[j]+1),则执行r[i][j]=1,fanin[j]+=1,fanout[i]+=1,s[i][j]=0;跳转到步骤S46。
步骤5:确定节点速率。
S51:对每个节点i,执行rate[i]=bw,out[i]-=bw*f(fanout[i]),in[i]-=bw*fanin[i];令i=0;
S52:若i为n,则结束,否则跳转到步骤S53。
S53:对节点i,以及所有满足r[i][j]为1的节点j,计算 执行rate[i]+=delta,out[i]-=delta*f(fanout[i]);对所有满足r[i][j]为1的节点j,执行in[j]-=delta;执行i+=1;跳转到步骤S52。
本发明在步骤3中的挑选接收节点时,根据可用带宽和负载,优先选择在公平性分配下能够分得带宽最多的选择。一个多播所能采用的最大速率为其所有接收节点所获得带宽之最小值。所以,优先选择能够分得带宽更大的节点作为接收节点可以让整个多播传输任务的速率更大,从而提高多播效率。
本发明在步骤4-5中,计算出所有多播的基本多播速率值bw(即,每个多播至少可以用bw的速率进行多播)。之后,再会贪婪地依次检查,如果再选择一个接收节点bw的多播速率依然满足,则将其选择,从而充分选择网络中拥有足够带宽的节点。再进一步贪婪地依次检查,各个多播源和被选中的接收节点之间是否有剩余的带宽,如果有,则将该多播的传输速率从bw增大到bw+delta,从而充分利用被选中节点的剩余可用带宽。
Claims (1)
1.一种带宽感知的选择性数据多播方法,其特征在于,包括以下步骤:
步骤1:参数设定;
设分布式训练中包含n个工作节点,编号分别为0,1,2,...,i,...,n-1;对于第i个工作节点,使用in[i]和out[i]分别表示其下行和上行可用带宽值,使用fanin[i]记录其当前被其他多少个工作节点选为多播传输的接收节点,使用fanout[i]记录已为其选中的接收节点数目;
s为一个n*n的二维数组;s[i][j]表示当节点i作为多播源节点时,截止当前已经有连续多少轮多播更新没有将节点j选择为节点i的接收节点,其初始值为0;所有的s[i][i]值恒等于0;
为每个节点所选中的接收节点的情况记录在二维0-1数组r中;r[i][j]为1表明工作节点j被选为工作节点i所发出多播的接收节点;r[i][j]为0表明未被选中;
k为正整数参数;
p为正整数参数;
rate[i]表示工作节点i的多播速率;
f()为一个预先定义的函数;对于给定的正整数x,当底层网络采用IP多播时,f(x)返回1,当底层网络采用应用层多播时,f(x)返回x;
步骤2:初始化处理;
S21:对所有节点i,执行fanin[i]=0,fanout[i]=0;
S22:对所有节点二元组(i,j),如果s[i][j]>=k,则执行r[i][j]=1,fanin[j]+=1,fanout[i]+=1,s[i][j]=0,否者执行r[i][j]=0,s[i][j]+=1;
步骤3:执行基本选择;
S32:若L1为空,则跳转到步骤4,否则跳转到步骤S33;
S33:从L1中取出当前的第一个节点,假设为i,令m=p-w[i];
S34:若m<=0,则跳转到步骤S32,否者跳转到步骤S35;
S35:从所有当前满足r[i][j]为0的j节点中找到第一个使得in[j]/(fanin[j]+1)值最大的节点,假设为js,执行r[i][js]=1,fanin[js]+=1,fanout[i]+=1,m-=1,s[i][js]=0;跳转到步骤S34;
步骤4:执行增强选择;
S41:令bw=out[0],i=0;
S42:若i为n,则跳转到步骤S45,否者跳转到步骤S43;
S43:bw=min(bw,out[i]/f(fanout[i]);对所有满足r[i][j]为1的节点j,执行bw=min(bw,in[j]/fanin[j]);
S44:i+=1;跳转到步骤S42;
S45:对所有满足r[i][j]为0的节点二元组对(i,j),按照s[i][j]值非增的顺序岁节点二元组对排序作为后续的处理顺序,假设所获得的有序二元组对的列表为L2;
S46:若L2为空,则跳转到步骤5,否则跳转到步骤S47;
S47:从L2中取出当前的第一个节点二元组对(i,j),若bw<=out[i]/f(fanout[i]+1)并且bw<=in[j]/(fanin[j]+1),则执行r[i][j]=1,fanin[j]+=1,fanout[i]+=1,s[i][j]=0;跳转到步骤S46;
步骤5:确定节点速率;
S51:对每个节点i,执行rate[i]=bw,out[i]-=bw*f(fanout[i]),in[i]-=bw*fanin[i];令i=0;
S52:若i为n,则结束,否则跳转到步骤S53;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210085437.4A CN114461392B (zh) | 2022-01-25 | 2022-01-25 | 一种带宽感知的选择性数据多播方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210085437.4A CN114461392B (zh) | 2022-01-25 | 2022-01-25 | 一种带宽感知的选择性数据多播方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461392A true CN114461392A (zh) | 2022-05-10 |
CN114461392B CN114461392B (zh) | 2023-03-31 |
Family
ID=81410687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210085437.4A Active CN114461392B (zh) | 2022-01-25 | 2022-01-25 | 一种带宽感知的选择性数据多播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461392B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052004A (zh) * | 2007-05-18 | 2007-10-10 | 清华大学 | Ip网络中基于虚拟分发网的多播传送方法 |
WO2010011668A1 (en) * | 2008-07-21 | 2010-01-28 | Livetimenet Inc. | A scalable flow transport and delivery network and associated methods and systems |
CN103458470A (zh) * | 2013-07-25 | 2013-12-18 | 北京邮电大学 | 认知中继系统中基于QoS的传输方法 |
CN104244322A (zh) * | 2014-08-27 | 2014-12-24 | 华中师范大学 | 一种用于克服隐藏干扰的无线多播协作节点选择建立方法 |
CN105956021A (zh) * | 2016-04-22 | 2016-09-21 | 华中科技大学 | 一种适用于分布式机器学习的自动化任务并行的方法及其系统 |
CN109889450A (zh) * | 2019-03-13 | 2019-06-14 | 西南交通大学 | 组播速率控制方法以及组播传输设备 |
CN110225539A (zh) * | 2019-07-09 | 2019-09-10 | 浙江大学 | 一种基于无线传感网络的分布式估计的节能方法 |
US10608931B1 (en) * | 2016-11-28 | 2020-03-31 | Juniper Networks, Inc. | Selective multicasting of traffic flows in multiprotocol label switching virtual private networks |
CN111343104A (zh) * | 2020-03-02 | 2020-06-26 | 西南交通大学 | 一种实现带权带宽分配的拥塞控制方法 |
CN111369009A (zh) * | 2020-03-04 | 2020-07-03 | 南京大学 | 一种能容忍不可信节点的分布式机器学习方法 |
WO2020232720A1 (zh) * | 2019-05-23 | 2020-11-26 | Oppo广东移动通信有限公司 | 一种通信方法及装置、网络架构 |
-
2022
- 2022-01-25 CN CN202210085437.4A patent/CN114461392B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052004A (zh) * | 2007-05-18 | 2007-10-10 | 清华大学 | Ip网络中基于虚拟分发网的多播传送方法 |
WO2010011668A1 (en) * | 2008-07-21 | 2010-01-28 | Livetimenet Inc. | A scalable flow transport and delivery network and associated methods and systems |
CN103458470A (zh) * | 2013-07-25 | 2013-12-18 | 北京邮电大学 | 认知中继系统中基于QoS的传输方法 |
CN104244322A (zh) * | 2014-08-27 | 2014-12-24 | 华中师范大学 | 一种用于克服隐藏干扰的无线多播协作节点选择建立方法 |
CN105956021A (zh) * | 2016-04-22 | 2016-09-21 | 华中科技大学 | 一种适用于分布式机器学习的自动化任务并行的方法及其系统 |
US10608931B1 (en) * | 2016-11-28 | 2020-03-31 | Juniper Networks, Inc. | Selective multicasting of traffic flows in multiprotocol label switching virtual private networks |
CN109889450A (zh) * | 2019-03-13 | 2019-06-14 | 西南交通大学 | 组播速率控制方法以及组播传输设备 |
WO2020232720A1 (zh) * | 2019-05-23 | 2020-11-26 | Oppo广东移动通信有限公司 | 一种通信方法及装置、网络架构 |
CN110225539A (zh) * | 2019-07-09 | 2019-09-10 | 浙江大学 | 一种基于无线传感网络的分布式估计的节能方法 |
CN111343104A (zh) * | 2020-03-02 | 2020-06-26 | 西南交通大学 | 一种实现带权带宽分配的拥塞控制方法 |
CN111369009A (zh) * | 2020-03-04 | 2020-07-03 | 南京大学 | 一种能容忍不可信节点的分布式机器学习方法 |
Non-Patent Citations (5)
Title |
---|
ALEKSEY CHARAPKO等: "Pigpaxos: Devouring the communication bottlenecks in distributed consensus" * |
TENG WANG等: "Metakv: A key-value store for metadata management of distributed burst buffers" * |
张毅;张秀梅;陈炜;冯力;: "移动自组织网络中基于移动Agent的多约束QoS多播路由算法" * |
赵海涛;王杉;魏急波;宋安;李颖;: "多跳无线网络中基于模型的可用带宽预测" * |
魏;韩少恒;: "基于带宽预测的流媒体超级节点选择算法" * |
Also Published As
Publication number | Publication date |
---|---|
CN114461392B (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111628855B (zh) | 基于深度强化学习的工业5g动态多优先级多接入方法 | |
CN108573326B (zh) | 基于遗传蚁群混合算法的视频服务器选址方法 | |
CN114143264B (zh) | 一种SRv6网络下基于强化学习的流量调度方法 | |
CN111010294A (zh) | 一种基于深度强化学习的电力通信网路由方法 | |
CN109803246B (zh) | 大规模mtc网络中一种基于分组的随机接入与数据传输方法 | |
CN111580970A (zh) | 一种联邦学习的模型分发与聚合的传输调度方法 | |
CN107948083A (zh) | 一种基于增强学习的sdn数据中心拥塞控制方法 | |
CN105873214A (zh) | 一种基于遗传算法的d2d通信系统的资源分配方法 | |
CN113127169B (zh) | 数据中心网络中动态工作流的高效链路调度方法 | |
CN109792406B (zh) | 服务器集群中的消息传递方法、装置及存储介质 | |
CN111182511B (zh) | 一种mMTC场景中基于AGA的NOMA资源分配方法 | |
Cruz-Chávez et al. | Hybrid micro genetic multi-population algorithm with collective communication for the job shop scheduling problem | |
CN109121105A (zh) | 基于马尔可夫博弈的运营商竞争切片强化学习方法 | |
CN108055701A (zh) | 一种资源调度方法及基站 | |
CN103561457B (zh) | 一种异构无线网络协作通信中的多目标网络功率分配方法 | |
CN112261725A (zh) | 一种基于深度强化学习的数据包传输智能决策方法 | |
Morillo et al. | A latency-aware partitioning method for distributed virtual environment systems | |
CN108430108B (zh) | 基于并发集多目标优化时隙分配方法、无线网络控制系统 | |
CN114461392B (zh) | 一种带宽感知的选择性数据多播方法 | |
CN104918256A (zh) | 一种传输调度方法及装置 | |
CN110505681B (zh) | 基于遗传方法的非正交多址接入场景用户配对方法 | |
CN112737726A (zh) | 一种静态与动态相融合的tdma时隙分配方法 | |
Nicopolitidis et al. | Continuous flow wireless data broadcasting for high-speed environments | |
CN101753463A (zh) | 一种多通道传输负载均衡方法及装置 | |
CN108260193B (zh) | 一种异构网络中基于信道聚合的联合资源分配方法及装置 |
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 |