System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 通信方法、装置、电子设备及可读存储介质制造方法及图纸_技高网

通信方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:40592949 阅读:2 留言:0更新日期:2024-03-12 21:54
本申请公开了一种通信方法、装置、电子设备及可读存储介质,属于通信技术领域。该方法包括:获取分布式系统的网络拓扑信息,分布式系统包括核心交换机、与核心交换机连接的至少一个接入层交换机、以及N个与至少一个接入层交换机连接的计算设备,网络拓扑信息包括每个计算设备接入的接入层交换机的交换机信息、每个接入层交换机接入的核心交换机的交换机信息,N个计算设备对应一个训练过程中的N个训练进程,N为大于1的整数;基于网络拓扑信息,确定两两计算设备之间通信对应的交换机跳数;基于交换机跳数,对N个训练进程排序,得到训练进程序列;按照训练进程序列中的训练进程的排序,对N个训练进程进行顺序编号;并基于N个训练进程的顺序编号,进行N个计算设备间的通信。

【技术实现步骤摘要】

本申请属于通信,具体涉及一种通信方法、装置、电子设备及可读存储介质


技术介绍

1、目前,为了加速训练过程,可以通过分布式系统来对模型进行分布式训练。在进行分布式训练时,可以为分布式系统中的各计算设备分配一个训练进程,每个训练进程负责该训练过程中的部分训练数据或训练操作,使得该分布式系统中的各计算设备通过执行为其分配的训练进程,来进行模型参数的更新。同时,分布式系统可以通过分布式通信协议,如,ring-all-reduce通信协议,将各计算设备的训练进程对应的模型参数信息进行交换,使得每个计算设备的训练进程都能得到最新全量的模型参数信息。

2、在相关技术中,当分布式系统中的各计算设备进行通信时,会按照训练过程中的训练进程的rank编号的编号顺序进行环状通信。通常情况下,上述训练进程的rank编号可以按照训练进程的进程名称或对应的计算设备的设备名称生成的。例如,假设两个训练进程的进程名称分别为worker-0和worker-1,则可以将worker-0进程的rank编号设置为rank-0,将worker-1进程的rank编号设置为rank-1。

3、然而,由于分布式系统中的各计算设备进行通信时需要按照固定的通信顺序进行通讯,因此,可能会导致部分计算设备进行通信时需要经过的交换机数量过多,从而导致数据延迟率过高,甚至会出现拥堵丢包现象。


技术实现思路

1、本申请实施例的目的是提供一种通信方法、装置、电子设备及可读存储介质,能够在分布式系统中各计算设备进行通信时,减少各计算设备间通信需要经过的交换机数量,降低数据延迟率,避免出现拥堵丢包现象。

2、第一方面,本申请实施例提供了一种通信方法,该通信方法包括:获取分布式系统的网络拓扑信息,分布式系统包括核心交换机、与核心交换机连接的至少一个接入层交换机、以及n个与至少一个接入层交换机连接的计算设备,网络拓扑信息包括每个计算设备接入的接入层交换机的交换机信息、每个接入层交换机接入的核心交换机的交换机信息,n个计算设备对应一个训练过程中的n个训练进程,n为大于1的整数;基于网络拓扑信息,确定两两计算设备之间通信对应的交换机跳数;基于交换机跳数,对n个训练进程排序,得到训练进程序列;按照训练进程序列中的训练进程的排序,对n个训练进程进行顺序编号;并基于n个训练进程的顺序编号,进行n个计算设备间的通信。

3、第二方面,本申请实施例提供了一种通信装置,该通信装置包括:获取模块、确定模块以及处理模块;该获取模块,用于获取分布式系统的网络拓扑信息,分布式系统包括核心交换机、与核心交换机连接的至少一个接入层交换机、以及n个与所述至少一个接入层交换机连接的计算设备,网络拓扑信息包括每个计算设备接入的接入层交换机的交换机信息、每个接入层交换机接入的核心交换机的交换机信息,n个计算设备对应一个训练过程中的n个训练进程,n为大于1的整数;该确定模块,用于基于上述获取模块获取的网络拓扑信息,确定两两计算设备之间通信对应的交换机跳数;该处理模块,用于基于上述确定模块确定的交换机跳数,对n个训练进程排序,得到训练进程序列;上述处理模块,还用于按照训练进程序列中的训练进程的排序,对n个训练进程进行顺序编号;上述处理模块,还用于基于n个训练进程的顺序编号,进行n个计算设备间的通信。

4、第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

5、第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

6、第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。

7、第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。

8、在本申请实施例中,获取分布式系统的网络拓扑信息,分布式系统包括核心交换机、与核心交换机连接的至少一个接入层交换机、以及n个与至少一个接入层交换机连接的计算设备,网络拓扑信息包括每个计算设备接入的接入层交换机的交换机信息、每个接入层交换机接入的核心交换机的交换机信息,n个计算设备对应一个训练过程中的n个训练进程,n为大于1的整数;基于网络拓扑信息,确定两两计算设备之间通信对应的交换机跳数;基于交换机跳数,对n个训练进程排序,得到训练进程序列;按照训练进程序列中的训练进程的排序,对n个训练进程进行顺序编号;并基于n个训练进程的顺序编号,进行n个计算设备间的通信。在本方案中,在对多个训练进程进行编号的情况下,通过结合分布式系统的网络拓扑信息,使得通信装置可以根据两两计算设备之间通信对应的交换机跳数,来对多个计算设备对应的训练进程编号,由于编号过程中考虑到了两两计算设备之间通信对应的交换机跳数的数量问题,从而使得多个计算设备按照训练进程的编号进行通信时,可以减少通信时需要经过的交换机数量,进而降低数据延迟率,避免出现拥堵丢包现象。

本文档来自技高网...

【技术保护点】

1.一种通信方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述交换机跳数,对所述N个训练进程排序,得到训练进程序列,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述交换机跳数,从N-i个训练进程中确定所述训练进程序列的第i+1个训练进程,包括:

4.根据权利要求3所述的方法,其特征在于,所述从所述交换机跳数中,获取所述训练进程序列的第i个训练进程对应的N-i个交换机跳数之后,所述方法还包括:

5.一种通信装置,其特征在于,所述通信装置包括:获取模块、确定模块以及处理模块;

6.根据权利要求5所述的装置,其特征在于,所述处理模块,具体用于:

7.根据权利要求6所述的装置,其特征在于,

8.根据权利要求7所述的装置,其特征在于,所述装置还包括:生成模块;

9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至4中任一项所述的通信方法的步骤。

10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至4中任一项所述的通信方法的步骤。

...

【技术特征摘要】

1.一种通信方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述交换机跳数,对所述n个训练进程排序,得到训练进程序列,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于所述交换机跳数,从n-i个训练进程中确定所述训练进程序列的第i+1个训练进程,包括:

4.根据权利要求3所述的方法,其特征在于,所述从所述交换机跳数中,获取所述训练进程序列的第i个训练进程对应的n-i个交换机跳数之后,所述方法还包括:

5.一种通信装置,其特征在于,所述通信装置包括:获取模块、确定模块以及处理模块;<...

【专利技术属性】
技术研发人员:刘东阳
申请(专利权)人:维沃移动通信有限公司
类型:发明
国别省市:

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

1