数据传输方法、装置、设备及存储介质制造方法及图纸

技术编号:38989445 阅读:19 留言:0更新日期:2023-10-07 10:19
本申请实施例提供了一种数据传输方法、装置、设备及存储介质。该方法包括:获取多个待传输数据;根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级,其中,待传输数据传输至对应的接收方的传输时长越长,所述待传输数据的传输优先级越高;根据每个待传输数据的传输优先级,分别向每个待传输数据的接收方发送对应的待传输数据。本申请实施例可以实现在不增加网卡数量以及修改应用的情况下,降低通信时延,提高通信效率。提高通信效率。提高通信效率。

【技术实现步骤摘要】
数据传输方法、装置、设备及存储介质


[0001]本专利技术涉及通信
,具体涉及一种数据传输方法、装置、设备及存储介质。

技术介绍

[0002]对于高性能计算领域,常见的应用场景包括高性能计算(High performance Computing,HPC)和人工智能(Artificial Intelligence,AI)计算。HPC是指利用聚集起来的计算能力,即将多个计算设备的进行整合,处理标准工作站无法完成的数据密集型计算任务,包括仿真、建模和渲染等,AI计算主要用于AI模型的训练和AI模型的应用推理,其中,AI模型的训练可以为神经网络的训练,AI模型的应用推理可以为基于AI模型的任务预测与分类等计算任务。HPC和AI计算的业务特点相似,都是按迭代周期先计算再通信,并且下一个迭代周期的计算依赖于上一个迭代周期的通信完成。由于计算过程包括多个进程,则设备间通信时,同一个设备内的多个进程可能会同时发起大量的集合通信和点对点通信,这样就会造成设备的网卡侧出现排队竞争现象,导致通信时延比较高。
[0003]目前,解决这种网卡侧的排队竞争现象主要依靠增加网卡数量,虽然解决了流量突发的情况,降低了通信时延。但是,在大多数时间下网卡处于空闲状态,对网卡的利用率比较低。
[0004]因此,如何在不增加网卡数量的情况下,降低通信时延,提高通信效率,是目前亟待解决的技术问题。

技术实现思路

