通过基于环的集群通信避免网络拥塞制造技术

技术编号:35548096 阅读:34 留言:0更新日期:2022-11-12 15:27
在分布式训练中,为了避免网络拥塞,第一计算节点可以至少部分地基于与第一进程相关联的第一网络接口控制器和与第二进程相关联的第二网络接口控制器是否位于同一计算节点中或链接到同一片交换机来确定将数据从第一进程路由到第二进程的路由标识符,第一进程和第二进程属于连接网络拓扑下的多个不同节点的特定节点间环。然后,第一计算节点可以根据路由标识符将数据从第一进程路由到第二进程。路由标识符将数据从第一进程路由到第二进程。路由标识符将数据从第一进程路由到第二进程。

【技术实现步骤摘要】
【国外来华专利技术】通过基于环的集群通信避免网络拥塞

技术介绍

[0001]随着诸如深度神经网络(Deep Neural Network,DNN)的神经网络迅速发展,各种应用领域(例如,计算机视觉、自然语言处理、语音识别等)都得到了发展,并且会从神经网络固有的多功能性和灵活性中受益。然而,由于神经网络应用日益增加的复杂性和越来越严格的准确性要求,神经网络模型的大小和训练模型所需的训练数据的大小也显著增加,这将不可避免地导致训练时间越来越长,从而对训练模型能够满足不断变化的应用环境的有效性和及时性产生不利影响。
[0002]为了减少训练神经网络模型的时间,可以使用一种采用并行训练的分布式训练系统。一般而言,分布式训练系统可以包括分布在网络上的大量计算节点或服务器,并且将计算任务的子集分配给计算节点或服务器,用于采用并行训练来执行计算。然而,分布式训练系统中的计算节点或服务器之间的数据通信造成了分布式训练系统中可能发生的训练时间的减少量的下限或瓶颈。当分布式训练系统包括计算节点或服务器内部的和之间的各种类型的异构连接或互连时,尤其如此,这些异构连接或互连在延迟、带宽、拓扑等方面表现出不同的特性。这种连接或互连的异构性增加了为分布式训练系统中的计算节点或服务器设计数据通信网络的难度和复杂性。
[0003]此外,由于过量的数据流通过分布式训练系统中的计算节点或服务器之间的特定网络交换机或连接,可能引发网络拥塞,这样可能会由于处理训练结果的延迟而导致训练时间延长。之所以有过量的数据流通过特定网络交换机或连接,可能是因为计算节点或服务器之间发送的路由数据的路径选择失去控制。
附图说明
[0004]参考附图进行详细描述。附图中,附图标记的最左侧数字表示该附图标记第一次出现的附图。不同附图中使用相同的附图标记表示相似或相同的指代。
[0005]图1示出了分布式训练系统可应用的示例环境。
[0006]图2示出了更详细的示例性计算节点。
[0007]图3A示出了将预设数量的节点互相连接的环形配置。
[0008]图3B示出了将预设数量的节点互相连接的减半加倍配置。
[0009]图4示出了示例性集群通信库的示意图。
[0010]图5示出了示例性拓扑感知多阶段算法。
[0011]图6示出了用于计算节点的节点内归约散布阶段的示例性基于环的算法。
[0012]图7示出了用于计算节点的节点内归约散布阶段的示例性减半加倍算法。
[0013]图8示出了节点间全局归约阶段的示例性减半加倍算法。
[0014]图9示出了更详细的节点间全局归约阶段的示例性减半加倍算法。
[0015]图10示出了示例性基于环的集群通信算法。
[0016]图11示出了用并行或重叠的方式执行节点内归约散布阶段、节点间全局归约阶段、节点内全局聚集阶段的示例场景。
[0017]图12示出了示例性胖树(fat

tree)网络拓扑。
[0018]图13示出了使用第一拥塞避免方法的示例场景。
[0019]图14示出了使用第二拥塞避免方法的示例场景。
[0020]图15示出了示例性拓扑感知多阶段方法。
[0021]图16示出了第一示例性网络拥塞避免方法。
[0022]图17示出了第二示例性网络拥塞避免方法。
[0023]图18示出了分布式训练中基于混合架构的示例性并行方法。
具体实施方式
[0024]概述
[0025]如上所述,现有的分布式训练系统由于分布式训练系统中计算节点间的数据通信而对良好可扩展性造成了性能瓶颈。此外,由于网络结构的多样性(包括例如以太网、无限带宽(InfiniBand)、PCIe、NVLink、NVSwitch、QPI/UPI等)和网络特征(例如延迟、带宽和拓扑等)的高度差异,分布式训练系统通常不能很好地利用这种异构类型的连接或互连来执行计算节点中和计算节点之间的集群数据运算以及计算节点之间的数据传输。此外,由于对计算节点间发送的数据进行路由的路径选择可能失去控制,而发生网络拥塞,从而导致过量的数据流通过分布式训练系统中计算节点之间的特定网络交换机或连接,且导致由处理训练结果的延迟引发的训练时间延长。此外,现有的分布式训练系统未能区分用于集群运算的不同类型的底层结构的算法,因此导致较差的性能。
[0026]本公开描述了示例性分布式训练系统。在实施中,示例性分布式训练系统可以采用结构感知的集群通信库,该库使得分布式训练系统能够线性扩展。在实施中,集群通信库可以至少部分地基于对底层结构和支持网络架构的分析来定制通信算法,以获得期望的或最大的效率。在实施中,分布式训练系统可以将基本运算分成多个子运算,每个子运算使用一种类型的结构。
[0027]在实施中,示例性分布式训练系统可以实现混合算法,该混合算法允许多个算法在单个集群运算中共存,并且选择性地采用用于特定结构的算法来提高或最大化整个通信路径的效率。在实施中,分布式训练系统可以采用双进程并行算法,该算法启动两个并发进程,并流水线化(pipeline)节点内和节点间连接的使用,从而通过重叠节点内通信和节点间通信来提高通信效率。
[0028]在实施中,示例性分布式训练系统可以采用基于探测的路由控制机制,该机制生成从连接到路径的映射,从而通过对集群运算中的参与者或过程重新排序并将分布式训练系统上的数据流映射到特定物理链路,来将连接分布或散布到通信网络中的不同汇聚或中间交换机,从而避免网络拥塞。
[0029]本申请描述了多个不同的实施例和实施方式。以下部分描述了适用于实践各种实施方式的示例性框架。接下来,本申请描述了用于实现分布式训练系统的示例性系统、设备和过程。
[0030]示例性环境
[0031]图1示出了可用于实施分布式训练系统的示例性环境100。该环境100可以包括分布式训练系统102。在该示例中,分布式训练系统102可以包括多个计算节点或服务器104

