CN113676416B - 一种在高速网卡/dpu内提升网络服务质量的方法 - Google Patents
一种在高速网卡/dpu内提升网络服务质量的方法 Download PDFInfo
- Publication number
- CN113676416B CN113676416B CN202111229755.5A CN202111229755A CN113676416B CN 113676416 B CN113676416 B CN 113676416B CN 202111229755 A CN202111229755 A CN 202111229755A CN 113676416 B CN113676416 B CN 113676416B
- Authority
- CN
- China
- Prior art keywords
- network
- total data
- domain
- data packets
- network message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种在高速网卡/DPU内提升网络服务质量的方法,对延迟敏感的报文,按照绝对优先的方式传送,对于对带宽有需求的网络报文,为了提高带宽利用率,通过结合算法来计算拼包长度的方法,可以在处理不同需求应用中灵活调度网络报文,从而满足不同应用,在同一设备上,对于延迟及带宽的不同需求,在收到的网络报文为256字节及以下的小包时,可以通过此方法,减少PCIe端从智能网络控制器/DPU到智能网卡的传输次数,达到最好的吞吐量性能,同时可以根据不同应用的不同,提供不同带宽及延迟的服务。
Description
技术领域
本发明涉及智能网卡/DPU技术领域,特别涉及一种在高速网卡/DPU内提升网络服务质量的方法。
背景技术
随着5G及IoT等技术的应用及网络的部署,网络吞吐量及接入量大幅增加,网络报文处理的压力汇聚到了服务器端,随着带宽的增加,25GbE,到100GbE,网络需要多个CPU核参与处理,这就不得不影响CPU正在处理的业务,用智能网卡来协助CPU处理网络报文可以释放CPU资源。而DPU(数据处理单元)为智能网卡的升级版,可以在智能网卡基础上也同时卸载了网络及存储负荷,让CPU可以参与更多业务。
在5G及IoT场景下,各种应用对网络提出了不同的需求,比如一些URLLC(超高可靠超低时延通信)场景应用对网络的响应时间及延迟有着很高的要求,一些eMBB(增强移动宽带)场景应用对网络的带宽有着很高的要求,这就要求网络的端到端的延迟及带宽在可控范围内,而目前所广为使用的QoS(网络服务质量)可以根据要优先传送的数据,对接收到的数据进行分类,然后按照队列调度算法,比如优先级,循环调度或加权差额循环调度等,实现对某些特定的包进行优先传送。但是对于不同需求的应用在同一设备中的处理缺乏有效的方法;此外智能网卡DPU与CPU的通信通常是通过PCIe来完成的,网络报文字节数少(通常64字节-1518字节)的特点致使PCIe带宽被冗余消耗,特别是高速(100Gbps及以上)智能网卡/DPU的小包(256字节及以下)带宽性能受限于PCIe协议的吞吐量。
发明内容
本发明的目的在于提供一种在高速网卡/DPU内提升网络服务质量的方法,在基于传统QoS机制上,对于不能满足性能需求的网络报文采取拼包的方式,来提升智能网卡/DPU在PCIe端的吞吐量,从而提升智能网卡/DPU的网络带宽;同时本发明提供一种算法,在用户提供所需带宽的前提下,可以计算所要传输的拼包长度,这样对于同类型的网络包,用所提供的算法来计算传输大包的字节数的方式,可以在满足小于256字节包长以太网包速度的前提下,灵活调度网络报文的速度,从而满足不同应用,在同一设备上,对于带宽的不同需求,以克服现有技术中高速智能网卡/DPU的小包网络带宽性能受限于PCIe吞吐量,此外,对于用户的带宽及延迟响应依靠QoS,在不同需求的应用在同一网卡上的处理缺乏有效的方法的问题。
为实现上述目的,本发明提供如下技术方案:
本申请公开了一种在高速网卡/DPU内提升网络服务质量的方法,包括如下步骤:
S1、智能网卡/DPU对进入网卡内的网络报文进行解析;
S2、用户设定掩码模块匹配查找规则以及各分域的对应流量限制;所述分域包括最佳服务域、流量控制域和低优先级域;
S3、对解析后的网络报文通过掩码模块匹配查找,并根据匹配查找的结果,对网络报文进行分域登记;按照用户配置需求,对每个分域中的网络报文进行优先级排序;
S4、对于最佳服务域内的网络报文,按照优先于其他分域的方式将网络报文发送给服务器;
S5、对于流量控制域内的网络报文,分别将多个同一应用的网络报文进行拼包得到总数据包,在总数据包上予以标记后再发送给服务器;
S6、对于低优先级域内的网络报文,分别将多个同一应用的网络报文进行拼包得到总数据包,在总数据包上予以标记后再发送给服务器;
S7、服务器收到步骤S5或S6的总数据包后进行拆包处理;
作为优选,所述最佳服务域内的网络报文为延迟敏感类网络报文,所述流量控制域内的网络报文为带宽敏感类网络报文,所述低优先级域内的网络报文为其他类型的网络报文。
作为优选,所述步骤S4对网络报文的具体发送方式包括如下子步骤:
S41、按照QoS的令牌桶机制,根据最佳服务域内的网络报文的优先级以及最佳服务域内的剩余带宽,对网络报文分发令牌;
S42、将持有令牌的网络报文发送给服务器;
S43、没有令牌的网络报文延迟发送,直到分发到令牌;
作为优选,所述步骤S5对总数据包的具体发送方式包括如下子步骤:
S51、按照QoS的令牌桶机制,根据流量控制域内拼包后的总数据包的优先级以及流量控制域内的剩余带宽,对总数据包分发令牌;
S52、将持有令牌的总数据包发送给服务器;
S53、没有令牌的总数据包延迟发送,直到分发到令牌;
作为优选,所述步骤S6对总数据包的具体发送方式如下:按照QoS的加权公平队列的方式,按照总数据包的优先级以及低优先级域内的剩余带宽来分配总数据包的带宽,并将总数据包发送给服务器。
作为优选,所述步骤S5或步骤S6中的拼包流程如下:
S61、计算出需要累积的数据包的字节数;
S62、当带宽敏感类网络报文进入智能网卡,累积数据包的字节数;
S63、当累积数据包的字节数达到需要累积的数据包的字节数时,得到总数据包。
作为优选,所述拼包后冗余字节长为32字节。
本发明的有益效果:
本发明一种在高速网卡/DPU内提升网络服务质量的方法,对延迟敏感的报文,按照绝对优先的方式传送,对于对带宽有需求的网络报文,为了提高带宽利用率,通过结合算法来计算拼包长度的方法,可以在处理不同需求应用中灵活调度网络报文,从而满足不同应用,在同一设备上,对于延迟及带宽的不同需求,在收到的网络报文为256字节及以下的小包时,可以通过此方法,减少PCIe端从智能网络控制器/DPU到智能网卡的传输次数,达到最好的吞吐量性能,同时可以根据不同应用的不同,提供不同带宽及延迟的服务。
本发明的特征及优点将通过实施例结合附图进行详细说明。
附图说明
图1是本发明一种在高速网卡/DPU内提升网络服务质量的方法的流程示意图;
图2是本发明实施例的测试环境示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
参阅图1,本发明一种在高速网卡/DPU内提升网络服务质量的方法,
根据此发明的在智能网卡/DPU内实现方式及流程如下:
(1)智能网卡/DPU对从光口进入网卡内的报文进行解析;
(2)通过智能网卡/DPU内提供的基于掩码的匹配查找模块对解析后的报文进行分域登记,比如,对于延迟敏感队列定义为最佳服务域,对于需要流量控制的数据流定义为流量监管域,对于其他数据流定义为低优先级域,用户可以根据业务需求配置三种域中优先级等级,比如最佳服务域:流量监管域:低优先级域=6:3:1,轮询发送频率为最佳服务域6/10,流量监管域3/10,低优先级域1/10。
(3)对于每个域中的不同流,按照用户配置的需求,分别在随流的Metadata(元数据)中给不同的优先级,如果Metadata为8位位宽,则优先级的顺序可以为256个。比如用户要求目的IP地址1.1.1.1优先级最高,则此流Metadata优先级设为0,次之为1,以此类推。
(4)对于最佳服务域,按照QoS的令牌桶机制,根据域中流的优先级及PCIe端的剩余带宽,分发令牌,令牌以1字节为单位。假设PCIe端剩余带宽500K字节,优先级最高的流0为100K字节,1为200K字节,2为200K字节,3为100K字节,则令牌桶中有足够的令牌可以用来发送0,1,2的报文,报文可以发送,3没有足够令牌,则延迟发送。
(5)对于流量控制域,对于需要高带宽的数据流,则按照公式1进行计算,确定拼包形式,假设在100Gbps的端口带宽下,需要60Gbps的吞吐量,拼包的冗余字节为32字节,则根据公式1,需要组成3072字节的有效包长,以达到最大性能。对于需要不同带宽的报文,可以分别按照公式1进行计算,确定拼包形式,假设对于需要40Gbps带宽的数据流3,拼包的冗余字节为32字节,则根据公式1,需要组成1365字节的有效包长。
(6)对于拼好包的报文同样采用步骤5中的QoS的令牌桶机制,来安排及控制报文的发送。
(7)对于低优先级域,按照步骤6中的拼包方式进行拼包,然后按照QoS 加权公平队列的方式进行报文发送。这里完全按照用户设定的优先级及对应流量进行分配。假设用户设定低优先级域有10Gbps带宽,一共分配256个流,其中优先级最高的流拥有2Gb带宽限制,最低的有100Kb的带宽限制,则智能网卡DPU按照用户设定值进行分配。
(8)在传输拼包报文时,需要在DMA的环形队列描述表中予以标记。这样,从网卡到服务器所拼的报文,需要在服务器端进行拆包处理。
(9)从服务器到网卡的数据传输过程,过程相反,拼包的工作由软件端做,在网卡端进行拆包处理。
参阅图2,本发明在实际应用中的测试环境图,经过测试100GbE智能网络控制器的测试结果如表1所示:
从表1可以看出,在收到的网络报文为256字节及以下的小包时,可以通过此方法,减少PCIe端从智能网络控制器/DPU到智能网卡的传输次数,达到最好的吞吐量性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种在高速网卡/DPU内提升网络服务质量的方法,其特征在于,包括如下步骤:
S1、智能网卡/DPU对进入网卡内的网络报文进行解析;
S2、用户设定掩码模块匹配查找规则以及各分域的对应流量限制;所述分域包括最佳服务域、流量控制域和低优先级域;所述最佳服务域内的网络报文为延迟敏感类网络报文,所述流量控制域内的网络报文为带宽敏感类网络报文,所述低优先级域内的网络报文为其他类型的网络报文;
S3、对解析后的网络报文通过掩码模块匹配查找,并根据匹配查找的结果,对网络报文进行分域登记;按照用户配置需求,对每个分域中的网络报文进行优先级排序;
S4、对于最佳服务域内的网络报文,按照优先于其他分域的方式将网络报文发送给服务器;
S5、对于流量控制域内的网络报文,分别将多个同一应用的网络报文进行拼包得到总数据包,在总数据包上予以标记后再发送给服务器;
S6、对于低优先级域内的网络报文,分别将多个同一应用的网络报文进行拼包得到总数据包,在总数据包上予以标记后再发送给服务器;
S7、服务器收到步骤S5或S6的总数据包后进行拆包处理;
所述步骤S5或步骤S6中的拼包流程如下:
S61、计算出需要累积的数据包的字节数;
S62、当带宽敏感类网络报文进入智能网卡,累积数据包的字节数;
S63、当累积数据包的字节数达到需要累积的数据包的字节数时,得到总数据包;
2.如权利要求1所述的一种在高速网卡/DPU内提升网络服务质量的方法,其特征在于,所述步骤S4对网络报文的具体发送方式包括如下子步骤:
S41、按照QoS的令牌桶机制,根据最佳服务域内的网络报文的优先级以及最佳服务域内的剩余带宽,对网络报文分发令牌;
S42、将持有令牌的网络报文发送给服务器;
S43、没有令牌的网络报文延迟发送,直到分发到令牌;
如权利要求1所述的一种在高速网卡/DPU内提升网络服务质量的方法,其特征在于,所述步骤S5对总数据包的具体发送方式包括如下子步骤:
S51、按照QoS的令牌桶机制,根据流量控制域内拼包后的总数据包的优先级以及流量控制域内的剩余带宽,对总数据包分发令牌;
S52、将持有令牌的总数据包发送给服务器;
S53、没有令牌的总数据包延迟发送,直到分发到令牌;
如权利要求1所述的一种在高速网卡/DPU内提升网络服务质量的方法,其特征在于,所述步骤S6对总数据包的具体发送方式如下:按照QoS的加权公平队列的方式,按照总数据包的优先级以及低优先级域内的剩余带宽来分配总数据包的带宽,并将总数据包发送给服务器。
3.如权利要求1所述的一种在高速网卡/DPU内提升网络服务质量的方法,其特征在于,所述拼包后冗余字节长为32字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111229755.5A CN113676416B (zh) | 2021-10-22 | 2021-10-22 | 一种在高速网卡/dpu内提升网络服务质量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111229755.5A CN113676416B (zh) | 2021-10-22 | 2021-10-22 | 一种在高速网卡/dpu内提升网络服务质量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676416A CN113676416A (zh) | 2021-11-19 |
CN113676416B true CN113676416B (zh) | 2021-12-28 |
Family
ID=78550761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111229755.5A Active CN113676416B (zh) | 2021-10-22 | 2021-10-22 | 一种在高速网卡/dpu内提升网络服务质量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676416B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204456A (zh) * | 2021-11-30 | 2023-06-02 | 华为技术有限公司 | 数据访问方法及计算设备 |
CN114827312B (zh) * | 2022-05-09 | 2022-09-16 | 浙江锐文科技有限公司 | 在智能网卡/dpu内自适应延迟及吞吐率需求的方法及装置 |
CN114885045B (zh) * | 2022-07-07 | 2022-10-04 | 浙江锐文科技有限公司 | 一种在高速智能网卡/dpu内节约dma通道资源方法和装置 |
CN115599638B (zh) * | 2022-12-01 | 2023-03-10 | 浙江锐文科技有限公司 | 一种在智能网卡/dpu内对多服务大流量功耗优化方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999013624A1 (en) * | 1997-09-09 | 1999-03-18 | British Telecommunications Public Limited Company | Packet network |
CN103150216A (zh) * | 2013-02-27 | 2013-06-12 | 东南大学 | 一种SoC集成的多端口DDR2/3调度器及调度方法 |
CN104753813A (zh) * | 2013-12-27 | 2015-07-01 | 国家计算机网络与信息安全管理中心 | Dma传送报文的方法 |
CN106789721A (zh) * | 2017-03-24 | 2017-05-31 | 深圳市吉祥腾达科技有限公司 | 一种基于令牌桶的智能qos方法及系统 |
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
CN109905329A (zh) * | 2019-01-04 | 2019-06-18 | 东南大学 | 一种虚拟化环境下任务类型感知的流队列自适应管理方法 |
CN110022269A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 通信数据处理方法、装置和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841052B (zh) * | 2012-11-27 | 2017-03-08 | 中国科学院声学研究所 | 一种带宽资源分配系统与方法 |
CN107896192B (zh) * | 2017-11-20 | 2020-09-25 | 电子科技大学 | 一种SDN网络中区分业务优先级的QoS控制方法 |
-
2021
- 2021-10-22 CN CN202111229755.5A patent/CN113676416B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999013624A1 (en) * | 1997-09-09 | 1999-03-18 | British Telecommunications Public Limited Company | Packet network |
CN103150216A (zh) * | 2013-02-27 | 2013-06-12 | 东南大学 | 一种SoC集成的多端口DDR2/3调度器及调度方法 |
CN104753813A (zh) * | 2013-12-27 | 2015-07-01 | 国家计算机网络与信息安全管理中心 | Dma传送报文的方法 |
CN106789721A (zh) * | 2017-03-24 | 2017-05-31 | 深圳市吉祥腾达科技有限公司 | 一种基于令牌桶的智能qos方法及系统 |
CN110022269A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 通信数据处理方法、装置和设备 |
CN109768939A (zh) * | 2018-11-27 | 2019-05-17 | 中国科学院计算技术研究所 | 一种支持优先级的标签化网络栈方法和系统 |
CN109905329A (zh) * | 2019-01-04 | 2019-06-18 | 东南大学 | 一种虚拟化环境下任务类型感知的流队列自适应管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113676416A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113676416B (zh) | 一种在高速网卡/dpu内提升网络服务质量的方法 | |
US8660137B2 (en) | Method and system for quality of service and congestion management for converged network interface devices | |
US10243865B2 (en) | Combined hardware/software forwarding mechanism and method | |
US7701849B1 (en) | Flow-based queuing of network traffic | |
JP3898965B2 (ja) | 無線リソース割り当て方法及び基地局 | |
US8780722B2 (en) | Scheduling packet transmission on a client device using packet classifications including high priority network control packets | |
US9608927B2 (en) | Packet exchanging device, transmission apparatus, and packet scheduling method | |
WO2016078341A1 (zh) | 一种缓存分配方法、装置及网络处理器 | |
WO2001069852A2 (en) | Data rate limiting | |
CN112565939B (zh) | 无源光网络数据传输方法、网络切片带宽分配方法及装置 | |
WO2004077767A1 (ja) | パケット転送制御方法及びパケット転送制御回路 | |
US8379518B2 (en) | Multi-stage scheduler with processor resource and bandwidth resource allocation | |
WO2022089175A1 (zh) | 网络拥塞控制方法及装置 | |
CN111181873A (zh) | 数据发送方法、装置、存储介质和电子设备 | |
CN113225196A (zh) | 服务等级配置方法以及装置 | |
WO2012116540A1 (zh) | 流量管理的方法和管理装置 | |
CN115622952A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
Klymash et al. | Data Buffering Multilevel Model at a Multiservice Traffic Service Node | |
JP2011091711A (ja) | ノード及び送信フレーム振り分け方法並びにプログラム | |
CN111224884B (zh) | 拥塞控制的处理方法、报文转发装置及报文接收装置 | |
Li et al. | RPQ: Resilient-Priority Queue Scheduling for Delay-Sensitive Applications | |
WO2022246710A1 (zh) | 一种控制数据流传输的方法及通信装置 | |
KR20080053118A (ko) | 이더넷 기반 수동형 광 가입자망(EPON)에서의 서비스품질(QoS) 관련 기능 지원/제어 장치 및 방법 | |
KR101681613B1 (ko) | 분산 병렬 데이터 전송 시스템에서 자원들을 스케줄링하기 위한 장치 및 그 방법 | |
Vila-Carbó et al. | Analysis of switched Ethernet for real-time transmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |