一种优先级调整方法及装置制造方法及图纸

技术编号:27223819 阅读:23 留言:0更新日期:2021-02-04 11:44
公开了一种优先级调整方法及装置,涉及通信领域,解决了AI训练过程中训练效率较低的问题。该方法包括:发送端服务器的网卡根据接收到的优先级调整指示动态调整发送业务数据块的优先级,改变业务数据块发送的时机,使得接收端服务器的网卡接收到业务数据块的时刻不同。在AI训练过程中,参数服务器可以根据训练服务器的性能调整QP的优先级,改变发送模型参数的时机。使得训练慢的训练服务器比训练快的训练服务器先接收到模型参数对模型参数进行训练,从而,增大训练服务器之间接收模型参数的时差,减小训练慢的训练服务器和训练快的训练服务器之间训练模型参数的时差,提高了AI训练过程中整体的训练效率。练过程中整体的训练效率。练过程中整体的训练效率。

【技术实现步骤摘要】
一种优先级调整方法及装置


[0001]本申请涉及通信领域,尤其涉及一种优先级调整方法及装置。

技术介绍

[0002]人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。在AI训练过程中,主要基于PS-worker架构并利用具有高带宽、低时延的远程直接内存访问(Remote Direct Memory Access,RDMA)协议进行数据传输。AI训练过程可以包括以下步骤:
[0003]S1:每个训练服务器(worker)从参数服务器(Parameter Server,PS)获取模型参数(如:神经网络模型的参数);
[0004]S2:每个训练服务器对获取到的模型参数进行训练,并将各自计算的模型参数的梯度发送给参数服务器;
[0005]S3:参数服务器将各训练服务器反馈的模型参数的梯度做一个平均,得到平均梯度,然后在平均梯度的方向更新模型参数。
[0006]当训练达到预定的次数或者得到较好的训练结果时,则停止训练,否则重复继续执行S1~S3的操作。
[0007]但是,由于不同的训练服务器的性能存在差异,因此不同的训练服务器训练模型参数的训练时长不一致,导致参数服务器接收多个训练服务器反馈的模型参数的梯度的时刻也不一致。对于每次迭代,参数服务器需要等待所有训练服务器反馈模型参数的梯度后再进行参数同步。因此,AI训练过程中整体的训练效率较低。

技术实现思路