1、104

2、...、104

K(下文统称为计算节点104),其中K是大于1的正整数。在实施中,多个计算节点104可以通过通信网络106彼此通信数据。
[0032]计算节点104可以实施为具有计算/处理和通信能力的任意多种计算设备,包括但不限于服务器、台式电脑、笔记本电脑或便携式电脑、手持设备、上网本、互联网设备、平板电脑、移动设备(如移动电话、个人数字助理、智能电话等)等,或其组合。
[0033]通信网络106可以是无线或有线网络,或其组合。网络106可以是彼此互连并用作单个大型网络(例如,互联网或内联网)的独立网络的集合。这种独立网络的示例包括但不限于电话网络、电缆网络、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和城域网(Metropolitan Area Network,MAN)。此外,独立网络可以是无线或有线网络,或其组合。有线本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种由第一计算节点实施的方法,所述方法包括:至少部分地基于与第一进程相关联的第一网络接口控制器和与第二进程相关联的第二网络接口控制器是否位于同一计算节点中或链接到同一片交换机来确定将数据从所述第一进程路由到所述第二进程的路由标识符,所述第一进程和所述第二进程属于网络拓扑下连接多个不同节点的特定节点间环;以及根据所述路由标识符将所述数据从所述第一进程路由到所述第二进程。2.根据权利要求1所述的方法,其中与所述第一进程相关联的所述第一网络接口控制器被配置为向环形拓扑中的第二计算节点发送数据或从环形拓扑中的第二计算节点接收数据,所述第二计算节点不同于所述第一计算节点。3.根据权利要求1所述的方法,其中与所述第一进程相关联的所述第一网络接口控制器还与一个或多个进程相关联,其中从所述第一进程和所述一个或多个进程发送的数据通过所述第一网络接口控制器发送。4.根据权利要求1所述的方法,其中所述网络拓扑包括胖树拓扑。5.根据权利要求1所述的方法,还包括:响应于确定与所述第一进程相关联的所述网络接口控制器和与所述第二进程相关联的所述第二网络接口控制器位于所述同一计算节点中或链接到所述同一片交换机,将所述路由标识符设置为默认标识符。6.根据权利要求1所述的方法,还包括:响应于确定与所述第一进程相关联的所述第一网络接口控制器和与所述第二进程相关联的所述第二网络接口控制器位于不同的计算节点或链接到不同的片交换机,将所述路由标识符设置为等于与所述第一进程相关联的所述第一网络接口控制器的标识符。7.根据权利要求6所述的方法,其中根据所述路由标识符将所述数据从所述第一进程路由到所述第二进程包括:至少通过与所述第一网络接口控制器连接的片交换机和具有与所述第一网络接口控制器的所述标识符具有对应关系的标识符的汇聚交换机将所述数据从所述第一进程路由到所述第二进程,所述第一网络接口控制器与所述第一进程相关联。8.一个或多个机器可读介质,其存储有机器可读指令,当所述机器可读指令由第一计算节点执行时,使所述第一计算节点执行动作,所述动作包括:至少部分地基于与第一进程相关联的第一网络接口控制器和与第二进程相关联的第二网络接口控制器是否位于同一计算节点中或链接到同一片交换机来确定将数据从所述第一进程路由到所述第二进程的路由标识符,所述第一进程和所述第二进程属于网络拓扑下连接多个不同节点的特定节点间环;以及根据所述路由标识符将所述数据从所述第一进程路由到所述第二进程。9.根据权利要求8所述的一个或多个机器可读介质,其中与所述第一进程相关联的所述第一网络接口控制器被配置为向环形拓扑中的第二计算节点发送数据或从环形拓扑中的第二计算节点接收数据,所述第二计算节点不同于所述第一计算节点。10.根据权利要求8所述的一个或多个机器可读介质,其中与所述第一进程相关联的所述第一网络接口控制器还与一个或多个进程相关联,其中从所述第一进程和所述一个或多个进程发送的数据通过所述第一网络接口控制器发送。11.根据权利要求8所述的一个或多个机器可读介质,其中所述网络拓扑包括胖树拓扑。
12.根据权利要求8所述的一个或多个机器可读...

【专利技术属性】
技术研发人员:叶剑西王绍创冉仟元冯飞董建波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1