用于发包描述符获取的方法、计算机设备及介质与流程

文档序号:38214813发布日期:2024-06-06 18:49阅读:16来源:国知局
用于发包描述符获取的方法、计算机设备及介质与流程

本技术涉及计算机,尤其涉及一种用于发包描述符获取的方法、计算机设备及介质。


背景技术:

1、随着虚拟化技术和高带宽高速数据通信技术的发展,对高性能数据面、收发包速率还有整体数据传输性能提出了更高的要求。现有技术中,为了降低对主机处理器的占用,在软件和硬件之间通过环形队列作为实际上的数据面,以软硬件协同的方式实现发包描述符的填充、读取和回收再利用等,硬件根据发包描述符指示的地址信息以直接内存访问方式从软件的存储空间直接获取待发送的数据,并封装成要发送的报文包用于对外发送。不同的厂商通过各自不同的数据面处理机制来改进发包描述符获取机制,有的厂商采用批量通知和批量获取发包描述符的方式。但是,现有技术的发包描述符获取机制,难以同时做到不仅避免过多的发包描述符占用了有效带宽而且避免过少的发包描述符导致数据传输性能不足。

2、为此,本技术提供了一种用于发包描述符获取的方法、计算机设备及介质,用于应对现有技术的技术难题。


技术实现思路

1、第一方面,本技术提供了一种用于发包描述符获取的方法。所述方法包括:通过第一模型,确定至少一个数据通道各自的默认调度因子和默认描述符个数;通过第二模型,确定所述至少一个数据通道各自的当前调度因子和当前描述符个数,所述至少一个数据通道各自的当前调度因子指示可被允许的单位时间调度数据量大小;针对所述至少一个数据通道中的每一个数据通道,当该数据通道被利用来获取发包描述符时,按照该数据通道的当前描述符个数获取至少一个发包描述符,所述至少一个发包描述符的数量等于该数据通道的当前描述符个数,并且,所述至少一个发包描述符的数据量与该数据通道的当前调度因子之间的差异被输入所述第二模型以便更新该数据通道的当前描述符个数,其中,该数据通道的当前调度因子的初始值是该数据通道的默认调度因子,该数据通道的当前描述符个数的初始值是该数据通道的默认描述符个数。

2、通过本技术的第一方面,基于各个数据通道的业务数据流特征来做到各个数据通道各自的自适应调节,每个数据通道可以根据自身的调度因子来调节通过该数据通道获取的发包描述符个数,有利于最大限度利用带宽资源,不仅避免过多的发包描述符占用了有效带宽而且避免过少的发包描述符导致数据传输性能不足,更好地适应各个数据通道各自的业务数据流特征,有助于提高分配有效业务信息给各个数据通道的效率。

3、在本技术的第一方面的一种可能的实现方式中,所述至少一个发包描述符的数据量是所述至少一个发包描述符各自指示的待发送数据的数据量的总和,其中,所述至少一个发包描述符的数据量与该数据通道的当前调度因子之间的差异被输入所述第二模型以便输出该数据通道的更新后描述符个数,该数据通道的更新后描述符个数用于替代该数据通道的当前描述符个数。

4、在本技术的第一方面的一种可能的实现方式中,当所述至少一个发包描述符的数据量大于该数据通道的当前调度因子时,该数据通道的更新后描述符个数小于该数据通道的当前描述符个数,以及,当所述至少一个发包描述符的数据量小于该数据通道的当前调度因子时,该数据通道的更新后描述符个数大于该数据通道的当前描述符个数。

5、在本技术的第一方面的一种可能的实现方式中,当所述至少一个发包描述符的数据量小于该数据通道的当前调度因子并且该数据通道用于下发传输控制协议卸载引擎报文时,该数据通道的更新后描述符个数是基于所述至少一个发包描述符各自指示的待发送数据的数据量的平均值确定,以及,当所述至少一个发包描述符的数据量小于该数据通道的当前调度因子并且该数据通道用于下发非传输控制协议卸载引擎报文时,该数据通道的更新后描述符个数是基于所述至少一个发包描述符各自指示的待发送数据的数据量的平均值以及所述非传输控制协议卸载引擎报文的报文典型组包描述符个数确定。

6、在本技术的第一方面的一种可能的实现方式中,该数据通道的更新后描述符个数的最大值是基于该数据通道相关联的快捷外围组件互连协议所规定的载荷最大长度和读请求最大长度 确定。

7、在本技术的第一方面的一种可能的实现方式中,所述第二模型所输出的该数据通道的更新后描述符个数是所述第二模型的特征学习结果,所述特征学习结果是基于该数据通道的当前调度因子和该数据通道的当前描述符组包信息确定,该数据通道的当前描述符组包信息包括单包占据描述符个数、单包长度平均值和单描述符对应数据平均值。

8、在本技术的第一方面的一种可能的实现方式中,所述特征学习结果可在阈值区间内变化,所述阈值区间是基于该数据通道相关联的网络硬件设备的限制条件确定。

9、在本技术的第一方面的一种可能的实现方式中,所述方法还包括:在该数据通道被利用从而按照该数据通道的当前描述符个数获取所述至少一个发包描述符的过程中,对所述至少一个发包描述符进行有效性检查并且根据所述有效性检查的检查结果选择性地中止所述获取所述至少一个发包描述符的过程。

10、在本技术的第一方面的一种可能的实现方式中,所述方法还包括:在该数据通道被利用从而按照该数据通道的当前描述符个数获取所述至少一个发包描述符之后,至少在该数据通道被再次利用以便按照该数据通道的更新后描述符个数再次获取发包描述符之前,完成所述至少一个发包描述符的有效性检查从而获得所述至少一个发包描述符的有效性检查结果,基于所述有效性检查结果,选择性地停止通过该数据通道获取发包描述符。

11、在本技术的第一方面的一种可能的实现方式中,所述方法还包括:当所述至少一个发包描述符的有效性检查结果指示至少一个无效发包描述符时,释放用于存储所述至少一个无效发包描述符的存储空间,并且,不使用所述至少一个无效发包描述符来获取所述至少一个无效发包描述符所指示的数据。

12、在本技术的第一方面的一种可能的实现方式中,通过所述第一模型,确定所述至少一个数据通道各自的默认调度因子和默认描述符个数,包括:通过所述第一模型,基于网络硬件设备总带宽、端口带宽、所述至少一个数据通道各自的初始业务流带宽、所述至少一个数据通道的初始数量以及所述至少一个数据通道各自的初始调度优先级,确定所述至少一个数据通道各自的默认调度因子和默认描述符个数。

13、在本技术的第一方面的一种可能的实现方式中,通过所述第二模型,确定所述至少一个数据通道各自的当前调度因子和当前描述符个数,包括:通过所述第二模型,基于所述网络硬件设备总带宽、所述端口带宽、所述至少一个数据通道各自的当前业务流带宽、所述至少一个数据通道的当前数量以及所述至少一个数据通道各自的当前调度优先级,确定所述至少一个数据通道各自的当前调度因子,其中,所述至少一个数据通道各自的当前调度因子分别被用于更新所述至少一个数据通道各自的当前描述符个数。

14、在本技术的第一方面的一种可能的实现方式中,所述至少一个数据通道对应至少一个业务,并且,所述至少一个数据通道中的任一个数据通道对应所述至少一个业务中的单个业务,所述至少一个数据通道各自的初始调度优先级是基于所述至少一个数据通道分别对应的业务的初始执行等级确定,所述至少一个数据通道各自的当前调度优先级是基于所述至少一个数据通道分别对应的业务的当前执行等级确定。

15、在本技术的第一方面的一种可能的实现方式中,所述至少一个数据通道各自的当前调度因子不大于所述至少一个数据通道各自的业务流带宽。

16、在本技术的第一方面的一种可能的实现方式中,所述至少一个数据通道用于从驱动侧的软件向逻辑侧的硬件的下行数据通路处理流程,所述第一模型由所述软件初始化后再由所述硬件维护,所述第二模型由所述硬件初始化和维护。

17、在本技术的第一方面的一种可能的实现方式中,在按照该数据通道的当前描述符个数获取所述至少一个发包描述符之后,所述至少一个发包描述符被存储在所述硬件的缓存中。

18、在本技术的第一方面的一种可能的实现方式中,所述至少一个数据通道位于在所述软件和所述硬件之间的数据面并且用于虚拟化硬件加速。

19、第二方面,本技术实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。

20、第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。

21、第四方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1