CN111147374A - 一种分布式通信算法和装置 - Google Patents
一种分布式通信算法和装置 Download PDFInfo
- Publication number
- CN111147374A CN111147374A CN201911394910.1A CN201911394910A CN111147374A CN 111147374 A CN111147374 A CN 111147374A CN 201911394910 A CN201911394910 A CN 201911394910A CN 111147374 A CN111147374 A CN 111147374A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- communication
- data block
- sub
- data blocks
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 106
- 230000002068 genetic effect Effects 0.000 claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 abstract description 2
- 238000012549 training Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种分布式通信算法和装置,包括:应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。本发明提供的分布式通信算法和装置,通过Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径,通过遗传算法算出通信线路上总数据块切分为多个子数据块的最优解,解决了现有技术中同时存在多种通信协议的情况下,寻找总数据块在通信线路上最佳路径和最优数据块的问题,缩短了总数据块在通信线路上reduce的总时间,从而实现对通信的加速。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种分布式通信算法和装置。
背景技术
随着科学计算技术的发展,神经网络已经取得了飞速的发展,并且越来越多的应用到日常生活和生产中,给人民生活带来了极大的便利。与此同时,也存在越来越多的模型需要训练,因此,分布式训练成为了训练首选,然而分布式训练中普遍存在的问题是当模型过大,参数过多时分布式系统之间的通信成为了瓶颈,尤其涉及到多节点通信。
目前分布式训练的通信算法有All reduce ring(环形规约通信算法)、Allreduce ring chunked(分块环形规约通信算法)、All reduce halving doubling(二叉树状规约通信算法)、All reduce bcube(块状规约算法)等通信算法,这些通信算法分别从环状通信和树状通信两种方式来优化分布式通信,但是这些算法的一个普遍共通性是假设通信是同一种通信方式。
而在实际分布式训练时通信线路往往特别复杂,其中除了包括GPU之间的通信,还包括CPU之间的通信,目前所用的通信算法在一种通信协议下可以起到加速分布式通信的效果,但是同时存在多种通信协议的情况下,存在如何寻找最佳路径和最优数据块的问题。
发明内容
本发明实施例中提供了一种分布式通信算法和装置,以解决现有技术中同时存在多种通信协议的情况下寻找最佳路径和最优数据块的问题,进而使传输速度最快。
本发明实施例公开了如下技术方案:
本发明第一方面提供了一种分布式通信算法,包括:
应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;
应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。
进一步地,所述寻找通信线路上子数据块传输最短路径的过程包括:
计算两个节点间路径的权值,权值公式为t=Aα+Bβ+γ,
其中α为通信启动时间,γ为软件运行时间,β为传输每字节耗费时间,S为通信总字节数,A为通信步骤,B为通信线上的同时运行的字节数;
应用Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径;
在终止节点处统计所有子数据块的完备性,所有节点数据块完备后传输结束。
进一步地,所述计算两个节点间路径的权值中,A、B在不同通信算法上的值分别为:
All reduce ring,A=P-1,B=P*S,
All reduce ring chunked,A=4P,B=2*S,
All reduce halving doubling,A=2*lg(P),B=2*S,
All reduce bcube,A=2*log_C(P),B=2*Sum(S/C^s),
其中,P为进程的数量,S为总数据块的大小,C为通信对的基数,s为0to log_C(P)-1。
进一步地,所述算法中,当子数据块途经各节点时数据块大小不变。
进一步地,所述算法中,总数据块在通信线路上reduce的总时间是子数据块从起始节点运行到终止节点的最长时间。
进一步地,所述寻找通信线路上总数据块切分为多个子数据块的最优解具体为:将通信线路上多个子数据块传输的最短路径作为遗传算法的输入,遗传算法的输出作为总数据块切分为多个子数据块的依据。
本发明第二方面提供了一种分布式通信装置,包括最短路径计算模块和数据块切分模块,所述最短路径计算模块应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;所述数据块切分模块应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。
进一步地,所述最短路径计算模块的工作过程包括:
计算两个节点间路径的权值;
应用Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径;
在终止节点处统计所有子数据块的完备性,所有节点数据块完备后传输结束。
进一步地,所述数据块切分模块的工作过程包括:将通信线路上多个子数据块传输的最短路径作为遗传算法的输入,遗传算法的输出作为总数据块切分为多个子数据块的依据。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提供的分布式通信算法和装置,通过Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径,通过遗传算法算出通信线路上总数据块切分为多个子数据块的最优解,解决了现有技术中同时存在多种通信协议的情况下,寻找总数据块在通信线路上最佳路径和最优数据块的问题,缩短了总数据块在通信线路上reduce的总时间,从而实现对通信的加速。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述算法流程图;
图2为本发明所述寻找通信线路上子数据块传输最短路径的流程图;
图3为本发明所述装置结构框图;
图4为本发明实施例所述一个8节点GPU拓扑图;
图5为本发明实施例所述一个8节点GPU权值拓扑图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,为本发明分布式通信算法流程图,包括:应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。
如图2所示,为本发明寻找通信线路上子数据块传输最短路径的流程图,具体过程包括:
计算两个节点间路径的权值,权值公式为t=Aα+Bβ+γ,
其中α为通信启动时间,γ为软件运行时间,β为传输每字节耗费时间,S为通信总字节数,A为通信步骤,B为通信线上的同时运行的字节数;
应用Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径;
在终止节点处统计所有子数据块的完备性,所有节点数据块完备后传输结束。
计算两个节点间路径的权值中,A、B在不同通信算法上的值分别为:
All reduce ring:A=P-1,B=P*S,
All reduce ring chunked:A=4P,B=2*S,
All reduce halving doubling:A=2*lg(P),B=2*S,
All reduce bcube:A=2*log_C(P),B=2*Sum(S/C^s),
其中,P为进程的数量,S为总数据块的大小,C为通信对的基数,s为0to log_C(P)-1。
由于有多重通信协议的存在,而且每种通信协议的硬件传输速度不同,因此,需要找到最优传输路径,路径上的传输速度可以简化成权重。
子数据块传输的最短路径相同时,可以将最短路径分成多个分支。
当子数据块途经各节点时数据块大小不变,主要原因是因为节点内进行reduce后数据块大小不变。
总数据块在通信线路上reduce的总时间是子数据块从起始节点运行到终止节点的最长时间。
如图4所示,为本发明实施例一个8节点GPU拓扑图,由于有多重通信协议存在,而且每种通信协议的硬件的传输速度不同,因此,需要找到最优传输路径,将路径上的传输速度简化成权值后,如图5所示。
GPU0-GPU7路径下,寻找最短路径的过程如下:
以GPU0为起始节点寻找最短路径,GPU0处有三条路径权重相同,GPU0-GPU1、GPU0-GPU2和GPU0-GPU3,则可以看做有三条可能最短路径;
从GPU1开始进行寻找最短路径,GPU1处最短路径为GPU1-GPU4的路径,则选择GPU1-GPU4的路径;
以此方法类推,可以找出所有的优化路径(由于部分路径权重相同,因此最优路径可能有多个)。
寻找通信线路上总数据块切分为多个子数据块的最优解具体为:将通信线路上多个子数据块传输的最短路径作为遗传算法的输入,遗传算法的输出值作为总数据块切分为多个子数据块的依据。
对于节点内的总数据块,可以分成多个子数据块进行计算。当分成多个子数据块时,reduce算法可以看成是每一个子数据块在所有节点的最短路径问题。
例如传输64M的数据,数据块拆分变量的二进制位为4位时可以分为16种可能,变量为0时不拆分,变量为15时拆分16块,每块4M,变量值由节点间路径的权值决定。
如图3所示,为本发明提供的分布式通信装置结构框图,装置包括最短路径计算模块和数据块切分模块,最短路径计算模块应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;数据块切分模块应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。
最短路径计算模块的工作过程包括:
计算两个节点间路径的权值;
应用Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径;
在终止节点处统计所有子数据块的完备性,所有节点数据块完备后传输结束。
数据块切分模块的工作过程包括:将通信线路上多个子数据块传输的最短路径作为遗传算法的输入,遗传算法的输出作为总数据块切分为多个子数据块的依据。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (9)
1.一种分布式通信算法,其特征在于,所述算法包括:
应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;
应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。
2.根据权利要求1所述的一种分布式通信算法,其特征在于,所述寻找通信线路上子数据块传输最短路径的过程包括:
计算两个节点间路径的权值,权值公式为t=Aα+Bβ+γ,
其中α为通信启动时间,γ为软件运行时间,β为传输每字节耗费时间,S为通信总字节数,A为通信步骤,B为通信线上的同时运行的字节数;
应用Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径;
在终止节点处统计所有子数据块的完备性,所有节点数据块完备后传输结束。
3.根据权利要求2所述的一种分布式通信算法,其特征在于,所述计算两个节点间路径的权值中,A、B在不同通信算法上的值分别为:
All reduce ring,A=P-1,B=P*S,
All reduce ring chunked,A=4P,B=2*S,
All reduce halving doubling,A=2*lg(P),B=2*S,
All reduce bcube,A=2*log_C(P),B=2*Sum(S/C^s),
其中,P为进程的数量,S为总数据块的大小,C为通信对的基数,s为0 to log_C(P)-1。
4.根据权利要求2所述的一种分布式通信算法,其特征在于,所述算法中,当子数据块途经各节点时数据块大小不变。
5.根据权利要求1所述的一种分布式通信算法,其特征在于,所述算法中,总数据块在通信线路上reduce的总时间是子数据块从起始节点运行到终止节点的最长时间。
6.根据权利要求1所述的一种分布式通信算法,其特征在于,所述寻找通信线路上总数据块切分为多个子数据块的最优解具体为:将通信线路上多个子数据块传输的最短路径作为遗传算法的输入,遗传算法的输出作为总数据块切分为多个子数据块的依据。
7.一种分布式通信装置,基于权利要求1-6任一项所述算法实现,其特征在于,所述装置包括最短路径计算模块和数据块切分模块,所述最短路径计算模块应用Dijkstra算法寻找通信线路上子数据块传输的最短路径;所述数据块切分模块应用遗传算法寻找通信线路上总数据块切分为多个子数据块的最优解。
8.根据权利要求7所述的一种分布式通信装置,其特征在于,所述最短路径计算模块的工作过程包括:
计算两个节点间路径的权值;
应用Dijkstra算法求取子数据块从起始节点运行到终止节点的最短路径;
在终止节点处统计所有子数据块的完备性,所有节点数据块完备后传输结束。
9.根据权利要求7所述的一种分布式通信装置,其特征在于,所述数据块切分模块的工作过程包括:将通信线路上多个子数据块传输的最短路径作为遗传算法的输入,遗传算法的输出作为总数据块切分为多个子数据块的依据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394910.1A CN111147374B (zh) | 2019-12-30 | 2019-12-30 | 一种分布式通信算法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394910.1A CN111147374B (zh) | 2019-12-30 | 2019-12-30 | 一种分布式通信算法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147374A true CN111147374A (zh) | 2020-05-12 |
CN111147374B CN111147374B (zh) | 2022-03-15 |
Family
ID=70521942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911394910.1A Active CN111147374B (zh) | 2019-12-30 | 2019-12-30 | 一种分布式通信算法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147374B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597139A (zh) * | 2020-05-13 | 2020-08-28 | 苏州浪潮智能科技有限公司 | 一种gpu的通信方法、系统、设备以及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360452A (zh) * | 2011-10-26 | 2012-02-22 | 西安电子科技大学 | 基于最少资源神经网络求解大规模图的最短路径方法 |
US20190095819A1 (en) * | 2017-09-27 | 2019-03-28 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
US20190325316A1 (en) * | 2019-05-16 | 2019-10-24 | Intel Corporation | Apparatus and methods for program synthesis using genetic algorithms |
-
2019
- 2019-12-30 CN CN201911394910.1A patent/CN111147374B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360452A (zh) * | 2011-10-26 | 2012-02-22 | 西安电子科技大学 | 基于最少资源神经网络求解大规模图的最短路径方法 |
US20190095819A1 (en) * | 2017-09-27 | 2019-03-28 | Oracle International Corporation | Scalable and efficient distributed auto-tuning of machine learning and deep learning models |
US20190325316A1 (en) * | 2019-05-16 | 2019-10-24 | Intel Corporation | Apparatus and methods for program synthesis using genetic algorithms |
Non-Patent Citations (2)
Title |
---|
ADITYA PALIWAL,等: ""REINFORCED GENETIC ALGORITHM LEARNING FOR OPTIMIZING COMPUTATION GRAPHS"", 《HTTPS://ARXIV.ORG/PDF/1905.02494V3.PDF》 * |
杨博等: "基于切片模型的快速混合学习算法", 《哈尔滨工业大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597139A (zh) * | 2020-05-13 | 2020-08-28 | 苏州浪潮智能科技有限公司 | 一种gpu的通信方法、系统、设备以及介质 |
CN111597139B (zh) * | 2020-05-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种gpu的通信方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111147374B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3815333B1 (en) | Batch processing for quic | |
US8326988B2 (en) | Systems and methods for data alignment | |
CN110741573A (zh) | 在区块链网络中选择性使用网络编码传播交易的方法和系统 | |
CN113746749A (zh) | 网络连接设备 | |
CN104038425A (zh) | 转发以太网报文的方法和装置 | |
CN115037814B (zh) | 一种基于fpga硬件加速的tcp/udp校验和的确定方法 | |
CN111865326B (zh) | 数据压缩方法、装置、设备及存储介质 | |
CN111147374B (zh) | 一种分布式通信算法和装置 | |
CN103888338B (zh) | 以太网微波传输链路聚合的流量分担方法及装置 | |
Li et al. | {THC}: Accelerating Distributed Deep Learning Using Tensor Homomorphic Compression | |
CN111597139B (zh) | 一种gpu的通信方法、系统、设备以及介质 | |
Yuanyuan et al. | The design of adaptive communication frame supporting high-speed transmission based on ModBus protocol | |
WO2017059822A1 (zh) | 一种芯片间的通信方法、系统及计算机存储介质 | |
CN102130744B (zh) | 计算循环冗余校验码的方法和装置 | |
CN108235158B (zh) | 光网络多播业务的处理方法和装置 | |
CN116303171A (zh) | 一种服务器之间的数据交互方法、装置、电子设备及介质 | |
CN113132435B (zh) | 一种存储、业务网分离的分布式训练网络系统及通信方法 | |
CN105790966B (zh) | 一种节点交叉搜索方法及装置 | |
EP4391429A1 (en) | Encoding method, decoding method, and related apparatus | |
CN114520839B (zh) | 数据转发方法、控制器及数据转发设备 | |
CN114827312B (zh) | 在智能网卡/dpu内自适应延迟及吞吐率需求的方法及装置 | |
CN115297046B (zh) | 网关信息发送方法、装置、电子设备、介质和产品 | |
WO2023138231A1 (zh) | 一种网络模型的残差传播方法和残差传播装置 | |
KR20050026058A (ko) | 패킷 신호 프로세싱 아키텍쳐 | |
CN108011755B (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 |