一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种在高速网卡/DPU内提升网络服务质量的方法与流程

2021-11-22 14:03:00 来源:中国专利 TAG:

一种在高速网卡/dpu内提升网络服务质量的方法
技术领域
1.本发明涉及智能网卡/dpu技术领域,特别涉及一种在高速网卡/dpu内提升网络服务质量的方法。


背景技术:

2.随着5g及iot等技术的应用及网络的部署,网络吞吐量及接入量大幅增加,网络报文处理的压力汇聚到了服务器端,随着带宽的增加,25gbe,到100gbe,网络需要多个cpu核参与处理,这就不得不影响cpu正在处理的业务,用智能网卡来协助cpu处理网络报文可以释放cpu资源。而dpu(数据处理单元)为智能网卡的升级版,可以在智能网卡基础上也同时卸载了网络及存储负荷,让cpu可以参与更多业务。
3.在5g及iot场景下,各种应用对网络提出了不同的需求,比如一些urllc(超高可靠超低时延通信)场景应用对网络的响应时间及延迟有着很高的要求,一些embb(增强移动宽带)场景应用对网络的带宽有着很高的要求,这就要求网络的端到端的延迟及带宽在可控范围内,而目前所广为使用的qos(网络服务质量)可以根据要优先传送的数据,对接收到的数据进行分类,然后按照队列调度算法,比如优先级,循环调度或加权差额循环调度等,实现对某些特定的包进行优先传送。但是对于不同需求的应用在同一设备中的处理缺乏有效的方法;此外智能网卡dpu与cpu的通信通常是通过pcie来完成的,网络报文字节数少(通常64字节

1518字节)的特点致使pcie带宽被冗余消耗,特别是高速(100gbps及以上)智能网卡/dpu的小包(256字节及以下)带宽性能受限于pcie协议的吞吐量。


技术实现要素:

