【技术实现步骤摘要】
一种集合通信方法、网卡、网络设备和存储介质
[0001]本公开涉及但不限于在网计算
,尤其涉及一种集合通信方法、网卡、网络设备和存储介质。
技术介绍
[0002]集合通信是分布式系统中各个算力节点(也称为计算节点)之间进行信息交换的通信方式,主要包括规约(Reduce)、全规约(All
‑
Reduce)和广播(Broadcast)等操作。
[0003]在人工智能领域中,大模型的训练依靠多算力节点的分布式系统完成。训练模型时,每次迭代(Per Iteration)中的各个算力节点在本地计算结束后,需要在所有算力节点间进行具体为All
‑
Reduce的集合通信来聚合梯度结果,需要等待聚合完毕后各算力节点才能进行下一次迭代。各算力节点执行集合通信的相关操作,往往需要占用大量计算资源,影响其他功能的正常执行。
[0004]在网计算(In
‑
Network Computing,INC)是指将运行在服务器CPU或专有硬件设备上的功能,卸载到网络设备上运行,这可以节省设备上宝贵的CPU资源。因此,将集合通信系统中的相关集合操作,采用在网计算方案卸载到网络设备上执行,可以显著降低算力节点本身的资源竞争压力,提高整体集合通信效率。
[0005]伴随着高性能计算(High Performance Computing,HPC)以及人工智能(artificial intelligence,AI)技术的自身发展,相关集合操作复杂度日益增大,所涉及的交换网络规模 ...
【技术保护点】
【技术特征摘要】
1.一种集合通信方法,应用于计算节点所包括的网卡,其特征在于,所述方法包括,接收第一通信数据包;根据所述第一通信数据包中包含的在网计算INC标识,将所述第一通信数据包发送到所述网卡包括的第一INC引擎;所述INC标识用于指示第一通信数据包为集合通信数据包;根据所述第一通信数据包对应的集合通信数据包类型,所述第一INC引擎对所述第一通信数据包进行数据包重封装,获取至少一个第二通信数据包;发送所述至少一个第二通信数据包到集合通信系统中的通信网络或所述计算节点的上层业务功能模块。2.如权利要求1所述的方法,其特征在于,所述集合通信数据包包括以下一种或多种类型:INC聚合树生成上行数据包、INC聚合树生成下行数据包、INC聚合任务上行数据包、INC聚合任务下行数据包;所述第一通信数据包包括IP包头;在所述第一通信数据包为INC聚合树生成上行数据包的情况下,所述第一通信数据包还包括符合第零格式的INC帧头,记为INC Header0;所述第一INC引擎对所述第一通信数据包进行数据包重封装,获取至少一个第二通信数据包,包括:将所述第一通信数据包中所述INC Header0中的目的IP缓存字段值和所述IP包头中的目的IP地址字段值进行交换后,得到所述第二通信数据包。3.如权利要求1所述的方法,其特征在于,所述集合通信数据包包括以下一种或多种类型:INC聚合树生成上行数据包、INC聚合树生成下行数据包、INC聚合任务上行数据包、INC聚合任务下行数据包;所述第一通信数据包包括IP包头;在所述第一通信数据包为INC聚合任务上行数据包的情况下,所述第一通信数据包还包括符合第一格式的INC帧头,记为INC Header1;所述第一INC引擎对所述第一通信数据包进行数据包重封装,获取至少一个第二通信数据包,包括:将所述第一通信数据包中的待聚合数据,根据设定的分片大小,划分为M个待聚合数据分片,M为大于0的整数;将所述第一通信数据包中所述INC Header1中的目的IP缓存字段值和所述IP包头中的目的IP地址字段值进行交换;根据交换后的所述INC Header1,转换得到M个符合第二格式的INC帧头,记为INC Header2;根据交换后的所述IP包头、M个INC Header2和所述M个待聚合数据分片,重新封装得到M个INC聚合任务上行数据包为所述至少一个第二通信数据包。4.如权利要求1所述的方法,其特征在于,所述集合通信数据包包括以下一种或多种类型:
INC聚合树生成上行数据包、INC聚合树生成下行数据包、INC聚合任务上行数据包、INC聚合任务下行数据包;所述第一通信数据包包括IP包头;所述第一通信数据包包括一个或多个;在所述第一通信数据包为INC聚合任务下行数据包的情况下,所述第一通信数据包还包括符合第二格式的INC帧头,记为INC Header2;所述第一INC引擎对所述第一通信数据包进行数据包重封装,获取至少一个第二通信数据包,包括:根据所述一个或多个第一通信数据包对应的INC Header2,和设定的分片大小,将所述一个或多个第一通信数据包中的聚合结果数据合并为完整的聚合结果数据;根据所述IP包头和所述完整的聚合结果数据,重新封装得到一个IP数据包作为所述至少一个第二通信数据包。5.一种集合通信方法,应用于集合通信系统所包括的网络设备,其特征在于,所述方法包括,接收第三通信数据包;根据所述第三通信数据包中包含的在网计算INC标识,将所述第三通信数据包发送到所述网络设备包括的第二INC引擎;所述INC标识用于指示第三通信数据包为集合通信数据包;根据所述第三通信数据包对应的集合通信数据包类型,所述第二INC引擎对所述第三通信数据包进行数据包处理,获得第四通信数据包或进行本地数据缓存;在所述第四通信数据包不为空的情况下,发送所述第四通信数据包到所述集合通信系统中的通信网络或计算节点。6.如权利要求5所述的方法,其特征在于,所述集合通信数据包包括以下一种或多种类型:INC聚合树生成上行数据包、INC聚合树生成下行数据包、INC聚合任务上行数据包、INC聚合任务下行数据包;所述第三通信数据包包括IP包头;在所述第三通信数据包为INC聚合树生成上行数据包的情况下,所述第三通信数据包还包括符合第零格式的INC帧头,记为INC Header0;所述第二INC引擎对所述第三通信数据包进行数据包处理,获得第四通信数据包,包括:根据所述第三通信数据包中的INC Header0包括的计算节点聚合信息,更新所述网络设备本地的计算节点聚合信息;在所述网络设备不是集合通信系统所设定的网络根设备的情况下,根据更新后的所述网络设备本地的计算节点聚合信息,更新所述第三通信数据包中的INC Header0中包括的计算节点聚合信息,得到所述第四通信数据包;在所述网络设备是集合通信系统所设定的网络根设备的情况下,将所述第三通信数据包中所述INC Header0中的目的IP缓存字段值和所述IP包头中的目的IP地址字段值进行交换,以及根据更新后的所述网络设备本地的计算节点聚合信息,更新所述第三通信数据包
中的INC Header0中包括的计算节点聚合信息,得到INC聚合树生成下行数据包作为所述第四通信数据包;其中,所述INC Header0包括的计算节点聚合信息用于指示当前通信数据包对应...
【专利技术属性】
技术研发人员:郁晨,
申请(专利权)人:江苏为是科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。