CN116471238A - 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 - Google Patents
基于新型网络拥塞通告及速率调整策略的拥塞管理方法 Download PDFInfo
- Publication number
- CN116471238A CN116471238A CN202310318853.9A CN202310318853A CN116471238A CN 116471238 A CN116471238 A CN 116471238A CN 202310318853 A CN202310318853 A CN 202310318853A CN 116471238 A CN116471238 A CN 116471238A
- Authority
- CN
- China
- Prior art keywords
- rate
- congestion notification
- queue pair
- rate adjustment
- data packet
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000001514 detection method Methods 0.000 abstract description 3
- 230000001133 acceleration Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- KCXVZYZYPLLWCC-UHFFFAOYSA-N EDTA Chemical compound OC(=O)CN(CC(O)=O)CCN(CC(O)=O)CC(O)=O KCXVZYZYPLLWCC-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 229960001484 edetic acid Drugs 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- 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/11—Identifying congestion
- H04L47/115—Identifying congestion using a dedicated packet
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据传输技术领域,且公开了基于新型网络拥塞通告及速率调整策略的拥塞管理方法,包括以下步骤:S1:在接收端构建用于统计接收速率并生成精准拥塞通告数据包的流量统计系统;S2:接收端依据上述系统的统计信息,判断是否为指定的队列对生成精准拥塞通告数据包,并发送给指定发送端;S3:在发送端构建速率调整系统,流量统计系统包括队列对速率统计模块和RDMA速率统计模块,每一个RDMA网卡端口均需包含一个RDMA速率统计模块。本发明,接收端将计算出的统计速率捎带在标准拥塞通告数据包16字节保留字段中,这与现有的RoCEv2拥塞管理架构兼容,不需要数据中心交换机提供额外的检测标记功能,容易部署和扩展。
Description
技术领域
本发明涉及数据传输技术领域,具体为基于新型网络拥塞通告及速率调整策略的拥塞管理方法。
背景技术
传统的TCP/IP网络堆栈不满足数据中心网络对于高带宽,低时延,低CPU利用率的要求,而RDMA(Remote Direct Memory Access)技术支持本地主机对远程主机内存的直接访问,其数据访问操作仅由网卡(NIC)硬件执行,无需主机系统内核干预,这避免了额外的数据拷贝操作,因此RDMA技术具有内核旁路和零拷贝的特性,满足数据中心对于高速网络的要求。为了在现有以太网架构上部署RDMA网络,目前大型云供应商在数据中心中主要采用RoCEv2(RDMA on Converged Ethernet Version 2)技术,RoCEv2技术需要基于优先级的流量控制协议(PFC)来保证RDMA数据传输零丢包,而PFC协议会导致队头阻塞和拥塞扩散等性能问题,这些问题需要通过一个有效的拥塞控制机制来解决。
现有数据中心中商用RDMA网卡主要使用DCQCN协议作为RoCEv2拥塞控制的解决方案,该方案基于标准RoCEv2拥塞管理(RCM)框架,采用ECN(Explicit CongestionNotification)作为拥塞信号,在大规模运行时容易频繁触发PFC,导致网络整体吞吐量和平均时延不佳,而最新的RoCEv2拥塞控制方案,如HPCC,PCN等,与大部分现有数据中心RCM架构不兼容,需要交换机提供额外的检测标记功能。
因此,我们亟需基于新型网络拥塞通告及速率调整策略的拥塞管理方法。
发明内容
本发明的目的在于提供了基于新型网络拥塞通告及速率调整策略的拥塞管理方法,解决了上述背景技术中所提出的问题。
为实现上述目的,本发明提供如下技术方案:基于新型网络拥塞通告及速率调整策略的拥塞管理方法,包括以下步骤:
S1:在接收端构建用于统计接收速率并生成精准拥塞通告数据包的流量统计系统;
S2:接收端依据上述系统的统计信息,判断是否为指定的队列对生成精准拥塞通告数据包,并发送给指定发送端;
S3:在发送端构建速率调整系统。
优选的,流量统计系统包括队列对速率统计模块和RDMA速率统计模块。
优选的,每一个RDMA网卡端口均需包含一个RDMA速率统计模块。
优选的,队列对速率统计模块包含多个子队列对速率统计模块。
优选的,每一个活动的RDMA队列对需唯一对应一个子队列对速率统计模块。
优选的,速率调整系统对于每个活动队列对存在一个唯一对应的子速率调整模块。
优选的,子速率调整模块负责控制指定队列对的发送速率。
本发明提供了基于新型网络拥塞通告及速率调整策略的拥塞管理方法。该基于新型网络拥塞通告及速率调整策略的拥塞管理方法具备以下有益效果:
(1)、本发明,接收端的流量统计系统能够对RDMA总和接收速率和指定队列对接收速率进行计算,而发送端可以利用这些统计速率实现更加精准的速率调整。
(2)、本发明,发送端的速率调整只基于接收方的统计速率,没有固定的速率增量,这能够使得发送方的速率调整更加迅速准确,并且波动更小。
(3)、本发明,接收端将计算出的统计速率捎带在标准拥塞通告数据包16字节保留字段中,这与现有的RoCEv2拥塞管理架构兼容,不需要数据中心交换机提供额外的检测标记功能,容易部署和扩展。
附图说明
图1:本发明的整体拥塞管理架构图;
图2:本发明的精准拥塞通告数据包格式示意图;
图3:本发明接收端流量统计系统的队列对速率统计模块流程图;
图4:本发明接收端流量统计系统的子队列对速率统计模块流程图;
图5:本发明接收端流量统计系统的RDMA速率统计模块流程图;
图6:本发明的发送端速率调整系统流程图;
图7:本发明的发送端速率调整系统的子速率调整模块流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明提供一种技术方案:基于新型网络拥塞通告及速率调整策略的拥塞管理方法,包括以下步骤:
S1:在接收端构建用于统计接收速率并生成精准拥塞通告数据包的流量统计系统,流量统计系统包含队列对(Queue Pair)速率统计模块和RDMA速率统计模块,每一个RDMA网卡端口均需包含一个RDMA速率统计模块,而队列对(Queue Pair)速率统计模块包含多个子队列对速率统计模块,每一个活动的RDMA队列对需唯一对应一个子队列对速率统计模块;
1.1、如图5所示,当一个RoCEv2数据包进入接收端流量统计系统时,首先进入RDMA速率统计模块,由该模块交由队列对速率统计模块进行处理,最后再交给RDMA速率统计模块进行处理;
1.2、RDMA速率统计模块主要维护两个统计项,RDMA总字节数统计项ALL_Bytes和队列对连接数统计项Num_of_QP,所有子队列对速率统计模块均能获取上述统计项的值。当RDMA速率统计模块启动或重启时,将ALL_Bytes和Num_of_QP置0;
1.3、当一个RoCEv2数据包最后进入RDMA速率统计模块时,更新RDMA总字节数统计项ALL_Bytes=ALL_Bytes+Pkt.Size,其中Pkt.Size为触发数据包的包大小;若该数据包为该队列对的首个数据包,则增加队列对连接数统计项Num_of_QP=Num_of_QP+1;若该数据包为该队列对的最后一个数据包,则减少队列对连接数统计项Num_of_QP=Num_of_QP-1;
1.4、如图3所示,当一个RoCEv2数据包进入队列对速率统计模块时,首先队列对速率统计模块依据该数据包的头部信息,获取对应的源队列对编号,查找是否存在对应该源队列对编号的子队列对速率统计模块,若存在,则将该数据包传递给该子模块进行处理;若不存在,则需要针对该源队列对编号,创建一个新的子队列对速率统计模块;
1.5、如图4所示,当一个RoCEv2数据包触发创建新的子队列对速率统计模块时,需要根据该RoCEv2数据包初始化新模块的统计参数值,参数值包括,已接收数据包计数值Pkt_Count,初始值为1;已接收数据包ECN计数值Pkt_Ecn,当RoCEv2数据包的两位IP ECN字段为0b11,Pkt_Ecn置为1,否则Pkt_Ecn置为0;已接收字节数Pkt_Size,初始值为触发数据包的包大小;统计时间计数值Num_of_T,初始值为1;前RDMA总字节数Pre_AllBytes,其初始值为,创建该子模块时RDMA总字节数统计项ALL_Bytes的值。当子模块参数初始化完成后,重置该子模块的定时器NPTimer,定时周期为T,默认值为用户预先配置;
1.6、当一个RoCEv2数据包进入已初始化过的子队列对速率统计模块,此时更新该子队列速率统计模块的各项统计值,其中包括,已接收数据包计数值更新Pkt_Count=Pkt_Count+1;已接收数据包ECN计数值更新Pkt_Ecn=Pkt_Ecn+(Pkt.Ecn==0b11?1:0),其中Pkt.Ecn为触发数据包的两位IP ECN值;已接收字节数更新Pkt_Size=Pkt_Size+Pkt.Size,其中Pkt.Size表示触发数据包的包大小;
S2:接收端依据上述系统的统计信息,判断是否为指定的队列对生成精准拥塞通告数据包,并发送给指定发送端;
2.1、如图4所示,当流量统计系统中某个子队列对速率统计模块的NPTimer定时器到期时,检测该子模块的Pkt_Count统计值是否大于0,若Pkt_Count大于0,则认为在统计周期内该子模块接收到了数据包,反之则认为该子模块未接收到数据包;
2.2、当子队列对速率统计模块在统计周期内未接收到数据包时,更新该子模块的统计时间计数值Num_of_T=Num_of_T+1,并重置该子模块的定时器NPTimer,定时周期仍为T;2.3、当子队列对速率统计模块在统计周期内接收到数据包时,计算在该统计周期内接收到的数据包中带有ECN标记的数据包的占比ECNRadio=Pkt_Ecn/Pkt_Count,当ECNRadio值大于MaxRadio时,认为该子模块所对应的队列对发生了拥塞,否则认为所对应的队列对未发生拥塞,其中MaxRadio表示最大拥塞比率,由用户预先配置;
2.4、当子队列对速率统计模块所对应的队列对发生拥塞时,计算出目标速率TarRate=B/Num_of_QP,其中B表示该子模块对应的RDMA网卡端口带宽,接收速率RecRate=Pkt_Size/(Num_of_T*T),并将剩余接收速率ResRate置为0;
2.5、当子队列对速率统计模块所对应的队列对未发生拥塞时,首先需要计算出目标速率TarRate=B/Num_of_QP,同时还需要计算出总和接收速率AllRecRate=(ALL_Bytes-Pre_AllBytes)/(Num_of_T*T),然后剩余接收速率ResRate=B-AllRecRate,其中B表示该子模块对应的RDMA网卡端口带宽,并将接收速率RecRate置为0;
2.6、子队列对速率统计模块在计算出三个统计速率-目标速率TarRate,接收速率RecRate,剩余接收速率ResRate后,需要为其对应的队列对生成精准拥塞通告数据包,并在其16字节的保留字段中依次填入三个统计速率值,格式如图2所示,每个统计速率占4字节大小。若对应的队列对发生拥塞,则将生成精准拥塞通告数据包的IP ECN字段置为0b11,否则置为0b10;最后将生成精准拥塞通告数据包发送到指定发送端;
2.7、子队列对速率统计模块在发送精准拥塞通告数据包后,将该子模块内的统计项重置,Pkt_Count,Pkt_Ecn和Pkt_Size均置为0,Num_of_T置为1,Pre_AllBytes置为生成精准拥塞通告数据包时ALL_Bytes的值;
S3:在发送端构建速率调整系统;
3.1、如图6所示,每当发送端的速率调整系统接收到精准拥塞通告数据包时,首先获取数据包头部信息中包含的目的队列对编号,查找是否存在对应该目的队列对编号的子速率调整模块,若存在,则将该数据包交给对应的子速率调整模块处理;若不存在,则需要针对该目的队列对编号,创建一个新的子速率调整模块;
3.2、如图7所示,每个子速率调整模块在初始化阶段时,首先要将指定队列对的发送速率SendRate设置为该队列对所在的网卡端口带宽;还需要保存接收端网卡端口带宽Brec,该值是在前期连接建立过程中由接收端主动告知发送端;最后将当前增速阶段Incstage置为0,该值用于后续增速阶段;
3.3、当子速率调整模块接收到精准拥塞通告数据包时,首先需要从该数据包IP头部字段中提出ECN字段的值,然后从数据包保留字段中提取出三个统计速率-目标速率TarRate,接收速率RecRate,剩余接收速率ResRate,然后执行如下算法,具体方法如下:
3.3.1、计算出接收方队列对数目N=Brec/TarRate;
3.3.2、当精准拥塞通告数据包ECN字段值为0b11时,进入降速阶段逻辑,转3.3.3;否则进入增速阶段逻辑,转3.5.7;
3.3.3、计算出降速的目标速率DecTar=min{RecRate,TarRate};
3.3.4、计算降速因子w=tanh(N/P),其中P为缩放因子,由用户预先配置;
3.3.5、计算出新的发送速率SendRate=min{DecTar*(1-w),SendRate};
3.3.6、将当前增速阶段Incstage=0,并转3.5.14;
3.5.7、计算出目标增速幅度TarVal=(SendRate<TarRate?TarRate-SendRate,0);
3.5.8、计算出增速幅度IncTar=min{TarVal,ResRate};
3.5.9、如果当前增速阶段Incstage小于MaxStage,则转3.5.10,否则转3.5.12,其中MaxStage为最大公平增速阶段值,由用户预先配置;
3.5.10、计算出新的发送速率SendRate=SendRate+min{IncTar/N,SendRate};
3.5.11、更新当前增速阶段Incstage=Incstage+1,并转3.5.14;
3.5.12、计算出新的发送速率SendRate=SendRate+min{IncTar,SendRate};
3.5.13、重置当前增速阶段Incstage=0,并转3.5.14;
3.5.14、更新指定队列对的发送速率为计算出的SendRate,并返回3.3。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (7)
1.基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:包括以下步骤:
S1:在接收端构建用于统计接收速率并生成精准拥塞通告数据包的流量统计系统;
S2:接收端依据上述系统的统计信息,判断是否为指定的队列对生成精准拥塞通告数据包,并发送给指定发送端;
S3:在发送端构建速率调整系统。
2.根据权利要求1所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:流量统计系统包括队列对速率统计模块和RDMA速率统计模块。
3.根据权利要求2所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:每一个RDMA网卡端口均需包含一个RDMA速率统计模块。
4.根据权利要求1所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:队列对速率统计模块包含多个子队列对速率统计模块。
5.根据权利要求3所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:每一个活动的RDMA队列对需唯一对应一个子队列对速率统计模块。
6.根据权利要求1所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:速率调整系统对于每个活动队列对存在一个唯一对应的子速率调整模块。
7.根据权利要求6所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:子速率调整模块负责控制指定队列对的发送速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310318853.9A CN116471238A (zh) | 2023-03-28 | 2023-03-28 | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310318853.9A CN116471238A (zh) | 2023-03-28 | 2023-03-28 | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116471238A true CN116471238A (zh) | 2023-07-21 |
Family
ID=87178063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310318853.9A Pending CN116471238A (zh) | 2023-03-28 | 2023-03-28 | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116471238A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544567A (zh) * | 2024-01-09 | 2024-02-09 | 南京邮电大学 | 存传一体的rdma数据中心拥塞控制方法 |
-
2023
- 2023-03-28 CN CN202310318853.9A patent/CN116471238A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544567A (zh) * | 2024-01-09 | 2024-02-09 | 南京邮电大学 | 存传一体的rdma数据中心拥塞控制方法 |
CN117544567B (zh) * | 2024-01-09 | 2024-03-19 | 南京邮电大学 | 存传一体的rdma数据中心拥塞控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8004980B2 (en) | High performance probabilistic rate policer | |
US8804529B2 (en) | Backward congestion notification | |
JP2002520921A (ja) | ネットワークの状態に関する情報を用いてtcpスライディング・ウィンドウの調節を行う方法及び装置 | |
US20210211379A1 (en) | Method and System for Counting Quantity of Active Flows and Network Device | |
CN110868359B (zh) | 一种网络拥塞控制方法 | |
EP3993330A1 (en) | Flow rate control method and apparatus | |
CN116471238A (zh) | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 | |
CN108738161A (zh) | 一种机器类通信中基于不同时延需求设备分组的随机接入方法 | |
CN116156019A (zh) | 一种用于卫星网络的tcp流量控制方法、系统、设备及介质 | |
CN110177051A (zh) | 基于流控技术的数据中心拥塞控制方法 | |
WO2014067409A1 (zh) | 一种队列调度方法、装置及系统 | |
CN106101005B (zh) | 一种数据中心网络中基于分组长度的拥塞控制方法 | |
US8467311B2 (en) | Method and system for avoiding flooding of packets in switches | |
CN112491736A (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
CN115022227B (zh) | 数据中心网中基于循环或重路由的数据传输方法和系统 | |
CN107231316B (zh) | 报文的传输方法及装置 | |
Hayashi et al. | Improving fairness of quantized congestion notification for data center ethernet networks | |
CN111371693B (zh) | 一种通过硬件、软件快速报文转发的方法和系统 | |
CN113162911A (zh) | 基于sdn网络控制器的多协议兼容的数据交互方法及装置 | |
CN110177019A (zh) | 一种减缓网络拥塞的控制方法 | |
Matsushima et al. | Fairness improvement of multiple-bottleneck flow in data center networks | |
CN114567602B (zh) | 一种延迟保障传输系统及方法 | |
CN118368244B (zh) | 一种软件定义交换机流表优化管理方法 | |
CN118282968B (zh) | 一种数据中心无损网络下过时拥塞反馈的在网屏蔽方法 | |
US20230171201A1 (en) | Method for sending data packet and network device |
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 |