4.本发明的目的在于提供一种在高速网卡/dpu内提升网络服务质量的方法,在基于传统qos机制上,对于不能满足性能需求的网络报文采取拼包的方式,来提升智能网卡/dpu在pcie端的吞吐量,从而提升智能网卡/dpu的网络带宽;同时本发明提供一种算法,在用户提供所需带宽的前提下,可以计算所要传输的拼包长度,这样对于同类型的网络包,用所提供的算法来计算传输大包的字节数的方式,可以在满足小于256字节包长以太网包速度的前提下,灵活调度网络报文的速度,从而满足不同应用,在同一设备上,对于带宽的不同需求,以克服现有技术中高速智能网卡/dpu的小包网络带宽性能受限于pcie吞吐量,此外,对于用户的带宽及延迟响应依靠qos,在不同需求的应用在同一网卡上的处理缺乏有效的方法的问题。
5.为实现上述目的,本发明提供如下技术方案:本技术公开了一种在高速网卡/dpu内提升网络服务质量的方法,包括如下步骤:s1、智能网卡/dpu对进入网卡内的网络报文进行解析;s2、用户设定掩码模块匹配查找规则以及各分域的对应流量限制;所述分域包括最佳服务域、流量控制域和低优先级域;s3、对解析后的网络报文通过掩码模块匹配查找,并根据匹配查找的结果,对网络
报文进行分域登记;按照用户配置需求,对每个分域中的网络报文进行优先级排序;s4、对于最佳服务域内的网络报文,按照优先于其他分域的方式将网络报文发送给服务器;s5、对于流量控制域内的网络报文,分别将多个同一应用的网络报文进行拼包得到总数据包,在总数据包上予以标记后再发送给服务器;s6、对于低优先级域内的网络报文,分别将多个同一应用的网络报文进行拼包得到总数据包,在总数据包上予以标记后再发送给服务器;s7、服务器收到步骤s5或s6的总数据包后进行拆包处理;作为优选,所述最佳服务域内的网络报文为延迟敏感类网络报文,所述流量控制域内的网络报文为带宽敏感类网络报文,所述低优先级域内的网络报文为其他类型的网络报文。
6.作为优选,所述步骤s4对网络报文的具体发送方式包括如下子步骤:s41、按照qos的令牌桶机制,根据最佳服务域内的网络报文的优先级以及最佳服务域内的剩余带宽,对网络报文分发令牌;s42、将持有令牌的网络报文发送给服务器;s43、没有令牌的网络报文延迟发送,直到分发到令牌;作为优选,所述步骤s5对总数据包的具体发送方式包括如下子步骤:s51、按照qos的令牌桶机制,根据流量控制域内拼包后的总数据包的优先级以及流量控制域内的剩余带宽,对总数据包分发令牌;s52、将持有令牌的总数据包发送给服务器;s53、没有令牌的总数据包延迟发送,直到分发到令牌;作为优选,所述步骤s6对总数据包的具体发送方式如下:按照qos的加权公平队列的方式,按照总数据包的优先级以及低优先级域内的剩余带宽来分配总数据包的带宽,并将总数据包发送给服务器。
7.作为优选,所述步骤s5或步骤s6中的拼包流程如下:s61、计算出需要累积的数据包的字节数;s62、当带宽敏感类网络报文进入智能网卡,累积数据包的字节数;s63、当累积数据包的字节数达到需要累积的数据包的字节数时,得到总数据包。
8.作为优选,所述步骤s61中需要累积的数据包的字节数ps的计算方式如下:;其中,bw表示应用需要的带宽,单位比特/秒;os表示拼包后冗余字节长,单位字节;r表示光口实际支持的带宽,单位比特/秒。
9.作为优选,所述拼包后冗余字节长为32字节。
10.本发明的有益效果:本发明一种在高速网卡/dpu内提升网络服务质量的方法,对延迟敏感的报文,按照绝对优先的方式传送,对于对带宽有需求的网络报文,为了提高带宽利用率,通过结合算法来计算拼包长度的方法,可以在处理不同需求应用中灵活调度网络报文,从而满足不同应用,在同一设备上,对于延迟及带宽的不同需求,在收到的网络报文为256字节及以下的小包时,可以通过此方法,减少pcie端从智能网络控制器/dpu到智能网卡的传输次数,达到最好的吞吐量性能,同时可以根据不同应用的不同,提供不同带宽及延迟的服务。
11.本发明的特征及优点将通过实施例结合附图进行详细说明。
附图说明
12.图1是本发明一种在高速网卡/dpu内提升网络服务质量的方法的流程示意图;图2是本发明实施例的测试环境示意图。
具体实施方式
13.为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
14.参阅图1,本发明一种在高速网卡/dpu内提升网络服务质量的方法,根据此发明的在智能网卡/dpu内实现方式及流程如下:(1)智能网卡/dpu对从光口进入网卡内的报文进行解析;(2)通过智能网卡/dpu内提供的基于掩码的匹配查找模块对解析后的报文进行分域登记,比如,对于延迟敏感队列定义为最佳服务域,对于需要流量控制的数据流定义为流量监管域,对于其他数据流定义为低优先级域,用户可以根据业务需求配置三种域中优先级等级,比如最佳服务域:流量监管域:低优先级域=6:3:1,轮询发送频率为最佳服务域6/10,流量监管域3/10,低优先级域1/10。
15.(3)对于每个域中的不同流,按照用户配置的需求,分别在随流的metadata(元数据)中给不同的优先级,如果metadata为8位位宽,则优先级的顺序可以为256个。比如用户要求目的ip地址1.1.1.1优先级最高,则此流metadata优先级设为0,次之为1,以此类推。
16.(4)对于最佳服务域,按照qos的令牌桶机制,根据域中流的优先级及pcie端的剩余带宽,分发令牌,令牌以1字节为单位。假设pcie端剩余带宽500k字节,优先级最高的流0为100k字节,1为200k字节,2为200k字节,3为100k字节,则令牌桶中有足够的令牌可以用来发送0,1,2的报文,报文可以发送,3没有足够令牌,则延迟发送。
17.(5)对于流量控制域,对于需要高带宽的数据流,则按照公式1进行计算,确定拼包形式,假设在100gbps的端口带宽下,需要60gbps的吞吐量,拼包的冗余字节为32字节,则根据公式1,需要组成3072字节的有效包长,以达到最大性能。对于需要不同带宽的报文,可以分别按照公式1进行计算,确定拼包形式,假设对于需要40gbps带宽的数据流3,拼包的冗余字节为32字节,则根据公式1,需要组成1365字节的有效包长。
18.(6)对于拼好包的报文同样采用步骤5中的qos的令牌桶机制,来安排及控制报文的发送。
19.(7)对于低优先级域,按照步骤6中的拼包方式进行拼包,然后按照qos 加权公平队列的方式进行报文发送。这里完全按照用户设定的优先级及对应流量进行分配。假设用户设定低优先级域有10gbps带宽,一共分配256个流,其中优先级最高的流拥有2gb带宽限制,最低的有100kb的带宽限制,则智能网卡dpu按照用户设定值进行分配。
20.(8)在传输拼包报文时,需要在dma的环形队列描述表中予以标记。这样,从网卡到服务器所拼的报文,需要在服务器端进行拆包处理。
21.(9)从服务器到网卡的数据传输过程,过程相反,拼包的工作由软件端做,在网卡端进行拆包处理。
22.参阅图2,本发明在实际应用中的测试环境图,经过测试100gbe智能网络控制器的测试结果如表1所示:从表1可以看出,在收到的网络报文为256字节及以下的小包时,可以通过此方法,减少pcie端从智能网络控制器/dpu到智能网卡的传输次数,达到最好的吞吐量性能。
23.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献