CN116471238A - 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 - Google Patents

基于新型网络拥塞通告及速率调整策略的拥塞管理方法 Download PDF

Info

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
Application number
CN202310318853.9A
Other languages
English (en)
Inventor
刘亚萍
严定宇
张硕
杨智凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou University
Original Assignee
Guangzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou University filed Critical Guangzhou University
Priority to CN202310318853.9A priority Critical patent/CN116471238A/zh
Publication of CN116471238A publication Critical patent/CN116471238A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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所述的基于新型网络拥塞通告及速率调整策略的拥塞管理方法,其特征在于:子速率调整模块负责控制指定队列对的发送速率。
CN202310318853.9A 2023-03-28 2023-03-28 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 Pending CN116471238A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544567A (zh) * 2024-01-09 2024-02-09 南京邮电大学 存传一体的rdma数据中心拥塞控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
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
US8121038B2 (en) Backward congestion notification
US11888744B2 (en) Spin-leaf network congestion control method, node, system, and storage medium
US20220303217A1 (en) Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device
JP2002520921A (ja) ネットワークの状態に関する情報を用いてtcpスライディング・ウィンドウの調節を行う方法及び装置
US20210211379A1 (en) Method and System for Counting Quantity of Active Flows and Network Device
US6889277B2 (en) System and method for dynamically tuning interrupt coalescing parameters
US20220191140A1 (en) Data transmission control method, apparatus, and storage medium
EP3993330A1 (en) Flow rate control method and apparatus
CN116471238A (zh) 基于新型网络拥塞通告及速率调整策略的拥塞管理方法
Shukla et al. TCP PLATO: Packet labelling to alleviate time-out
CN110868359B (zh) 一种网络拥塞控制方法
CN113438182B (zh) 一种基于信用的流量控制系统和流量控制方法
CN110177051A (zh) 基于流控技术的数据中心拥塞控制方法
WO2014067409A1 (zh) 一种队列调度方法、装置及系统
US8467311B2 (en) Method and system for avoiding flooding of packets in switches
WO2023116611A1 (zh) 一种队列控制的方法及装置
Hamadneh et al. Dynamic weight parameter for the random early detection (RED) in TCP networks
CN116156019A (zh) 一种用于卫星网络的tcp流量控制方法、系统、设备及介质
CN107231316B (zh) 报文的传输方法及装置
Hayashi et al. Improving fairness of quantized congestion notification for data center ethernet networks
CN113162911A (zh) 基于sdn网络控制器的多协议兼容的数据交互方法及装置
CN111371693A (zh) 一种通过硬件、软件快速报文转发的方法和系统
CN114567602B (zh) 一种延迟保障传输系统及方法
CN115022227B (zh) 数据中心网中基于循环或重路由的数据传输方法和系统

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