System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及远程直接数据存取,特别是涉及一种数据传输方法、装置、设备、介质和产品。
技术介绍
1、随着云计算、人工智能大模型等技术的迅猛发展,数据中心网络规模不断扩大,计算节点与其他多计算节点同时进行数据传输的需求不断增加。数据中心主流的数据传输协议是远程直接数据存取(remote direct memory access,rdma)。传统rdma网卡使用内部寄存器实现数据包序列号(packet serial number,psn)计数器,由于内部寄存器资源有限,因此rdma网卡能够支持的硬件队列对(queue pair,qp)数量有限,仅支持同时与上百个节点进行数据传输。
2、当需要同时连接的节点数超过rdma网卡的qp数量时,可以采用主机内存实现未完成的工作队列事件数据的缓存。由于rdma网卡与主机内存需要通过高速串行计算机扩展总线标准(peripheral component interconnect express,pci-e)进行数据交互,延时较大,使得rdma数据传输性能严重下降。
3、可见,如何在不影响rdma数据传输性能的情况下提高rdma网卡硬件qp数量,是本领域技术人员需要解决的问题。
技术实现思路
1、本专利技术实施例的目的是提供一种数据传输方法、装置、设备、介质和产品,可以解决rdma数据传输性能严重下降的问题。
2、为解决上述技术问题,本专利技术实施例提供一种数据传输方法,包括:
3、在获取到队列对号和工作
4、从空闲指针存储队列中获取当前工作队列事件在第二随机存储器的新地址;
5、在所述数据发送表项无效的情况下,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项、所述第二随机存储器的数据操作表项以及第三随机存储器的数据接收表项的更新,并将所述工作队列事件数据写入所述数据操作表项;将所述队列对号写入调度信息存储队列;
6、在所述数据发送表项有效的情况下,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项以及第三随机存储器的数据接收表项的更新;根据所述新地址在所述第二随机存储器上建立新的数据操作表项,并将所述工作队列事件数据写入新的数据操作表项。
7、一方面,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项、所述第二随机存储器的数据操作表项以及第三随机存储器的数据接收表项的更新包括:
8、根据所述工作队列事件数据的数据长度、路径最大传输长度以及所述新地址,实现对所述数据发送表项的更新;
9、根据所述新地址实现对所述数据操作表项的更新;
10、依据更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新。
11、一方面,根据所述工作队列事件数据的数据长度、路径最大传输长度以及所述新地址,实现对所述数据发送表项的更新包括:
12、基于所述工作队列事件数据的数据长度和所述路径最大传输长度,确定出数据包个数;
13、依据所述数据包个数对所述数据发送表项中的总数据包序列号以及最后一个数据包序列号进行更新;
14、将所述数据发送表项中的当前数据包序列号置零、发送标志位调整为有效标志位,并将所述数据发送表项中的操作索引更新为所述新地址。
15、一方面,依据所述数据包个数对所述数据发送表项中的总数据包序列号以及最后一个数据包序列号进行更新包括:
16、在当前数据包序列号从零开始的情况下,将所述数据包个数减一分别作为所述数据发送表项中的总数据包序列号以及最后一个数据包序列号。
17、一方面,根据所述新地址实现对所述数据操作表项的更新包括:
18、基于所述新地址访问所述数据操作表项,将所述数据操作表项中的操作标志位调整为有效标志位、链尾标志位调整为链尾有效标志位、起始数据包序列号置零,并将所述队列对号作为所述数据操作表项的队列对号;
19、将所述工作队列事件数据写入所述数据操作表项包括:
20、将所述工作队列事件数据写入所述数据操作表项的工作队列事件。
21、一方面,依据更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新包括:
22、依据所述队列对号访问所述数据接收表项,将所述数据接收表项中的接收标志位调整为有效标志位,更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址写入所述数据接收表项的对应位置。
23、一方面,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项以及第三随机存储器的数据接收表项的更新包括:
24、判断当前数据包序列号与总数据包序列号是否相等;
25、在当前数据包序列号与总数据包序列号相等的情况下,根据所述工作队列事件数据的数据长度、路径最大传输长度以及所述新地址,实现对所述数据发送表项的更新;依据数据接收表项的接收标志位、更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新;
26、在当前数据包序列号与总数据包序列号不相等的情况下,根据所述工作队列事件数据的数据长度,实现对所述数据发送表项的更新。
27、一方面,依据数据接收表项的接收标志位、更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新包括:
28、判断所述数据接收表项的接收标志位是否为有效标志位;
29、在所述数据接收表项的接收标志位为有效标志位的情况下,将所述队列对号写入调度信息存储队列;
30、在所述数据接收表项的接收标志位不为有效标志位的情况下,将所述数据接收表项的接收标志位调整为有效标志位、将更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址写入所述数据接收表项的对应位置。
31、一方面,根据所述新地址在所述第二随机存储器上建立新的数据操作表项包括:
32、在当前数据包序列号与总数据包序列号不相等的情况下,判断所述第二随机存储器的原数据操作表项是否属于链表尾部;
33、在所述第二随机存储器的原数据操作表项不属于链表尾部的情况下,使用所述新地址访问所述第二随机存储器;
34、在所述第二随机存储器的原数据操作表项属于链表尾部或者在当前数据包序列号与总数据包序列号相等的情况下,将所述新地址作为所述数据操作表项的下一个指针、将所述数据操作表项的链尾标志位调整为链尾无效标志位;根据所述新地址在所述第二随机存储器上建立新的数据操作表项,将所述新地址作为新的数据操作表项的地址,将新的数据操作表项的操作标志位调整为有效标志位、新的数据操作表项的链尾标志位调整为链尾有效标志位、将总数据包序列号加一本文档来自技高网...
【技术保护点】
1.一种数据传输方法,其特征在于,包括:
2.根据权利要求1所述的数据传输方法,其特征在于,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项、所述第二随机存储器的数据操作表项以及第三随机存储器的数据接收表项的更新包括:
3.根据权利要求2所述的数据传输方法,其特征在于,根据所述工作队列事件数据的数据长度、路径最大传输长度以及所述新地址,实现对所述数据发送表项的更新包括:
4.根据权利要求3所述的数据传输方法,其特征在于,依据所述数据包个数对所述数据发送表项中的总数据包序列号以及最后一个数据包序列号进行更新包括:
5.根据权利要求2所述的数据传输方法,其特征在于,根据所述新地址实现对所述数据操作表项的更新包括:
6.根据权利要求2所述的数据传输方法,其特征在于,依据更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新包括:
7.根据权利要求1所述的数据传输方法,其特征在于,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项以及
8.根据权利要求7所述的数据传输方法,其特征在于,依据数据接收表项的接收标志位、更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新包括:
9.根据权利要求7所述的数据传输方法,其特征在于,根据所述新地址在所述第二随机存储器上建立新的数据操作表项包括:
10.根据权利要求1所述的数据传输方法,其特征在于,还包括:
11.根据权利要求10所述的数据传输方法,其特征在于,根据当前数据包序列号与最后一个数据包序列号的大小关系,确定出匹配的数据处理方式包括:
12.根据权利要求11所述的数据传输方法,其特征在于,按照所述数据处理方式实现对所述数据发送表项的更新包括:
13.根据权利要求11所述的数据传输方法,其特征在于,按照所述数据处理方式实现对所述数据发送表项的更新包括:
14.根据权利要求13所述的数据传输方法,其特征在于,根据路径最大传输长度以及所述第二数据操作表项中记录的起始数据包序列号、所述工作队列事件数据的数据长度,更新最后一个数据包序列号包括:
15.根据权利要求1所述的数据传输方法,其特征在于,还包括:
16.根据权利要求15所述的数据传输方法,其特征在于,根据所述接收数据包序列号与最后一个数据包序列号的大小关系以及所述响应包类型,确定出匹配的数据传输方式包括:
17.根据权利要求16所述的数据传输方法,其特征在于,按照所述数据传输方式,将所述数据操作表项中记录的队列对号和工作队列事件数据输出到完成队列,并完成对所述数据操作表项以及所述数据接收表项的更新包括:
18.根据权利要求16所述的数据传输方法,其特征在于,按照所述数据传输方式,将所述数据操作表项中记录的队列对号和工作队列事件数据输出到完成队列,并完成对所述数据操作表项以及所述数据接收表项的更新包括:
19.根据权利要求16所述的数据传输方法,其特征在于,按照所述数据传输方式,将所述数据操作表项中记录的队列对号和工作队列事件数据输出到完成队列,并完成对所述数据操作表项以及所述数据接收表项的更新包括:
20.一种数据传输装置,其特征在于,包括读取单元、获取单元、第一更新单元、第一写入单元、第二写入单元、第二更新单元、建立单元和第三写入单元;
21.一种数据传输设备,其特征在于,包括:
22.一种非易失性存储介质,其特征在于,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至19任意一项所述数据传输方法的步骤。
23.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1 至19任一项所述数据传输方法的步骤。
...【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:
2.根据权利要求1所述的数据传输方法,其特征在于,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项、所述第二随机存储器的数据操作表项以及第三随机存储器的数据接收表项的更新包括:
3.根据权利要求2所述的数据传输方法,其特征在于,根据所述工作队列事件数据的数据长度、路径最大传输长度以及所述新地址,实现对所述数据发送表项的更新包括:
4.根据权利要求3所述的数据传输方法,其特征在于,依据所述数据包个数对所述数据发送表项中的总数据包序列号以及最后一个数据包序列号进行更新包括:
5.根据权利要求2所述的数据传输方法,其特征在于,根据所述新地址实现对所述数据操作表项的更新包括:
6.根据权利要求2所述的数据传输方法,其特征在于,依据更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新包括:
7.根据权利要求1所述的数据传输方法,其特征在于,根据所述工作队列事件数据的数据长度以及所述新地址,实现对所述数据发送表项以及第三随机存储器的数据接收表项的更新包括:
8.根据权利要求7所述的数据传输方法,其特征在于,依据数据接收表项的接收标志位、更新后的数据发送表项中包含的最后一个数据包序列号以及所述新地址,实现对所述数据接收表项的更新包括:
9.根据权利要求7所述的数据传输方法,其特征在于,根据所述新地址在所述第二随机存储器上建立新的数据操作表项包括:
10.根据权利要求1所述的数据传输方法,其特征在于,还包括:
11.根据权利要求10所述的数据传输方法,其特征在于,根据当前数据包序列号与最后一个数据包序列号的大小关系,确定出匹配的数据处理方式包括:
12.根据权利要求11所述的数据传输方法,其特征在于,按照所述数据处理方式实现对所述数据发送表项的更新包括:
13.根据权利...
【专利技术属性】
技术研发人员:刘钧锴,王彦伟,樊嘉恒,
申请(专利权)人:浪潮北京电子信息产业有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。