CN114356818A - 一种多通道数据传输方法、装置和存储介质 - Google Patents
一种多通道数据传输方法、装置和存储介质 Download PDFInfo
- Publication number
- CN114356818A CN114356818A CN202210263674.5A CN202210263674A CN114356818A CN 114356818 A CN114356818 A CN 114356818A CN 202210263674 A CN202210263674 A CN 202210263674A CN 114356818 A CN114356818 A CN 114356818A
- Authority
- CN
- China
- Prior art keywords
- data
- pcie
- transmission
- communication loop
- channel
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 253
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 159
- 238000009826 distribution Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种多通道数据传输方法、装置和存储介质,方法包括以下步骤:将需要传输的数据划分为数据块,并将数据块按传输通道的带宽比例分配到不同的传输通道中;通过不同的传输通道对需要传输的数据进行环形通信。本发明的多通道数据传输方法,基于环形通信方法,建立了不同的环形通信环路,包括PCIE环形通信环路、NVSWITCH环形通信环路和PCIE+QPI环形通信环路,在现有技术的NVSWITCH环形通信环路基础之上增加了PCIE环形通信环路或者PCIE+QPI环形通信环路,增加了传输带宽,提升了数据传输速率。
Description
技术领域
本发明涉及通信技术领域,尤其是指一种多通道数据传输方法、装置和存储介质。
背景技术
在现有的深度学习框架中,Nccl(NVIDIA Collective Communication Library,NVIDIA集体通信库)通信库占有统治性的地位,Horovod底层通信也是由Nccl完成。Nccl中主要采用的是环形通信方法可以有效的采用 Pipeline技术(流水线技术),使其具有良好的扩展性,在大数据量传输时应用较多。
深度学习的大规模数据并行训练带来了越来越大的时间开销,在高速传输网络,硬件成本高昂的情况下,如何合理高效的利用低速网络传输也是我们要解决的问题。低速网络的低传输效率,已经逐渐成为了神经网络大规模训练的瓶颈。
发明内容
为了解决上述技术问题,本发明提供了一种多通道数据传输方法、装置和存储介质,可以增加传输带宽,可以提高GPU间的数据传输效率。
为实现上述目的,本申请提出第一技术方案:
一种多通道数据传输方法,包括以下步骤:
将需要传输的数据划分为数据块,并将所述数据块按传输通道的带宽比例分配到不同的传输通道中;
通过不同的传输通道对需要传输的数据进行环形通信;
其中,所述传输通道包括PCIE传输通道、NVSWITCH传输通道和PCIE+QPI传输通道。PCIE(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,端到端的高速数据传输通道,PCIESWITCH是PCIE的交换芯片,PCIE依赖于PCIESWITCH进行链路拓扑。NVSWITCH是GPU之间的高速互联技术,支持不同的GPU之间进行高速互联;PCIE+QPI则是PCIE传输通道和QPI传输通道的组合通道。其中QPI,即,Quick PathInterconnect,又名CSI,Common System Interface公共系统接口,QPI是一种基于包传输的串行式高速点对点连接协议,采用差分信号与专门的时钟进行传输。
在本发明的一个实施例中,所述将需要传输的数据划分为数据块前,还包括:
确定需要进行数据传输的GPU;
确定GPU之间需要传输的数据。
在本发明的一个实施例中,所述将所述数据块按传输通道的带宽比例分配到不同的传输通道前,还包括:
执行数据传输的GPU之间建立PCIE环形通信环路和NVSWITCH环形通信环路;
其中,所述PCIE环形通信环路中的相邻两个GPU之间形成所述PCIE传输通道,所述NVSWITCH环形通信环路中的相邻两个GPU之间形成所述NVSWITCH传输通道。
在本发明的一个实施例中,所述执行数据传输的GPU之间建立PCIE环形通信环路和NVSWITCH环形通信环路,具体包括:
获取GPU的拓扑信息;
根据GPU的拓扑信息按照约束条件建立所述NVSWITCH环形通信环路;
清除GPU的拓扑信息和约束条件并建立所述PCIE环形通信环路。
在本发明的一个实施例中,所述建立所述PCIE环形通信环路,还包括:
判断GPU之间是否跨区,如果跨区,则建立PCIE+QPI环形通信环路;如果没有跨区,则建立PCIE环形通信环路;
其中,所述PCIE+QPI环形通信环路中的相邻两个GPU之间形成所述PCIE+QPI传输通道。
在本发明的一个实施例中,所述将所述数据块按传输通道的带宽比例分配到不同的传输通道中,具体包括:
计算所述不同的传输通道之间的带宽比例;
将所述数据块按不同的传输通道之间的带宽比例分配到不同的传输通道中。
在本发明的一个实施例中,所述通过不同的传输通道对需要传输的数据进行环形通信,还包括:
通过同步函数确保数据块在你给的传输通道中同时传输完成。
为实现上述目的,本申请还提出第二技术方案:
一种多通道数据传输装置,所述装置包括:
数据拆分模块,用于将需要传输的数据拆分为数据块;
数据分配模块,用于将数据块按照带宽比例分配到不同的传输通道中;
环形通信模块,用于实现GPU之间数据的环形通信;
传输通道模块,用于传输需要传输的数据;
其中,所述传输通道模块包括PCIE传输通道模块、NVSWITCH传输通道模块和PCIE+QPI传输通道模块。
在本发明的一个实施例中,所述装置还包括:
环路建立模块,用于建立PCIE环形通信环路、NVSWITCH环形通信环路和PCIE+QPI环形通信环路;
拓扑信息模块,用于获取及清除GPU的拓扑信息;
函数同步模块,用于确保数据块在不同的传输通道中同时传输完成。
为实现上述目的,本申请提出第三技术方案:
一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行所述方法的步骤。
本发明的上述技术方案相比现有技术具有以下优点:
本发明所述的一种多通道数据传输方法、装置和存储介质,基于环形通信方法,建立了不同的环形通信环路,包括PCIE环形通信环路、NVSWITCH环形通信环路和PCIE+QPI环形通信环路,在现有技术的NVSWITCH环形通信环路基础之上增加了PCIE环形通信环路或者PCIE+QPI环形通信环路,增加了传输带宽,提升了数据传输速率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的多通道数据传输方法的第一方法流程图;
图2是本发明的多通道数据传输方法的第二方法流程图;
图3是本发明的多通道数据传输方法装置的装置结构图;
图4是本发明的多通道数据传输方法的GPU跨区机型拓扑结构图;
图5是本发明的多通道数据传输方法的GPU不跨区机型拓扑结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
参照图1所示,图1为本发明的多通道数据传输方法的第一方法流程图。
本实施例的多通道数据传输方法,包括以下步骤:
将需要传输的数据划分为数据块,并将所述数据块按传输通道的带宽比例分配到不同的传输通道中;
深度学习的大规模数据并行训练带来了越来越大的时间开销,在高速传输网络,硬件成本高昂的情况下,如何合理高效的利用低速网络传输也是我们要解决的问题。低速网络的低传输效率,已经逐渐成为了神经网络大规模训练的瓶颈。因此,本发明提出一种多通道数据传输方法,首先要将需要传输的数据划分为数据块,使得数据块在不同的传输通道中进行传输,由于不同的传输通道的带宽不一样,因此,按照传输通道的带宽比例来传输相应比例的数据块。现有技术的PCIE一般是用来连接ib卡和GPU,ib卡,即iButton(information button 既信息钮),本发明中将PCIE用作环形通信的传输通道,建立PCIE环形通信环路或者PCIE+QPI环形通信环路。因此,在NVSWITCH环形通信环路的基础之上,增加了PCIE环形通信环路或者PCIE+QPI环形通信环路,也就增加了传输带宽,提高了数据的传输效率。
通过不同的传输通道对需要传输的数据进行环形通信;
在现有的深度学习框架中,Nccl通信库占有统治性的地位,Horovod底层通信也是由Nccl完成。Nccl中主要采用的是环形通信方法可以有效的采用 Pipeline技术,使其具有良好的扩展性,在大数据量传输时应用较多。因此多通道传输方法建立在环形通信的基础之上,通过不同的传输通道对需要传输的数据进行环形通信。
其中,所述传输通道包括PCIE传输通道、NVSWITCH传输通道和PCIE+QPI传输通道。
一般的,设置两个传输通道,一个PCIE传输通道或者PCIE+QPI传输通道,和一个NVSWITCH传输通道。在NVSWITCH传输通道的基础之上,增加了PCIE传输通道或者PCIE+QPI传输通道,这样便会增加传输带宽,提高数据的传输速率。
在其中一个实施方式中,所述将需要传输的数据划分为数据块前,还包括:
确定需要进行数据传输的GPU;
在执行环形通信之前,需要确定参与环形通信的GPU,以便于在各个GPU之间建立环形通信回路,以进行数据的传输。
确定GPU之间需要传输的数据。
在确定需要进行数据传输的GPU后,便可以在各个GPU之间建立环形通信回路,以进行数据的传输,因此要确定GPU之间需要传输的数据。
在其中一个实施方式中,所述将所述数据块按传输通道的带宽比例分配到不同的传输通道前,还包括:
执行数据传输的GPU之间建立PCIE环形通信环路和NVSWITCH环形通信环路;
多通道数据传输方法,首先要将需要传输的数据划分为数据块,使得数据块在不同的传输通道中进行传输,因此要在将所述数据块按传输通道的带宽比例分配到不同的传输通道前,建立环形通信回路,优选的,在需要进行数据传输的GPU之间建立PCIE环形通信环路或者PCIE+QPI传输通道,和NVSWITCH环形通信环路。
其中,所述PCIE环形通信环路中的相邻两个GPU之间形成所述PCIE传输通道,所述NVSWITCH环形通信环路中的相邻两个GPU之间形成所述NVSWITCH传输通道。
在建立PCIE环形通信环路后,那么在PCIE环形通信环路中的相邻两个GPU之间形成PCIE传输通道;在建立NVSWITCH环形通信环路后,那么在NVSWITCH环形通信环路中的相邻两个GPU之间形成NVSWITCH传输通道。
在其中一个实施方式中,所述在需要进行数据传输的GPU之间建立PCIE环形通信环路和NVSWITCH环形通信环路,具体包括:
获取GPU的拓扑信息;
要想建立NVSWITCH环形通信环路,首先要获取GPU的拓扑信息,GPU的拓扑信息包括带宽大小和GPU之间的距离,根据带宽大小和GPU之间的距离来进行环形通信环路的构建。
根据GPU的拓扑信息按照约束条件建立所述NVSWITCH环形通信环路;
根据带宽大小和GPU之间的距离来进行环形通信环路的构建,构建NVSWITCH环形通信环路需要添加约束条件,约束条件为带宽最大,路径最短。构建NVSWITCH环形通信环路,首先要按照GPU的序号确定环形通信环路的起始GPU;然后根据约束条件,优先寻找满足约束条件的GPU,即带宽最大,路径最短的GPU,如果带宽与路径距离相同,则采用序号较小的GPU;依次类推直至构建NVSWITCH环形通信环路完成。
清除GPU的拓扑信息和约束条件并建立所述PCIE环形通信环路。
在建立PCIE环形通信环路的时候需要清除GPU的拓扑信息和约束条件,否则,就会默认按照GPU的拓扑信息和约束条件进行建立环形通信环路,因此在建立PCIE环形通信环路前需要清除GPU的拓扑信息和约束条件,以便于建立PCIE环形通信环路。
在其中一个实施方式中,所述建立所述PCIE环形通信环路,还包括:
判断GPU之间是否跨区,如果跨区,则建立PCIE+QPI环形通信环路;如果没有跨区,则建立PCIE环形通信环路;
其中,所述PCIE+QPI环形通信环路中的相邻两个GPU之间形成所述PCIE+QPI传输通道。
如图4和图5所示,如果GPU0、GPU1、GPU2、GPU3与GPU4、GPU5、GPU6、GPU7之间的数据进行环形通信的时候,例如GPU0与GPU4之间进行环形通信,则出现了跨区的情况,即,GPU不是连接在同一个PCIESWITCH下,这时候便需要建立PCIE+QPI环形通信环路,以实现不同PCIESWITCH下的GPU之间的通信。因此在建立PCIE环形通信环路时,首先要判断GPU之间是否跨区,如果跨区,则建立PCIE+QPI环形通信环路;如果没有跨区,则建立PCIE环形通信环路,PCIE+QPI环形通信环路中的相邻两个GPU之间形成所述PCIE+QPI传输通道。
在其中一个实施方式中,所述将所述数据块按传输通道的带宽比例分配到不同的传输通道中,具体包括:
计算不同的传输通道之间的带宽比例;
数据块在不同的传输通道中进行传输,不同的通道的带宽是不一样的,因此带宽大的则分配较多的数据进行传输,带宽小的则分配较小的数据进行传输。因此首先要计算PCIE传输通道或PCIE+QPI传输通道,与NVSWITCH传输通道的带宽比例,因便于通过比例来分配数据块。
将所述数据块按不同的传输通道的带宽比例分配到不同的传输通道中。
通过计算得到PCIE传输通道或PCIE+QPI传输通道,与NVSWITCH传输通道的带宽比例后,按照带宽比例来分配数据块。如图5所示,增加PCIE传输通道前,环形通信环路为GPU0->NVSWITCH->GPU1-> NVSWITCH->GPU2-> NVSWITCH->GPU3->NVSWITCH->GPU0;增加的环形通信环路为GPU0->PCIESWITCH->GPU1->PCIESWITCH->GPU2-> PCIESWITCH->GPU3->PCIESWITCH->GPU0。例如,PCIE传输通道的理论传输带宽为16GB/s,NVSWITCH传输通道的理论传输带宽为150GB/s;那么在分配的时候,PCIE传输通道分配16*100/(16+150)%的数据,NVSWITCH传输通道分配150*100/(16+150)%的数据,这样在现有技术只能通过NVSWITCH传输通道传输数据的基础上,能够提高(150+16)*100/150%的传输速率。增加PCIE传输通道前,理论传输带宽为150GB/s,实际测试传输带宽在124GB/s左右;增加PCIE传输通道后,理论传输带宽为(150+16)GB/s,实际测试传输带宽在135GB/s左右。GPU跨区的情况下,如图4和图5所示,增加PCIE+QPI传输通道前,理论传输带宽为150GB/s,实际测试传输带宽在124GB/s左右;增加PCIE+QPI传输通道后,理论传输带宽为(150+12.8)GB/s,实际测试传输带宽在132GB/s左右。通过以上测试数据可知,GPU不跨区,实际可以将传输速率提高7%左右;GPU跨区,实际可以将传输速率提高8%左右。此外,在数据量较小的情况下,也就是未占满带宽的情况下,实际传输速度能提高10%左右。
在其中一个实施方式中,所述通过不同的传输通道对需要传输的数据进行环形通信,还包括:
通过同步函数确保数据块在不同的传输通道中同时传输完成。
数据块在不同的通道中传输的速率是不一样的,虽然根据传输通道的带宽比例对数据进行了比例分配,但是在实际应用中不同通道的数据不是同时传输完成的,因此采用同步函数,即grid.sync()函数。如果有的传输通道数据块已经传输完成,由于grid.sync()函数的存在,该传输通道内的数据块会进入等待状态,直到另一传输通道内的数据块传输完成,程序才会继续向下运行,继续数据的传输。
实施例二:
参照图2所示,图2为本发明的多通道数据传输方法的第二方法流程图。
本实施例的多通道数据传输方法,包括以下步骤:
S10,确定需要进行数据传输的GPU。
在执行环形通信之前,需要确定参与环形通信的GPU,以便于在各个GPU之间建立环形通信回路,以进行数据的传输。
S20,确定GPU之间需要传输的数据;
在确定需要进行数据传输的GPU后,便可以在各个GPU之间建立环形通信回路,以进行数据的传输,因此要确定GPU之间需要传输的数据。
S30,获取GPU的拓扑信息;
要想建立NVSWITCH环形通信环路,首先要获取GPU的拓扑信息,GPU的拓扑信息包括带宽大小和GPU之间的距离,根据带宽大小和GPU之间的距离来进行环形通信环路的构建。
S40,根据GPU的拓扑信息按照约束条件建立所述NVSWITCH环形通信环路;
构建NVSWITCH环形通信环路,首先要按照GPU的序号确定环形通信环路的起始GPU;然后根据约束条件,优先寻找满足约束条件的GPU,即带宽最大,路径最短的GPU,如果带宽与路径距离相同,则采用序号较小的GPU;依次类推直至构建NVSWITCH环形通信环路完成。
S50,清除GPU的拓扑信息和约束条件;
在建立PCIE环形通信环路的时候需要清除GPU的拓扑信息和约束条件,否则,就会默认按照GPU的拓扑信息和约束条件进行建立环形通信环路,因此在建立PCIE环形通信环路前需要清除GPU的拓扑信息和约束条件,以便于建立PCIE环形通信环路。
S60,判断GPU之间是否跨区,如果跨区,则建立PCIE+QPI环形通信环路;如果没有跨区,则建立PCIE环形通信环路;
如果GPU不是连接在同一个PCIESWITCH下,这时候便需要建立PCIE+QPI环形通信环路,以实现不同PCIESWITCH下的GPU之间的通信。因此在建立PCIE环形通信环路时,首先要判断GPU之间是否跨区,如果跨区,则建立PCIE+QPI环形通信环路;如果没有跨区,则建立PCIE环形通信环路。
S70,计算不同的传输通道之间的带宽比例;
数据块在不同的传输通道中进行传输,不同的通道的带宽是不一样的,因此带宽大的则分配较多的数据进行传输,带宽小的则分配较小的数据进行传输。因此首先要计算PCIE传输通道或PCIE+QPI传输通道,与NVSWITCH传输通道的带宽比例,因便于通过比例来分配数据块。
S80,将所述数据块按不同的传输通道之间的带宽比例分配到不同的传输通道中;
通过计算得到PCIE传输通道或PCIE+QPI传输通道,与NVSWITCH传输通道的带宽比例后,按照带宽比例来分配数据块。例如,PCIE传输通道的带宽为16GB/s,NVSWITCH传输通道的带宽为150GB/s;那么在分配的时候,PCIE传输通道分配16*100/(16+150)%的数据,NVSWITCH传输通道分配150*100/(16+150)%的数据,这样在现有技术只能通过NVSWITCH传输通道传输数据的基础上,能够提高(150+16)*100/150%的传输速率。
S90,通过不同的传输通道对需要传输的数据进行环形通信。
多通道传输方法建立在环形通信的基础之上,通过不同的传输通道对需要传输的数据进行环形通信。
实施例三:
参照图3所示,图3为本发明的多通道数据传输装置的装置结构图。
本实施例的多通道数据传输装置,包括:
数据拆分模块,用于将需要传输的数据拆分为数据块;
本发明的多通道数据传输方法,首先要将需要传输的数据划分为数据块,数据拆分模块完成数据的拆分,将需要传输的数据拆分为数据块。
数据分配模块,用于将数据块按照带宽比例分配到不同的传输通道中;
数据块在不同的传输通道中进行传输,不同的通道的带宽是不一样的,因此带宽大的则通过数据分配模块分配较多的数据进行传输,带宽小的则通过数据分配模块分配较小的数据进行传输。
环形通信模块,用于实现GPU之间数据的环形通信;
Nccl中主要采用的是环形通信方法可以有效的采用 Pipeline技术,使其具有良好的扩展性,在大数据量传输时应用较多。因此多通道传输方法建立在环形通信的基础之上,不同的传输通道对需要传输的数据通过环形通信模块进行环形通信。
传输通道模块,用于传输需要传输的数据;
多通道数据传输方法,首先要将需要传输的数据划分为数据块,使得数据块在不同的传输通道中进行传输,传输通道模块实现数据的传输。
其中,所述传输通道模块包括PCIE传输通道模块、NVSWITCH传输通道模块和PCIE+QPI传输通道模块。
PCIE传输通道模块实现PCIE环形通信环路的数据传输,NVSWITCH传输通道模块实现NVSWITCH环形通信环路的数据传输,PCIE+QPI传输通道模块实现PCIE+QPI环形通信环路的数据传输。
在其中一个实施方式中,装置还包括:环路建立模块,用于建立PCIE环形通信环路、NVSWITCH环形通信环路、PCIE+QPI环形通信环路;
PCIE环形通信环路的建立、NVSWITCH环形通信环路的建立、PCIE+QPI环形通信环路的建立,均通过环路建立模块来实现。
拓扑信息模块,用于获取及清除GPU的拓扑信息;
要想建立NVSWITCH环形通信环路,首先要获取GPU的拓扑信息,拓扑信息模块获取GPU的拓扑信息;建立NVSWITCH环形通信环路后,要清除GPU的拓扑信息,拓扑信息模块还可以清除GPU的拓扑信息。
函数同步模块,用于确保数据块在不同的传输通道中同时传输完成。
数据块在不同的通道中传输的速率是不一样的,虽然根据传输通道的带宽比例对数据进行了比例分配,但是在实际应用中不同通道的数据不是同时传输完成的,因此采用同步函数,即grid.sync()函数。如果有的传输通道数据块已经传输完成,由于函数同步模块的存在,可以调用grid.sync()函数,该传输通道内的数据块便会进入等待状态,直到另一传输通道内的数据块传输完成,程序才会继续向下运行,继续数据的传输。
实施例四:
本实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器执行上述实施例中的多通道数据传输方法的步骤。
本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例中是参照根据本发明实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种多通道数据传输方法,其特征在于,所述方法包括以下步骤:
将需要传输的数据划分为数据块,并将所述数据块按传输通道的带宽比例分配到不同的传输通道中;
通过不同的传输通道对需要传输的数据进行环形通信;
其中,所述传输通道包括PCIE传输通道、NVSWITCH传输通道和PCIE+QPI传输通道。
2.根据权利要求1所述的多通道数据传输方法,其特征在于,所述将需要传输的数据划分为数据块前,还包括:
确定需要进行数据传输的GPU;
确定GPU之间需要传输的数据。
3.根据权利要求1所述的多通道数据传输方法,其特征在于,所述将所述数据块按传输通道的带宽比例分配到不同的传输通道前,还包括:
执行数据传输的GPU之间建立PCIE环形通信环路和NVSWITCH环形通信环路;
其中,所述PCIE环形通信环路中的相邻两个GPU之间形成所述PCIE传输通道,所述NVSWITCH环形通信环路中的相邻两个GPU之间形成所述NVSWITCH传输通道。
4.根据权利要求3所述的多通道数据传输方法,其特征在于,所述执行数据传输的GPU之间建立PCIE环形通信环路和NVSWITCH环形通信环路,具体包括:
获取GPU的拓扑信息;
根据GPU的拓扑信息按照约束条件建立所述NVSWITCH环形通信环路;
清除GPU的拓扑信息和约束条件并建立所述PCIE环形通信环路。
5.根据权利要求4所述的多通道数据传输方法,其特征在于,所述建立所述PCIE环形通信环路,还包括:
判断GPU之间是否跨区,如果跨区,则建立PCIE+QPI环形通信环路;如果没有跨区,则建立PCIE环形通信环路;
其中,所述PCIE+QPI环形通信环路中的相邻两个GPU之间形成所述PCIE+QPI传输通道。
6.根据权利要求1所述的多通道数据传输方法,其特征在于,所述将所述数据块按传输通道的带宽比例分配到不同的传输通道中,具体包括:
计算不同的传输通道之间的带宽比例;
将所述数据块按不同的传输通道之间的带宽比例分配到不同的传输通道中。
7.根据权利要求1所述的多通道数据传输方法,其特征在于,所述通过不同的传输通道对需要传输的数据进行环形通信,还包括:
通过同步函数确保数据块在不同的传输通道中同时传输完成。
8.一种多通道数据传输装置,其特征在于,所述装置包括:
数据拆分模块,用于将需要传输的数据拆分为数据块;
数据分配模块,用于将数据块按照带宽比例分配到不同的传输通道中;
环形通信模块,用于实现GPU之间数据的环形通信;
传输通道模块,用于传输需要传输的数据;
其中,所述传输通道模块包括PCIE传输通道模块、NVSWITCH传输通道模块和PCIE+QPI传输通道模块。
9.根据权利要求8所述的多通道数据传输装置,其特征在于,所述装置还包括:
环路建立模块,用于建立PCIE环形通信环路、NVSWITCH环形通信环路和PCIE+QPI环形通信环路;
拓扑信息模块,用于获取及清除GPU的拓扑信息;
函数同步模块,用于确保数据块在不同的传输通道中同时传输完成。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1~7中任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263674.5A CN114356818A (zh) | 2022-03-17 | 2022-03-17 | 一种多通道数据传输方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263674.5A CN114356818A (zh) | 2022-03-17 | 2022-03-17 | 一种多通道数据传输方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356818A true CN114356818A (zh) | 2022-04-15 |
Family
ID=81094329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210263674.5A Pending CN114356818A (zh) | 2022-03-17 | 2022-03-17 | 一种多通道数据传输方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356818A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159610A (zh) * | 2015-09-01 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 大规模数据处理系统及方法 |
CN109033001A (zh) * | 2018-07-17 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于分配gpu的方法和装置 |
CN109933430A (zh) * | 2019-03-08 | 2019-06-25 | 北京百度网讯科技有限公司 | 分配图形处理器的方法和装置 |
CN110415160A (zh) * | 2019-06-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种gpu拓扑分区方法与装置 |
CN111680791A (zh) * | 2020-06-16 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 适用于异构环境中的通信方法、装置、系统 |
US20210133583A1 (en) * | 2019-11-05 | 2021-05-06 | Nvidia Corporation | Distributed weight update for backpropagation of a neural network |
CN113626369A (zh) * | 2021-08-14 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种多节点集群环形通信的方法、装置、设备及可读介质 |
-
2022
- 2022-03-17 CN CN202210263674.5A patent/CN114356818A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159610A (zh) * | 2015-09-01 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 大规模数据处理系统及方法 |
CN109033001A (zh) * | 2018-07-17 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于分配gpu的方法和装置 |
CN109933430A (zh) * | 2019-03-08 | 2019-06-25 | 北京百度网讯科技有限公司 | 分配图形处理器的方法和装置 |
CN110415160A (zh) * | 2019-06-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种gpu拓扑分区方法与装置 |
US20210133583A1 (en) * | 2019-11-05 | 2021-05-06 | Nvidia Corporation | Distributed weight update for backpropagation of a neural network |
CN111680791A (zh) * | 2020-06-16 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 适用于异构环境中的通信方法、装置、系统 |
CN113626369A (zh) * | 2021-08-14 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种多节点集群环形通信的方法、装置、设备及可读介质 |
Non-Patent Citations (1)
Title |
---|
托马斯•斯特林等著;黄智濒,艾邦成,杨武兵,李秀桥译: "《高性能计算》", 31 January 2020, 北京:机械工业出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10476697B2 (en) | Network-on-chip, data transmission method, and first switching node | |
CN101945307B (zh) | 光网络中标签的分配处理方法、光通信装置及光通信系统 | |
CN107528680A (zh) | 基于工业互联网现场层总线架构实时传输方法及装置 | |
US9882655B2 (en) | Optical network-on-chip, method for dynamically adjusting optical link bandwidth | |
WO2021189994A1 (zh) | 基于FlexE传输业务流的方法及设备 | |
CN105245301A (zh) | 一种基于时间触发的机载光网络仿真系统 | |
WO2017201757A1 (zh) | 一种业务传送方法和第一传送设备 | |
CN105141354B (zh) | 一种基于业务等级划分的频谱共享度保护方法和装置 | |
CN109155740B (zh) | 保护倒换方法和节点 | |
CN107622032A (zh) | 一种i2c总线的三线扩展方法及电路 | |
CN114356818A (zh) | 一种多通道数据传输方法、装置和存储介质 | |
CN106453121A (zh) | 一种链路动态负载配置方法、系统以及服务器 | |
CN110298756B (zh) | 平行链自共识方法、设备和存储介质 | |
CN103716183A (zh) | 一种光传送网的管理方法和装置 | |
CN106447755A (zh) | 一种动画渲染系统 | |
CN114827781A (zh) | 网络协同方法、装置、设备及存储介质 | |
CN104484293B (zh) | 一种在多控存储系统中实现前端协议的方法和设备 | |
CN102332997B (zh) | 一种网络设备及其进行链路容量调整的方法 | |
CN103401789A (zh) | 一种lsp报文的传输方法和设备 | |
CN107454021B (zh) | 一种通信方法及装置 | |
CN114422419B (zh) | 网络设备连接方法及装置 | |
CN103078780A (zh) | 一种trill网络中指定vlan的动态协商方法和设备 | |
JP6120958B2 (ja) | 業務オーバーヘッドの処理方法、装置及びシステム | |
CN110958503B (zh) | 一种带宽分配装置及方法 | |
JP2015036943A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220415 |
|
RJ01 | Rejection of invention patent application after publication |