一种聚合通信方法及装置制造方法及图纸

技术编号:38323169 阅读:12 留言:0更新日期:2023-07-29 09:05
一种聚合通信方法及装置,涉及计算领域,用于在数据聚合中,减少数据传输次数,进而减少数据聚合过程的时延。该聚合通信方法可应用于计算集群,其中,计算集群可包括第一节点和第二节点,第一节点包括第一处理器和第二处理器,第二节点包括第三处理器,第二处理器与第三处理器连接。在聚合通信方法中,第一处理器确定第一节点中与第二节点中第三处理器连接的处理器为第二处理器,向第二处理器发送第一数据。相应的,第二处理器接收第一处理器的第一数据,将第一数据传输至第二节点的第三处理器中,或者,第二处理器可对第一数据进行处理,得到处理之后的第一数据,然后将处理之后的第一数据传输至第二节点的第三处理器中。一数据传输至第二节点的第三处理器中。一数据传输至第二节点的第三处理器中。

【技术实现步骤摘要】
一种聚合通信方法及装置
[0001]本申请要求在2022年1月14日提交中华人民共和国知识产权局、申请号为202210041814.4、专利技术名称为“一种数据传输系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及计算领域,尤其涉及一种聚合通信方法及装置。

技术介绍

[0003]分布式计算可将应用的数据分解成多个部分进行,并将这些部分分配给计算集群中的多个计算节点中的多个处理器进行计算,如此,可提高计算效率。
[0004]如图1为一种用于执行分布式计算的计算集群的架构图,计算集群中包括节点00至节点30,节点00中包括处理器000至处理器003,节点10中包括处理器100至处理器103等。在上述计算集群中,每个处理器可用于执行一部分计算,并将计算得到的数据与其他处理器计算得到的数据进行聚合,以获得最终的计算结果。
[0005]在数据聚合时,首先节点内的各处理器会对数据进行节点内聚合,得到节点内聚合结果,各节点再将节点内聚合结果与其他节点执行节点间聚合。结合图1中架构举例,处理器000至处理器003可先将自己的第1份数据聚合至节点00的处理器000中,得到节点00中第1份数据的节点内聚合结果。处理器000再将该节点内聚合结果传输至节点10中的处理器100,以用于节点00与节点10进行节点间聚合。但是在该过程中,若处理器000与处理器100未直接连通,处理器000需要从节点00中确定出与节点10中处理器连通的处理器(比如处理器001),将节点内聚合结果发送至处理器001,随后处理器001将节点内聚合结果发送至节点10中处理器。进一步的,节点10中接收节点内聚合结果的处理器比如是处理器101,处理器101还需将该节点内聚合结果发送至处理器100。
[0006]如此,存在多次数据传输,数据聚合过程存在较长的时延。

技术实现思路

[0007]本申请提供一种聚合通信方法及装置,用于在数据聚合中,减少数据传输次数,进而减少数据聚合过程的时延。
[0008]第一方面,本申请提供一种聚合通信方法,该聚合通信方法可应用于计算集群,其中,计算集群可包括第一节点和第二节点,第一节点包括第一处理器和第二处理器,第二节点包括第三处理器,第二处理器与第三处理器连接。在该聚合通信方法中,第一处理器确定第一处理器中的第一数据需要传输至第二节点,可先确定第一节点中与第二节点中处理器连接的处理器为第二处理器,随后,第一处理器向第二处理器传输第一数据。相应的,第二处理器接收第一处理器的第一数据,将第一数据传输至第二节点中的第三处理器中,或者,在另外的示例中,第二处理器可将第一数据进行处理(比如聚合处理),得到处理之后的第一数据,然后将该处理之后的第一数据传输至第二节点中的第三处理器。
[0009]上述技术方案中,第一处理器将第一数据发送至第二处理器,第二处理器将第一数据或者处理之后的第一数据发送至第三处理器。如此,无需先执行节点内聚合得到聚合结果,再将该聚合结果发送至第一节点中与第二节点连通的第二处理器,有助于减少不必要的数据传输,提高数据聚合速度。
[0010]在一种可能的实现方式中,第二处理器与第三处理器通过光交叉(optical cross

connect,OXC)器件连接。示例性的,第二处理器通过第二处理器的光口连接至OXC器件的一个光口,第三处理器通过第三处理器的光口连接至OXC器件的另外一个光口,OXC器件中该两个光口可在OXC器件中构建光通道。
[0011]上述技术方案中,第二处理器与第三处理器通过OXC器件建立独立光通道,光通道相比于电通道可传输更多的数据,避免二者在相互传输数据时出现线路拥塞的问题。
[0012]在一种可能的实现方式中,第一节点包括第一节点中的处理器与其他节点的拓扑(或称为拓扑信息),拓扑包括第二处理器与第三处理器的连接关系。第一处理器可根据拓扑中第二处理器与第三处理器的连接关系,将第一数据传输至第二处理器。
[0013]在一种可能的实现方式中,第一节点包括第一节点中的处理器与其他节点的拓扑,拓扑包括第一节点中k个处理器分别与第二节点中k个处理器的连接关系,k为大于1的整数。第一处理器可根据拓扑中第一节点中k个处理器分别与第二节点中k个处理器的连接关系,将第一节点中k个处理器作为k个候选处理器,再从k个候选处理器中选择第二处理器,将第一数据传输至第二处理器。示例性的,第一处理器可从k个候选处理器中随机选择第二处理器,或者基于预设规则选择第二处理器。
[0014]在一种可能的实现方式中,第一节点中k个处理器分别与第二节点中k个处理器通过OXC器件构建k条光通道,k为大于1的整数,进一步的,第二处理器是第一节点包括的k个处理器中的一个,第三处理器是第二节点包括的k个处理器中的一个。第一节点在与第二节点进行节点间数据传输时,不仅可通过第二处理器向第三处理器发送第一数据,或者发送经过处理后的第一数据,还可通过第一节点中其他处理器与第二节点中与该其他处理器连通的处理器相互传输数据。如此,第一节点与第二节点通过k条光通道进行节点间数据传输,有助于提高节点间数据传输的并发度,进而提高数据聚合的效率。
[0015]在一种可能的实现方式中,第一节点与第二节点之间通过信息传递接口(message passing interface,MPI)中的allreduce接口进行数据传输,计算集群包括M个节点,每个节点包括N个处理器,每个处理器的数据被划分为N份数据,第一数据为N份数据中的第I份数据;第一处理器确定第一处理器中的第一数据需要传输至第二节点,包括:第一处理器用I对M进行求余运算得到余数J;第一处理器确定计算集群中的第J个节点为第二节点;其中,N为大于1的整数,I为大于或等于1的整数,M为大于1的整数。如此,第一处理器将该第I份数据直接发送至与该第J个节点连通的第二处理器中,有助于减少不必要的数据传输,提高数据聚合速度。
[0016]在一种可能的实现方式中,第一处理器在确定第一处理器中的第一数据需要传输至第二节点时,具体可以根据第一处理器中的原始数据、计算集群中节点总数M、节点中处理器总数N,确定出第一数据。可选的,当M大于N时,第一处理器将第一处理器中的原始数据划分为M份,进而第一处理器从该划分得到的M份中选择第I个数据,作为第一数据,其中I是[1,M]中整数。当M小于或等于N时,第一处理器将第一处理器中的原始数据划分为N份,进而
第一处理器从该划分得到的N份中选择第I个数据,作为第一数据,其中I是[1,N]中整数。
[0017]进一步的,在M小于或等于N时,可能存在第一处理器中的多份数据均需要聚合至第J个节点中,也即第一处理器可将多份数据发送至第二处理器中,比如M=3,N=5,第一处理器划分得到的5份数据中的第1份数据和第4份数据,需要聚合至第1个节点中,即第一处理器可将该两份数据发送至第二处理器中,如此有助于提高数据聚合的并发度,进一步提高数据聚合速度。
[0018]在一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种聚合通信方法,应用于计算集群,其特征在于,所述计算集群包括第一节点和第二节点,所述第一节点包括第一处理器和第二处理器,所述第二处理器与所述第二节点中的第三处理器连接;所述方法包括:所述第一处理器确定所述第一处理器中的第一数据需要传输至所述第二节点;所述第一处理器将所述第一数据传输至所述第二处理器;所述第二处理器将所述第一数据或者经过处理后的所述第一数据传输至所述第二节点中的第三处理器。2.如权利要求1所述的方法,其特征在于,所述第二处理器与所述第三处理器通过光交叉OXC器件连接。3.如权利要求1或2所述的方法,其特征在于,所述第一节点包括所述第一节点中的处理器与其他节点的拓扑,所述拓扑包括所述第二处理器与所述第三处理器的连接关系;所述第一处理器将所述第一数据传输至所述第二处理器,包括:所述第一处理器根据所述拓扑中所述第二处理器与所述第三处理器的连接关系,将所述第一数据传输至所述第二处理器。4.如权利要求1或2所述的方法,其特征在于,所述第一节点包括所述第一节点中的处理器与其他节点的拓扑,所述拓扑包括所述第一节点中k个处理器分别与所述第二节点中k个处理器的连接关系,k为大于1的整数;所述第一处理器将所述第一数据传输至所述第二处理器,包括:所述第一处理器根据所述拓扑中所述第一节点中k个处理器分别与所述第二节点中k个处理器的连接关系,将所述第一节点中k个处理器作为k个候选处理器;所述第一处理器从所述k个候选处理器中选择所述第二处理器;所述第一处理器将所述第一数据传输至所述第二处理器。5.如权利要求1至3中任一项所述的方法,其特征在于,所述第一节点与所述第二节点之间通过信息传递接口MPI中的allreduce接口进行数据传输,所述计算集群包括M个节点,每个节点包括N个处理器,每个处理器的数据被划分为N份数据,所述第一数据为所述N份数据中的第I份数据;所述第一处理器确定所述第一处理器中的第一数据需要传输至所述第二节点,包括:所述第一处理器用I对M进行求余运算得到余数J;所述第一处理器确定所述计算集群中的第J个节点为所述第二节点;其中,N为大于1的整数,I为大于或等于1的整数,M为大于1的整数。6.如权利要求4所述的方法,其特征在于,所述方法还包括:所述第二处理器对所述第一数据及所述第一节点中其他N

1个处理器的第I份数据进行聚合处理。7.如权利要求1至3中任一项所述的方法,其特征在于,所述第一节点与所述第二节点之间通过信息传递接口MPI中的alltoall接口进行数据传输,所述计算集群包括M个节点,每个节点包括N个处理器,每个处理器的数据被划分为M
×
N份数据,所述第一数据为所述M
×
N份数据中的第I
×
N份至第(I+1)
×
N

1份数据;所述第一处理器确定所述第一处理器中的第一数据需要传输至所述第二节点,包括:
所述第一处理器用I对M进行求余运算得到余数J;所述第一处理器确定所述计算集群中的第J个节点为所述第二节点;其中,N为大于1的整数,I为大于或等于1的整数,M为大于1的整数。8.一种计算集群,其特征在于,包括第一节点和第二节点,所述第一节点包括第一处理器和第二处理器,所述第二处理器与所述第二节点中的第三处理器连接;所述第一处理器,用于确定所述第一处理器中的第一数据需要传输至所述第二节点;以及将所述第一数据传输至所述第二处理器;所述第二处理器,用于将所述第一数据或者经过处理后的所述第一数据传输至所述第二节点中的第三处理器。9.如权利要求8所述的计算集群,其特征在于,所述第二处理器与所述第三处理器通过光交叉OXC器件连接。10.如权利要求8或9所述的计算集群,其特征在于,所述第一节点包括所述第一节点中处理器与其他节点的拓扑,所述拓扑包括所述第二处理器与所述第三处理器的连接关系;所述第一处理器在将所述第一数据传输至所述第二处理器时,具体用于:根据所述拓扑中所述第二处理器与所述第三处理器的连接关系,将所述第一数据传输至所述第二处理器。11.如权利要求8或9所述的计算集群,其特征在于,所述第一节点包括所述第一节点中的处理器与其他节点的拓扑,所述拓扑包括所述第一节点中k个处理器分别与所述第二节点中k个处理器的连接关系,k为大于1的整数;所述第一处理器在将所述第一数据传输至所述第二处理器时,具体用于:根据所述拓扑中所述第一节点中k个处理器分别与所述第二节点中k个处理器的连接关系,将所述第一节点中k个处理器作为k个候选处理器;从所述k个候选处理器中选择所述第二处理器;将所述第一数据传输至所述第二处理器。12.如权利要求8至11中任一项所述的计算集群,其特征在于,所述第一节点与所述第二节点之间通过信息传递接口MPI中的allreduce接口进...

【专利技术属性】
技术研发人员:胡天驰沈胜宇凌文凯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1