[0005]本申请提供了一种数据传输方法、装置、电子设备及存储介质,通过传输优先级的方式进行数据的传输,实现在不增加网卡数量的情况下,降低通信延时,提高通信效率。
[0006]第一方面,本申请实施例提供一种数据传输方法,应用于主机,包括:获取多个待传输数据;根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级,其中,待传输数据传输至对应的接收方的传输时长越长,所述待传输数据的传输优先级越高;根据每个待传输数据的传输优先级,分别向每个待传输数据的接收方发送对应的待传输数据。
[0007]应说明,每个待传输数据对应的接收方可以为一个或多个。也就是说,本申请确定出的每个待传输数据的传输优先级是将每个待传输数据发送给该待传输数据对应的每个接收方时的优先级,例如,一个待传输数据有三个接收方,则确定出的传输优先级为分别发送给这三个接收方时的三个传输优先级。故在本申请实施例中,在传输每个进程产生的待传输数据时,首先根据每个待传输数据对应的接收方,确定出每个待传输数据的传输优先级;然后根据每个待传输数据的传输优先级,向每个待传输数据对应的接收方传输该待传输数据。由于传输优先级越高,传输时长越长,这样在传输优先级较高的待传输数据时,可以抵消传输优先较低的待传输数据的排队等待时长,减少了多个待传输数据的总传输时长,从而提高数据传输效率,实现了在不增加网卡数量以及不修改应用的情况下,解决了网
卡侧的排队竞争现象,降低了通信时延,提高了通信效率。
[0008]在一些可能的实施方式中,所述多个待传输数据为人工智能AI训练场景的待传输数据,或者,所述多个待传输数据为高性能计算HPC场景的待传输数据。
[0009]可以看出,在本实施方式中,可以将本申请的数据传输方法应用于AI训练场景,故采用本申请的数据传输方法,每个主机可以快速将本主机的计算结果发送给其他主机,缩短了训练过程中的通信时长,提高了AI训练场景下的训练速度;或者,可以将本申请的数据传输方法高性能计算场景应用于HPC场景,这样每个主机可以将计算结果快速发送给其他主机,缩短了高性能计算下的通信时长,提高了高性能计算下的计算速度。
[0010]在一些可能的实施方式中,所述根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级,包括:根据每个待传输数据对应的接收方,以及优先级列表,确定每个待传输数据对应的传输优先级,其中,所述优先级列表包括多个其他主机与传输优先级之间的对应关系,每个待传输数据对应的接收方为所述多个其他主机中的部分或全部。
[0011]可以看出,在本实施方式中,可根据预先生成的优先级列表,以及每个待传输对应的接收方快速查找出每个待传输数据的传输优先级,无需通过复杂算法或者复杂的逻辑确定每个待传输数据的传输优先级,进一步降低通信时延,提高了通信效率。
[0012]在一些可能的实施方式中,根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级之前,所述方法还包括:获取所述主机与所述多个其他主机之间的网络拓扑;根据所述网络拓扑,确定与每个其他主机之间的通信距离,其中,所述通信距离是由所述主机与每个其他主机之间进行通信时所经过的最少的交换机的数量确定;根据与每个其他主机之间的通信距离,确定每个其他主机对应的传输优先级,其中,每个其他主机的通信距离越大,每个其他主机对应的传输优先级越高;根据每个其他主机对应的传输优先级,生成所述优先级列表。
[0013]可以看出,在本实施方式中,基于主机与每个其他主机之间进行通信时所经过的最少的交换机的数量确定出每个其他主机的传输优先级。由于经过的主机越多,其对应的传输时延会越大,故其所对应的传输时长越长。因此本申请通过经过的最少的交换机的数量确定出的传输优先级的精度比较高,从而使后续确定出的每个待传输的传输优先级的精度比较高,进而使生成的多个待传输数据的排队顺序的精度比较高,按正确的排队顺序进行多个待传输数据的发送,有效的降低了通信时延。
[0014]在一些可能的实施方式中,根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级之前,所述方法还包括:获取每个其他主机的标识信息;根据每个其他主机的标识信息,向每个其他主机发送探测报文;从每个其他主机接收针对所述探测报文的确认消息;根据所述探测报文和每个其他主机的确认消息,确定每个其他主机的通信时延;根据每个其他主机的通信时延,确定每个其他主机对应的传输优先级,其中,每个其他主机的通信时延越大,每个其他主机对应的传输优先级越高;根据每个其他主机对应的传输优先级,生成所述优先级列表。
[0015]可以看出,在本申请实施方式中,先基于探测报文,去探测出主机与每个其他主机进行通信时的通信时延。由于是基于实际的通信过程探测出的通信时延,则该通信时延结合了网络环境的影响,精度比较高,从而使后续确定出的每个待传输的传输优先级的精度比较高,进而使生成的多个待传输数据的排队顺序的精度比较高,按正确的排队顺序进行
多个待传输数据的发送,有效的降低了通信时延。
[0016]在一些可能的实施方式中,所述根据每个待传输数据的传输优先级,分别向每个待传输数据的接收方发送对应的待传输数据,包括:通过通信中间件向网卡发送每个待传输数据和每个待传输数据的指示信息,其中,每个待传输数据的指示信息用于指示每个待传输数据的传输优先级;通过所述网卡将每个待传输数据封装为与每个待传输数据的接收方对应的数据报文,以及根据每个待传输数据的指示信息,按照每个待传输数据的传输优先级将每个待传输数据对应的接收方的数据报文插入到发送队列;通过所述发送队列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于主机,包括:获取多个待传输数据;根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级,其中,待传输数据传输至对应的接收方的传输时长越长,所述待传输数据的传输优先级越高;根据每个待传输数据的传输优先级,分别向每个待传输数据的接收方发送对应的待传输数据。2.根据权利要求1所述的方法,其特征在于,所述多个待传输数据为人工智能AI训练场景的待传输数据,或者,所述多个待传输数据为高性能计算HPC场景的待传输数据。3.根据权利要求1或2所述的方法,其特征在于,所述根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级,包括:根据每个待传输数据对应的接收方,以及优先级列表,确定每个待传输数据对应的传输优先级,其中,所述优先级列表包括多个其他主机与传输优先级之间的对应关系,所述多个待传输数据对应的接收方为所述多个其他主机中的部分或全部。4.根据权利要求3所述的方法,其特征在于,根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级之前,所述方法还包括:获取所述主机与所述多个其他主机之间的网络拓扑;根据所述网络拓扑,确定与每个其他主机之间的通信距离,其中,所述通信距离是由所述主机与每个其他主机之间进行通信时所经过的交换机的数量确定;根据与每个其他主机之间的通信距离,确定每个其他主机对应的传输优先级,其中,每个其他主机的通信距离越大,每个其他主机对应的传输优先级越高;根据每个其他主机对应的传输优先级,生成所述优先级列表。5.根据权利要求3所述的方法,其特征在于,根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级之前,所述方法还包括:获取每个其他主机的标识信息;根据每个其他主机的标识信息,向每个其他主机发送探测报文;从每个其他主机接收针对所述探测报文的确认消息;根据所述探测报文和每个其他主机的确认消息,确定每个其他主机的通信时延;根据每个其他主机的通信时延,确定每个其他主机对应的传输优先级,其中,每个其他主机的通信时延越大,每个其他主机对应的传输优先级越高;根据每个其他主机对应的传输优先级,生成所述优先级列表。6.根据权利要求1

5中任一项所述的方法,其特征在于,所述根据每个待传输数据的传输优先级,分别向每个待传输数据的接收方发送对应的待传输数据,包括:通过通信中间件向网卡发送每个待传输数据和每个待传输数据的指示信息,其中,每个待传输数据的指示信息用于指示每个待传输数据的传输优先级;通过所述网卡将每个待传输数据封装为与每个待传输数据的接收方对应的数据报文,以及根据每个待传输数据的指示信息,按照每个待传输数据的传输优先级将每个待传输数据对应的接收方的数据报文插入到发送队列;通过所述发送队列,向每个待传输数据的接收方发送对应的待传输数据。
7.根据权利要求1

6中任一项所述的方法,其特征在于,所述多个待传输数据通过所述主机的多个进程生成。8.一种数据传输装置,其特征在于,所述装置包括处理模块和通信模块;所述处理模块,用于获取多个待传输数据;根据每个待传输数据对应的接收方,确定每个待传输数据的传输优先级,其中,待传输数据传输至对应的接收方的传输时长越长,所述待传输数据的传输优先级越...

【专利技术属性】
技术研发人员:周超陈俊杰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1