[0008]本申请提供一种优先级调整方法及装置,解决了AI训练过程中训练效率较低的问题。
[0009]为达到上述目的,本申请采用如下技术方案:
[0010]第一方面,提供了一种优先级调整方法,该方法可应用于发送端网卡,或者该方法可应用于可以支持发送端网卡实现该方法的通信装置,例如该通信装置包括芯片系统,方法包括:在发送端网卡接收到发送端处理器发送的优先级调整指示之后,判断采用第一队列对(queue pair,QP)发送的第一业务数据块是否未处于发送状态,当采用第一QP发送的第一业务数据块未处于发送状态,根据优先级信息指示的优先级调整第一QP的当前优先级,得到第一QP的调整后优先级;以便于发送端网卡根据第一QP的调整后优先级发送第一业务数据块。其中,优先级调整指示包括第一QP的标识和优先级信息,第一QP的标识用于指示第一QP,优先级信息用于指示发送端网卡调整第一OP的当前优先级时所需的优先级。优先级信息指示的优先级高于第一QP的当前优先级,或者,优先级信息指示的优先级低于第一QP的当前优先级。第一QP的调整后优先级与优先级信息指示的优先级相同。
[0011]本申请实施例提供的优先级调整方法,发送端服务器的网卡根据接收到的优先级
调整指示动态调整发送业务数据块的优先级,改变业务数据块发送的时机,使得接收端服务器的网卡接收到业务数据块的时刻可以不同,从而为针对不同场景提供了灵活的发送及接收方式,可以解决不同场景下各种因为接收时差导致的各种问题。
[0012]以AI训练为例,在AI训练过程中,参数服务器可以根据训练服务器的性能调整QP的优先级,改变发送模型参数的时机。例如,参数服务器可以先向训练慢的训练服务器发送模型参数,再向训练快的训练服务器发送模型参数,使得训练慢的训练服务器比训练快的训练服务器先接收到模型参数对模型参数进行训练,从而,对于不同训练性能的训练服务器,增大训练服务器之间接收模型参数的时差,减小训练慢的训练服务器和训练快的训练服务器之间训练模型参数的时差,减小参数服务器接收多个训练服务器反馈的模型参数的梯度间的时差,提高了AI训练过程中整体的训练效率。
[0013]在一种可能的设计中,当采用第一QP发送的第一业务数据块处于发送状态,在第一业务数据块发送完成后,发送端网卡将第一QP的当前优先级调整为优先级信息指示的优先级,得到第一QP的调整后优先级。相对于在采用第一QP发送的第一业务数据块处于发送状态时,停止发送第一业务数据块调整第一QP的当前优先级,在调整第一QP的当前优先级后,再与接收端网卡重新建立连接,发送第一业务数据块,导致增加了发送第一业务数据块的时延。在该方案中,在第一业务数据块发送完成后,发送端网卡将第一QP的当前优先级调整为优先级信息指示的优先级,能够避免增加发送第一业务数据块的时延。
[0014]在另一种可能的设计中,发送端网卡将第一QP的当前优先级调整为优先级信息指示的优先级,包括:发送端网卡从发送端处理器的内存中拷贝第一QP的上下文,并将第一QP的上下文存储到发送端网卡包含的内存中,第一QP的上下文包括第一QP的当前优先级。然后,发送端网卡的处理器将发送端网卡包含的内存存储的第一QP的当前优先级更新为优先级信息指示的优先级。从而,以便于发送端网卡调整第一QP的当前优先级,根据第一QP的调整后优先级发送第一业务数据块。
[0015]在另一种可能的设计中,在发送端网卡接收发送端处理器发送的优先级调整指示之后,方法还包括:发送端网卡判断优先级信息指示的优先级与第一QP的当前优先级是否相同;若优先级信息指示的优先级与第一QP的当前优先级不相同,发送端网卡确定采用第一QP发送的第一业务数据块是否处于发送状态。若优先级信息指示的优先级与第一QP的当前优先级相同,无需调整第一QP的当前优先级,流程结束。从而,进一步提高发送端网卡调整第一QP的当前优先级的准确性。
[0016]在另一种可能的设计中,方法还包括:发送端网卡向接收端网卡发送通知报文,通知报文用于指示接收端网卡调整第一OP的当前优先级,通知报文包括第一QP的标识和优先级信息,优先级信息用于指示调整第一OP的当前优先级;在定时器运行状态中,发送端网卡接收接收端网卡发送的响应报文,响应报文用于指示接收端网卡已接收到第一QP的标识和优先级信息。从而,保证了接收端服务的网卡存储的第一QP的当前优先级与发送端服务的网卡存储的第一QP的当前优先级一致。
[0017]在一些实施例中,发送端网卡向接收端网卡发送通知报文,包括:发送端网卡根据第一QP的当前优先级向接收端网卡发送通知报文。在另一些实施例中,发送端网卡根据第一QP的调整后优先级向接收端网卡发送通知报文。
[0018]在另一种可能的设计中,在发送端网卡向接收端网卡发送通知报文之后,方法还
包括:发送端网卡根据定时器时长确定定时器超时;发送端网卡向接收端网卡重复发送通知报文。
[0019]在另一种可能的设计中,发送通知报文的次数等于门限值,方法还包括:发送端网卡向发送端处理器发送优先权调整失败响应。
[0020]在另一种可能的设计中,发送端网卡接收发送端处理器发送的优先级调整指示,包括:发送端网卡接收发送端处理器通过调用第一接口发送的优先级调整指示,第一接口用于修改QP的优先级。
[0021]在另一种可能的设计中,发送端网卡接收发送端处理器发送的优先级调整指示,包括:发送端网卡基于RDMA协议接收发送端处理器发送的优先本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种优先级调整方法,其特征在于,包括:发送端网卡接收发送端处理器发送的优先级调整指示,所述优先级调整指示包括第一队列对QP的标识和优先级信息,所述第一QP的标识用于指示所述第一QP,所述优先级信息用于指示所述发送端网卡调整所述第一OP的当前优先级时所需的优先级;当采用所述第一QP发送的第一业务数据块未处于发送状态时,所述发送端网卡根据所述优先级信息调整所述第一QP的当前优先级,得到所述第一QP的调整后优先级,其中,所述调整后优先级高于所述当前优先级,或者,所述调整后优先级低于所述当前优先级;所述发送端网卡根据所述第一QP的调整后优先级发送所述第一业务数据块。2.根据权利要求1所述的方法,其特征在于,在所述发送端网卡接收发送端处理器发送的优先级调整指示之后,所述方法还包括:当采用所述第一QP发送的第一业务数据块处于发送状态,在所述第一业务数据块发送完成后,所述发送端网卡根据所述优先级信息调整所述第一QP的当前优先级,得到所述第一QP的调整后优先级。3.根据权利要求1或2所述的方法,其特征在于,所述发送端网卡包括处理器和内存,所述发送端网卡的内存中存储有所述第一QP的上下文,所述第一QP的上下文包括所述第一QP的当前优先级,所述发送端网卡根据所述优先级信息调整所述第一QP的当前优先级,包括:所述发送端网卡的处理器将所述内存中存储的所述第一QP的当前优先级更新为所述优先级信息指示的优先级。4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述发送端网卡接收发送端处理器发送的优先级调整指示之后,所述方法还包括:所述发送端网卡判断所述优先级信息指示的优先级与所述第一QP的当前优先级是否相同;若所述优先级信息指示的优先级与所述第一QP的当前优先级不相同,所述发送端网卡确定采用所述第一QP发送的第一业务数据块是否处于发送状态。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:所述发送端网卡向接收端网卡发送通知报文,所述通知报文用于指示所述接收端网卡调整所述第一OP的当前优先级,所述通知报文包括所述第一QP的标识和所述优先级信息,所述优先级信息用于指示调整所述第一OP的当前优先级;在定时器运行状态中,所述发送端网卡接收所述接收端网卡发送的响应报文,所述响应报文用于指示所述接收端网卡已接收到所述第一QP的标识和所述优先级信息。6.根据权利要求5所述的方法,其特征在于,所述发送端网卡向接收端网卡发送通知报文,包括:所述发送端网卡根据所述第一QP的当前优先级向所述接收端网卡发送所述通知报文;或者,所述发送端网卡根据所述第一QP的调整后优先级向所述接收端网卡发送所述通知报文。7.根据权利要求5或6所述的方法,其特征在于,在所述发送端网卡向接收端网卡发送通知报文之后,所述方法还包括:所述发送端网卡根据所述定时器时长确定定时器超时;
所述发送端网卡向所述接收端网卡重复发送所述通知报文。8.根据权利要求7所述的方法,其特征在于,发送所述通知报文的次数等于门限值,所述方法还包括:所述发送端网卡向所述发送端处理器发送优先权调整失败响应。9.根据权利要求1-8中任一项所述的方法,其特征在于,所述发送端网卡接收发送端处理器发送的优先级调整指示,包括:所述发送端网卡接收所述发送端处理器通过调用第一接口发送的优先级调整指示,所述第一接口用于修改QP的优先级。10.根据权利要求1-9中任一项所述的方法,其特征在于,所述发送端网卡接收发送端处理器发送的优先级调整指示,包括:所述发送端网卡基于远程直接内存访问RDMA协议接收发送端处理器发送的优先级调整指示,所述发送端网卡为用于人工智能AI训练过程中的发送端服务器包含的网卡,所述接收端网卡为用于AI训练过程中的接收端服务器包含的网卡。11.一种优先级调整方法,其特征在于,包括:接收端网卡接收发送端网卡发送的通知报文,所述通知报文用于指示所述接收端网卡调整第一队列对OP的当前优先级,所述通知报文包括所述第一QP的标识和优先级信息,所述第一QP的标识用于指示所述第一QP,所述优先级信息用于指示所述接收端网卡调整所述第一OP的当前优先级时所需的优先级;所述接收端网卡向所述发送端网卡发送响应报文,所述响应报文用于指示所述接收端网卡已接收到所述第一QP的标识和所述优先级信息。12.根据权利要求11所述的方法,其特征在于,在所述接收端网卡接收发送端网卡发送的通知报文之后,所述方法还包括:当采用所述第一QP发送的第一业务数据块未处于发送状态时,所述接收端网卡根据所述优先级信息调整所述第一QP的当前优先级,得到所述第一QP的调整后优先级,其中,所述调整后优先级高于所述当前优先级,或者,所述调整后优先级低于所述当前优先级;所述接收端网卡根据所述第一QP的调整后优先级发送第一业务数据块。13.根据权利要求12所述的方法,其特征在于,在所述接收端网卡接收发送端网卡发送的通知报文之后,所述方法还包括:当采用所述第一QP发送的第一业务数据块处于发送状态,在所述第一业务数据块发送完成后,所述接收端网卡根据所述优先级信息调整所述第一QP的当前优先级,得到所述第一QP的调整后优先级。14.根据权利要求12或13所述的方法,其特征在于,所述接收端网卡包括处理器和内存,所述接收端网卡的内存中存储有所述第一QP的上下文,所述第一QP的上下文包括所述第一QP的当前优先级,所述接收端网卡根据所述优先级信息调整所述第一QP的当前优先级,包括:所述接收端网卡的处理器将所述内存中存储的所述第一QP的当前优先级更新为所述优先级信息指示的优先级。15.一种优先级调整装置,其特征在于,包括:接收单元,用于接收发送端处理器发送的优先级调整指示,所述优先级调整指示包...

【专利技术属性】
技术研发人员:韩兆皎陈伟猛刘小蓬
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1