CN116915722B - 一种网络拥塞调节方法、装置、计算设备及可读存储介质 - Google Patents
一种网络拥塞调节方法、装置、计算设备及可读存储介质 Download PDFInfo
- Publication number
- CN116915722B CN116915722B CN202311169058.4A CN202311169058A CN116915722B CN 116915722 B CN116915722 B CN 116915722B CN 202311169058 A CN202311169058 A CN 202311169058A CN 116915722 B CN116915722 B CN 116915722B
- Authority
- CN
- China
- Prior art keywords
- network card
- sending
- congestion
- rate
- speed reduction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000009467 reduction Effects 0.000 claims abstract description 83
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 33
- 238000012423 maintenance Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000011217 control strategy Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 22
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000001514 detection method Methods 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
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种网络拥塞调节方法、装置、计算设备及可读存储介质,该方法应用于第一网卡向第二网卡发送远程直接内存访问业务报文的过程,该方法包括:在第一网卡接收第二网卡发送的拥塞通知报文的情况下,第一网卡根据向第二网卡发送业务报文的第一发送速率,以及第一降速系数生成第一速率,其中,第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个。上述方法中,第一网卡根据固定的第一降速系数以及已经存在的多个稳定阶段的发送速率生成第一速率,相比于当前根据DCQCN算法对发送速率进行调节的方法,去除了需要维护与更新的降速因子,降低了硬件实现难度和调试复杂度,可以简化发送速率控制流程。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络拥塞调节方法、装置、计算设备及可读存储介质。
背景技术
目前,远程直接数据存取(remote direct memory access,RDMA)技术越来越多地部署在数据中心中,为避免网络拥塞丢包给RDMA造成性能损失,通常采用数据中心量化拥塞通知(data center quantized congestion notification,DCQCN)算法等网络拥塞调节算法进行网络拥塞控制。例如,在未发生拥塞,发送端网卡未接收拥塞通知报文(congestion notification packet,CNP)的情况下,发送端网卡根据DCQCN算法调节对接收端网卡发送业务报文的发送速率,持续地增加发送速率,在发送端网卡接收到拥塞通知报文的情况下,发送端网卡根据不断更新的降速因子对发送速率进行降速。
上述方法采用启发式来猜测速率更新,通过迭代收敛到稳定的速率分布,这种迭代方法处理大规模拥塞事件的速度很慢,同时降速因子的维护需要使用到乘法和额外的定时装置,硬件实现较为复杂;并且降速因子还需要一个额外的定时参数进行调试维护。
发明内容
本申请实施例提供一种网络拥塞调节方法、装置、计算设备及可读存储介质,在第一网卡确定第一网卡向第二网卡发送远程直接数据存取(remote direct memory access,RDMA)业务报文时接收第二网卡发送的拥塞通知报文的情况下,根据固定的第一降速系数以及已经存在多个稳定阶段的第一网卡向第二网卡发送业务报文的第一发送速率,生成第一速率,去除了需要维护与更新的降速因子,降低了硬件实现难度和调试复杂度,可以简化发送速率控制流程。
第一方面,本申请提供了一种网络拥塞调节方法,该方法应用于第一网卡向第二网卡发送RDMA业务报文的过程,该方法包括:在第一网卡接收第二网卡发送的拥塞通知报文的情况下,第一网卡获取自上一次接收第二网卡发送的拥塞通知报文后,根据第一拥塞控制策略生成的一个或者多个第二发送速率;第一网卡根据降速程度,从一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,并结合第一降速系数生成第一速率,其中,第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个,降速程度越大,第一网卡选择的第二发送速率的生成时间越接近上一次接收第二网卡发送的拥塞通知报文的时间。
在第一网卡未接收第二网卡发送的拥塞通知报文的情况下,第一网卡通过第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行升降速维护,第一拥塞控制策略为数据中心量化拥塞通知(data center quantized congestion notification,DCQCN)算法;其中,第一拥塞控制策略包括通过第一网卡和第二网卡之间的交换机检测网络路径是否发生拥塞,交换机在网络路径发生拥塞的情况下在业务报文上标注拥塞信息,第二网卡根据包含拥塞信息的业务报文返回拥塞通知报文至第一网卡,第一网卡通过DCQCN算法持续增加发送速率,或者,第一网卡在接收拥塞通知报文的情况下根据DCQCN算法确定降速因子,并根据降速因子对第一网卡向第二网卡发送业务报文的发送速率进行降速,其中,降速因子是不断更新的。
综上所述,本申请提供的网络拥塞调节方法通过固定的第一降速系数以及已存在的多个稳定阶段的第一网卡向第二网卡发送业务报文的第一发送速率生成第一速率,相较于当前根据DCQCN算法对第一网卡向第二网卡发送业务报文的发送速率进行调节的方法,去除了需要维护与更新的降速因子,降低了硬件实现难度和调试复杂度,可以简化发送速率控制流程。
在一种可能的实施方式中,第一网卡获取自上一次接收第二网卡发送的拥塞通知报文后,根据第一拥塞控制策略生成的一个或者多个第二发送速率。在未接收到新的拥塞通知报文之前,第一网卡不断生成新的第二发送速率,并且可以用新生成的第二发送速率替换之前生成的第二发送速率,使得第一网卡中保留的多个第二发送速率的时间更接近接收新的拥塞通知报文的时间,第二发送速率用于与第一降速系数结合生成第一速率。
在一种可能的实施方式中,在第一网卡获取到自上一次接收第二网卡发送的拥塞通知报文后,生成的一个或者多个第二发送速率的情况下,第一网卡根据降速程度,从一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,并结合第一降速系数生成第一速率,其中,降速程度越大,第一网卡选择的第二发送速率的生成时间越接近上一次接收第二网卡发送的拥塞通知报文的时间。第一网卡可以通过选择第二发送速率,来达到不同的降速程度,从第二发送速率中确定第一发送速率,并结合固定的第一降速系数,可以更加简单地进行降速计算,确定第一速率,去除了需要维护与更新的降速因子,降低了硬件实现难度和调试复杂度,简化了发送速率控制流程。
在一种可能的实施方式中,该方法还包括:在第一网卡未获取到自上一次接收第二网卡发送的拥塞通知报文后,生成的一个或者多个第二发送速率的情况下,第一网卡接收到拥塞通知报文时对应的第一网卡向第二网卡发送业务报文的发送速率为第一发送速率,并结合第一降速系数,或者结合第一降速系数的倍数,生成第一速率。第一网卡根据接收到拥塞通知报文时对应的发送速率以及固定的第一降速系数,确定第一发送速率,可以更加简单地确定第一速率,在拥塞程度较高的情况下,还可以结合第一降速系数的倍数生成第一速率,在计算发送速率的过程中去除了不断更新的降速因子,可以降低硬件实现难度和调试复杂度。
第二方面,本申请提供了一种网络拥塞调节装置,应用于通过远程直接内存访问对第二网卡进行访问的第一网卡,该装置包括接收模块,拥塞调节模块以及发送模块。其中,接收模块,用于接收第二网卡发送的拥塞通知报文;拥塞调节模块,用于在接收模块接收第二网卡发送的拥塞通知报文的情况下,获取自上一次接收模块接收第二网卡发送的拥塞通知报文后,根据第一拥塞控制策略生成的一个或者多个第二发送速率;拥塞调节模块,还用于根据降速程度,从一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,并结合第一降速系数生成第一速率,其中,第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个,降速程度越大,第一网卡选择的第二发送速率的生成时间越接近上一次接收第二网卡发送的拥塞通知报文的时间;拥塞调节模块,还用于在未接收第二网卡发送的拥塞通知报文的情况下,通过第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行升降速维护,第一拥塞控制策略为数据中心量化拥塞通知DCQCN算法;其中,第一拥塞控制策略包括通过第一网卡和第二网卡之间的交换机检测网络路径是否发生拥塞,交换机在网络路径发生拥塞的情况下在业务报文上标注拥塞信息,第二网卡根据包含拥塞信息的业务报文返回拥塞通知报文至第一网卡,第一网卡通过DCQCN算法持续增加发送速率,或者,拥塞调节模块在接收模块接收拥塞通知报文的情况下根据DCQCN算法,确定降速因子,并根据降速因子对第一网卡向第二网卡发送业务报文的发送速率进行降速,其中,降速因子是不断更新的;发送模块,用于根据第一速率或者第二速率向第二网卡发送业务报文。
在一种可能的实施方式中,拥塞调节模块具体用于:在未获取到自上一次接收拥塞通知报文后,根据所述第一拥塞控制策略生成的一个或者多个第二发送速率的情况下,确定接收模块接收拥塞通知时对应的第一网卡向第二网卡发送业务报文的发送速率为第一发送速率,并结合第一降速系数,或者结合第一降速系数的倍数,生成第一速率。
第三方面,本申请提供了一种计算设备,该计算设备包括处理器和存储器,存储器存储计算机程序,处理器执行计算机程序,以使计算设备执行上述第一方面所述的方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序,程序在计算设备上运行时,使计算设备执行上述第一方面所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的一种网络拥塞调节***的结构示意图;
图2是本申请实施例提供的一种网络拥塞调节方法的流程图;
图3是本申请实施例提供的一种发送速率记录表的示意图;
图4是本申请实施例提供的一种网络拥塞调节装置的结构示意图;
图5是本申请实施例提供的一种具体的网络拥塞调节装置的结构示意图;
图6是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
如图1所示,图1是本申请实施例提供的一种网络拥塞调节***的结构示意图,该***包括发送端110、交换机120和接收端130,其中,发送端110包括第一网卡111,接收端130包括第二网卡131,发送端、交换机以及接收端之间通过网络相互连接。
发送端110和接收端130通过远程直接内存访问(remote direct memory access,RDMA)技术进行数据交换,其中,RDMA在以太网上运行称为RDMA穿越汇聚以太网(RDMA overconverged ethernet,RoCE)技术,具体实现中,为了实现RoCE技术,交换机是支持基于优先级流量控制(priority-based flow control,PFC)操作***的交换机,第一网卡和第二网卡也需选择适配RoCE技术的网卡。
为了避免网络拥塞丢包给RoCE带来性能损失,常采用第一拥塞控制策略,也就是数据中心量化拥塞通知(data center quantized congestion notification,DCQCN)算法进行网络拥塞调节。具体实现中,为了实现DCQCN算法,交换机是支持加权随机先期检测(weighted random early detection,WRED)和基于显示反馈的协议(explicitcongestion notification,ECN)的交换机,交换机与第一网卡和第二网卡相结合,可以实现DCQCN算法的主要功能:拥塞点算法、响应点算法以及通知点算法。
在一种可能的实施方式中,交换机120作为拥塞点(congestion point ,CP),发送端的第一网卡111作为响应点(reaction point,RP),接收端的第二网卡131作为通知点(notification point,NP)。
第一网卡用于发送和接收业务报文,执行响应点算法,例如,调节第一网卡向第二网卡发送业务报文的发送速率,避免拥塞。在未接收到拥塞通知报文(congestionnotification packet,CNP)的情况下,第一网卡每隔一定的时间阈值或者发包阈值持续地提升第一网卡向第二网卡发送业务报文的发送速率,每次提升发送速率后,发送速率会保持一定时间段的稳定,直至下一次第一网卡进行发送速率的提升。
在第一网卡接收到CNP的情况下,第一网卡根据响应点算法对发送速率进行降速,同时第一网卡维护降速因子,降速因子用于降速计算。其中,降速因子需要实时更新维护,在接收到CNP报文的情况下,更新降速因子/>的具体计算公式如下:
其中,g为常数,为当前的降速因子。在未接收到CNP报文的情况下,第一网卡每隔一段预设时间也对降速因子进行更新,该情况下,更新降速因子/>的具体计算公式如下:
在接收到CNP报文的情况下,第一网卡根据最新更新的降速因子进行降速计算,具体计算公式如下:
其中,为降速计算生成的第一网卡向第二网卡发送业务报文的发送速率,/>为当前第一网卡向第二网卡发送业务报文的发送速率。
交换机用于检测当前的网络路径的拥塞情况并标记拥塞信息,例如,交换机在端口队列超过预设阈值的情况下,在转发报文时会按照一定的概率给报文携带ECN拥塞标记(ECN字段设置为11),以表示拥塞情况,上述标记过程由WRED功能完成,交换机将携带拥塞标记的报文转发给下一跳的网络设备。
第二网卡用于发送和接收业务报文,执行通知点算法,第二网卡在接收到交换机发送的标注有ECN拥塞标记的业务报文转换为CNP报文发送给第一网卡,以使第一网卡进行发送速率调节,在一种可能的实施方式中,发送端可以作为接收端,接收端可以作为发送端,从而第二网卡可以执行第一网卡的功能,第一网卡也可执行第二网卡的功能,对此本申请不作具体限定,具体实施过程此处不详细赘述。
上述本申请提供的拥塞控制***仅为一种可能的实施方式,发送端和接收端可以是本地数据中心服务器、无线通讯基站设备、个人终端通讯电子设备、智能化车辆以及其他配置有支持RDMA网关的设备等,第一网卡和第二网卡也可以独立地部署在拥塞控制***中,对此本申请不作具体限定。拥塞控制***还可以包括更多的交换机以及网关等部件,对此本申请不作具体限定。
当前,在第一网卡接收第二网卡发送的拥塞通知报文的情况下,第一网卡根据更新的降速因子和当前第一网卡向第二网卡发送业务报文的发送速率生成新的第一发送速率,其中,降速因子需要实时维护与更新,需要使用到乘法和额外的定时装置,硬件实现较为复杂,并且还需要一个额外的定时参数进行调试与维护,过程复杂。且上述方法采用启发式来猜测速率更新,通过迭代收敛到稳定的速率分布,这种迭代方法处理大规模拥塞事件的速度很慢。
因此,本申请提供一种网络拥塞调节方法,在第一网卡向第二网卡发送RDMA业务报文时,接收第二网卡发送的拥塞通知报文的情况下,通过固定的第一降速系数以及已生成的第一网卡向第二网卡发送业务报文的第一发送速率生成第一速率相比于当前根据DCQCN算法对发送速率进行调节的方法,去除了需要维护与更新的降速因子,降低了硬件实现难度和调试复杂度,简化了发送速率控制流程。
如图2所示,图2是本申请实施例提供的一种网络拥塞调节方法的流程图,该方法应用于图1所示的***中,该方法包括以下步骤。
步骤S210:第一网卡根据第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行升速维护,生成第二发送速率。
在第一网卡确定第一网卡发送RDMA业务报文至第二网卡未接收第二网卡发送的拥塞通知报文的情况下,第一网卡根据第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行升速维护,生成一个或者多个第二发送速率,并根据第二发送速率向第二网卡发送业务报文,其中,每个第二发送速率维持一个稳定的时间段。
在一种可能的实施方式中,第一网卡将生成的第二发送速率按照顺序记录在发送速率记录表中,如图3所示,图3是本申请实施例提供的一种发送速率记录表的示意图。
如图3中的(a)部分所示,自上一次接收CNP报文后,第一网卡根据第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率已经进行过三次升速维护,生成的三个第二发送速率分别为Rc_t1、Rc_t2和Rc_t3,每个第二发送速率对应一个稳定阶段。其中,Rc_t1是自上一次接收CNP报文后,第一网卡首次进行升速维护生成的第二发送速率,Rc_t3则是第一网卡最近一次升速维护生成的第二发送速率,第一网卡将新生成的第一网卡对第二网卡的第二发送速率Rc_t3记录到发送速率表中的最新位置,表中的多个第二发送速率按照时间顺序进行排序,发送速率记录表中最上面记录的为最新生成的第二发送速率。
之后,第一网卡根据第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行第四次升速维护,生成Rc_t4,在发送速率记录表中记录到Rc_t3的前面,更新发送速率记录表,具体如图3中的(b)部分所示。
在一种可能的实施方式中,本申请对发送速率记录表中保留的发送速率的数量不作具体限定,在第一网卡生成的第二发送速率的数量超过发送速率记录表最大记录数量的情况下,第一网卡按照时间顺序将最新生成的多个第二发送速率保留在发送速率记录表中,发送速率记录表中的第二发送速率可以用于在下一次第一网卡接收CNP报文时生成第一速率。
在一种可能的实施方式中,图3仅为本申请提供的一种可能的实施方式,第一网卡还可以通过其他方式对第二发送速率进行记录,对此本申请不作具体限定。
步骤S220:在接收第二网卡发送的拥塞通知报文的情况下,第一网卡根据第一发送速率以及第一降速系数生成第一速率。
在第一网卡接收第二网卡发送的CNP报文的情况下,第一网卡根据第一网卡向第二网卡发送业务报文的第一发送速率,以及第一降速系数生成第一速率。其中,第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个。
在一种可能的实施方式中,在第一网卡自上一次接收拥塞通知报文后,生成一个或者多个第二发送速率的情况下,第一网卡可以从发送速率记录表中获取第二发送速率,根据降速程度,从一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,并结合第一降速系数生成第一速率,其中,在降速程度越大的情况下,第一网卡选择的第二发送速率的生成时间越接近上一次接收第二网卡发送的拥塞通知报文的时间。
第一网卡根据降速程度的不同从已生成的第二发送速率选择一个作为第一发送速率,并结合固定的第一降速系数,可以更加简单、快速地确定第一速率,解决网络拥塞问题,去除现有计算过程中需要不断更新的降速因子,可以降低硬件实现难度以及调试复杂度。
在另一种可能的实施方式中,在第一网卡自上一次接收拥塞通知报文后,未对第一网卡向第二网卡发送业务报文的发送速率进行升速,发送速率记录表中不存在新生成的第二发送速率的情况下,第一网卡根据此次接收第二网卡发送的拥塞通知报文时对应的第一网卡向第二网卡发送业务报文的发送速率,以及第一降速系数或者第一降速系数的倍数,计算得到第一速率。其中,第一降速系数的倍数可以是双倍或者多倍,对此本申请不作具体限定。
第一网卡根据接收拥塞通知报文时对应的发送速率确定第一发送速率,并结合固定的第一降速系数,可以更加简单、快速地确定第一速率,在拥塞程度较高的情况下,还可以结合第一降速系数的倍数生成第一速率,从而快速地解决网络拥塞问题。第一网卡使用固定的第一降速系数或者第一降速系数的倍数进行第一速率的计算,相较于当前的DCQCN算法,去除了需要维护与更新的降速因子,降低了硬件实现难度和调试复杂度,可以简化发送速率控制流程。
S230:在未接收第二网卡发送的拥塞通知报文的情况下,第一网卡根据第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行升速维护。
在解决网络拥塞后,确定第一网卡发送RDMA业务报文至第二网卡时未接收第二网卡发送的拥塞通知报文的情况下,第一网卡根据第一拥塞控制策略对一网卡向第二网卡发送业务报文的发送速率进行升速维护,并将升速维护生成的第二发送速率记录到发送速率记录表中。
在一种具体的实施方式中,第一网卡在自上一次接收到CNP报文之后,根据DCQCN算法对第一网卡向第二网卡发送业务报文的发送速率进行升速操作,生成Rc_t1、Rc_t2和Rc_t3三个第二发送速率。在第一网卡按照Rc_t3向第二网卡发送业务报文时,第一网卡接收新的CNP报文。第一网卡选择Rc_t3作为第一发送速率,并根据选择的固定的第一降速系数1/256生成第一速率,并根据第一速率/>向第二网卡发送业务报文。在第一网卡按照第一速率/>向第二网卡发送业务报文之后,第一网卡再次接收CNP报文,此时,第一网卡根据第一速率/>以及固定的第一降速系数1/256的两倍,生成新的第一速率/>,并根据新的第一速率/>向第二网卡发送业务报文。在第一网卡按照新的第一速率/>向第二网卡发送业务报文之后,确定未接收第二网卡发送的拥塞通知报文的情况下,第一网卡在发送业务报文到达发包阈值,或者连续发送业务报文的时间到达时间阈值的情况下,第一网卡再次根据DCQCN算法对第一网卡向第二网卡发送业务报文的发送速率进行升速操作。
综上所述,本申请提供的一种网络拥塞调节方法,根据存储在发送速率记录表中的第二发送速率和第一降速系数,或者,根据接收CNP报文时对应的第一网卡向第二网卡发送业务报文的发送速率和第一降速系数,生成第一速率,相比于当前的DCQCN等算法可以快速地处理大规模拥塞情况,并且上述过程去除了需要实时更新维护的降速因子,不需要配置定时装置等硬件,降低了硬件实现难度以及调试复杂度,并且简化了发送速率的控制流程。
如图4所示,图4是本申请实施例提供的一种网络拥塞调节装置的结构示意图,该装置应用于图1所示的第一网卡,该网络拥塞调节装置400包括:接收模块410,拥塞调节模块420以及发送模块430。其中,接收模块410,用于接收第二网卡发送的拥塞通知报文;拥塞调节模块420,用于在接收模块接收第二网卡发送的拥塞通知报文的情况下,获取自上一次接收模块接收第二网卡发送的拥塞通知报文后,根据第一拥塞控制策略生成的一个或者多个第二发送速率;拥塞调节模块420,还用于根据降速程度,从一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,并结合第一降速系数生成第一速率,其中,第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个,降速程度越大,第一网卡选择的第二发送速率的生成时间越接近上一次接收第二网卡发送的拥塞通知报文的时间;拥塞调节模块420,还用于在未接收第二网卡发送的拥塞通知报文的情况下,通过第一拥塞控制策略对第一网卡向第二网卡发送业务报文的发送速率进行升降速维护,第一拥塞控制策略为数据中心量化拥塞通知DCQCN算法;其中,第一拥塞控制策略包括通过第一网卡和第二网卡之间的交换机检测网络路径是否发生拥塞,交换机在网络路径发生拥塞的情况下在业务报文上标注拥塞信息,第二网卡根据包含拥塞信息的业务报文返回拥塞通知报文至第一网卡,第一网卡通过DCQCN算法持续增加发送速率,或者,拥塞调节模块在接收模块接收拥塞通知报文的情况下根据DCQCN算法,确定降速因子,并根据降速因子对第一网卡向第二网卡发送业务报文的发送速率进行降速,其中,降速因子是不断更新的;发送模块430,用于根据第一速率或者第二速率向第二网卡发送业务报文。
接收模块410,用于接收第二网卡发送的拥塞通知报文,并将接收的报文发送给拥塞调节模块420,拥塞调节模块420,用于执行图2中的步骤S210~S230,发送模块430,用于根据拥塞调节模块确定的第一速率或者第二速率向第二网卡发送业务报文。
在一种可能的实施方式中,网络拥塞调节装置可以包括更多或者更少的模块,对此本申请不作具体限定。
如图5所示,图5是本申请实施例提供的一种具体的网络拥塞调节装置的结构示意图,该装置包括接收模块410、拥塞调节模块420以及发送模块430,其中,拥塞调节模块420包括发包计数单元421、发包计时单元422、速率记录单元423、速率计算单元424以及速率限制单元425。
其中,发包计数单元和发包计时单元用于在接收模块未接收到第二网卡发送的拥塞通知报文的情况下,对第一网卡向第二网卡发送业务报文的发送速率进行升速控制。例如,在发送模块发送业务报文的发包长度到达计数阈值,或者,连续发送业务报文的发包时间到达时间阈值的情况下,发包计数单元或者发包计时单元向速率计算单元发送通知,以使速率计算单元根据DCQCN算法对第一网卡向第二网卡发送业务报文的发送速率进行升速计算。
速率计算单元,用于升降速控制。在第一网卡发送RDMA业务报文至第二网卡时接收模块未接收到第二网卡发送的拥塞通知报文的情况下,速率计算单元在接收到发包计数单元或者发包计时单元的通知的情况下,对第一网卡向第二网卡发送业务报文的发送速率进行升速操作,得到一个或者多个第二发送速率,并将第二发送速率发送给速率记录单元以及速率限制单元。
速率记录单元,用于将速率计算单元生成的一个或者多个第二发送速率记录到发送速率记录表中。
速率计算单元,还用于在接收模块接收到第二网卡发送的拥塞通知报文的情况下,从速率记录单元的按时速率记录表中选取某个第二发送速率作为第一发送速率,并结合固定的第一降速系数生成第一速率。在速率记录单元中不存在自上一次接收第二网卡发送的拥塞通知报文后新生成的第二发送速率的情况下,速率计算单元可以根据此次接收第二网卡发送的拥塞通知报文时对应的第一网卡向第二网卡发送业务报文的发送速率以及固定的第一降速系数的倍数生成第一速率。在生成第一速率后,速率计算单元将第一速率发送给速率限制单元。
速率限制单元,用于根据速率计算单元更新的第一速率或者第二发送速率,控制发送模块发送业务报文的速率。
在一种可能的实施方式中,图5所示的网络拥塞调节装置仅为本申请实施例提供的一种可能的实现方式,接收模块、拥塞调节模块以及发送模块中还可以包括更多或者更少的单元,对此本申请不作具体限定。
如图6所示,图6是本申请实施例提供的一种计算设备的结构示意图,可以应用于图1所示***中的第一网卡,该计算设备600包括处理器610、存储器620、通信接口630以及总线640。其中,处理器、存储器、通信接口可以通过内部总线相互连接也可以通过无线传输等手段实现通信。
处理器610可以由至少一个通用处理器构成,例如中央处理器(centralprocessing unit, CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit, ASIC)、可编程逻辑器件(programmablelogic device, PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device, CPLD)、现场可编程逻辑门阵列(field-programmable gatearray, FPGA)、通用阵列逻辑(generic array logic, GAL)或其任意组合。处理器610用于执行各种类型的数字存储指令。处理器可以通过执行相应的指令,实现图2所示的图中的任意步骤。
存储器620可以是易失性存储器(volatile memory),例如随机存取存储器(random access memory, RAM)、动态随机存储器(dynamic RAM, DRAM)、静态随机存储器(static RAM, SRAM)、同步动态随机存储器(synchronous dynamic RAM, SDRAM)、双倍速率同步动态随机存储器(double data rate RAM, DDR)、高速缓存(cache)等等,存储器还可以包括上述种类的组合。存储器620中可以包括程序以及数据,处理器610通过执行程序代码可以执行图2中的步骤,存储器还可以存储发送业务报文的数量以及各个业务报文对应的时间点,接收拥塞通知报文的数量以及各个拥塞通知报文对应的时间点等等。
通信接口630可以用于实现数据交互,例如,第一网卡将业务报文发送给第二网卡等,本申请对此不作具体限定。
需要说明的,图6仅仅是本申请实施例的一种可能的实现方式,实际应用中,计算设备还可以包括更多或更少的部件,这里不作限制。
本申请实施例,还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在处理器上运行时,图2所示的方法流程得以实现。
本申请实施例,还提供一种计算机程序产品,当计算机程序产品在处理器上运行时,图2所示的方法流程得以实现。
在计算机上加载或执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。
计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含至少一个可用介质集合的服务器、数据中心等数据存储节点。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc, DVD)、或者半导体介质)。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种网络拥塞调节方法,其特征在于,应用于第一网卡向第二网卡发送远程直接内存访问业务报文的过程,所述方法包括:
在所述第一网卡接收所述第二网卡发送的拥塞通知报文的情况下,所述第一网卡获取自上一次接收所述第二网卡发送的拥塞通知报文后,根据第一拥塞控制策略生成的一个或者多个第二发送速率,其中,所述第二发送速率是在所述第一网卡向所述第二网卡发送业务报文的发包长度到达计数阈值,或者,连续发送业务报文的发包时间到达时间阈值的情况下生成的,并由所述第一网卡按照生成的时间顺序,记录在发送速率记录表中;
所述第一网卡根据降速程度,从所述一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,根据所述第一发送速率和第一降速系数生成第一速率,其中,所述第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个,所述降速程度越大,所述第一网卡选择的所述第二发送速率的生成时间越接近上一次接收所述第二网卡发送的拥塞通知报文的时间;
在所述第一网卡未接收所述第二网卡发送的拥塞通知报文的情况下,所述第一网卡通过所述第一拥塞控制策略对所述第一网卡向所述第二网卡发送业务报文的发送速率进行升速维护,所述第一拥塞控制策略为数据中心量化拥塞通知DCQCN算法,其中,所述第一拥塞控制策略包括通过所述第一网卡和所述第二网卡之间的交换机检测网络路径是否发生拥塞,所述交换机在所述网络路径发生拥塞的情况下在所述业务报文上标注拥塞信息,所述第二网卡根据包含所述拥塞信息的所述业务报文返回拥塞通知报文至所述第一网卡,所述第一网卡通过所述DCQCN算法持续增加发送速率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一网卡未获取到自上一次接收所述第二网卡发送的拥塞通知报文后,根据所述第一拥塞控制策略生成的所述一个或者多个第二发送速率的情况下,所述第一网卡确定接收所述第二网卡发送的拥塞通知报文时对应的所述第一网卡向所述第二网卡发送业务报文的发送速率为所述第一发送速率,并结合所述第一降速系数,或者结合所述第一降速系数的倍数,生成第一速率。
3.一种网络拥塞调节装置,应用于向第二网卡发送远程直接内存访问业务报文的第一网卡,其特征在于,所述装置包括接收模块,拥塞调节模块以及发送模块:
所述接收模块,用于接收所述第二网卡发送的拥塞通知报文;
所述拥塞调节模块,用于在所述接收模块接收所述第二网卡发送的拥塞通知报文的情况下,获取自上一次所述接收模块接收所述第二网卡发送的拥塞通知报文后,根据第一拥塞控制策略生成的一个或者多个第二发送速率,其中,所述第二发送速率是在所述第一网卡向所述第二网卡发送业务报文的发包长度到达计数阈值,或者,连续发送业务报文的发包时间到达时间阈值的情况下生成的,并由所述第一网卡按照生成的时间顺序,记录在发送速率记录表中;
所述拥塞调节模块,还用于根据降速程度,从所述一个或者多个第二发送速率中选择一个第二发送速率为第一发送速率,根据所述第一发送速率和第一降速系数生成第一速率,其中,所述第一降速系数固定,包括1/256、1/128、1/64中的任意一个或多个,所述降速程度越大,所述第一网卡选择的所述第二发送速率的生成时间越接近上一次接收所述第二网卡发送的拥塞通知报文的时间;
所述拥塞调节模块,还用于在未接收所述第二网卡发送的拥塞通知报文的情况下,通过所述第一拥塞控制策略对所述第一网卡向所述第二网卡发送业务报文的发送速率进行升速维护,所述第一拥塞控制策略为数据中心量化拥塞通知DCQCN算法,其中,所述第一拥塞控制策略包括通过所述第一网卡和所述第二网卡之间的交换机检测网络路径是否发生拥塞,所述交换机在所述网络路径发生拥塞的情况下在所述业务报文上标注拥塞信息,所述第二网卡根据包含所述拥塞信息的所述业务报文返回拥塞通知报文至所述第一网卡,所述第一网卡通过所述DCQCN算法持续增加发送速率;
所述发送模块,用于根据所述第一速率向所述第二网卡发送业务报文。
4.根据权利要求3所述的装置,其特征在于,所述拥塞调节模块具体用于:
在未获取到自上一次接收所述拥塞通知报文后,根据所述第一拥塞控制策略生成的所述一个或者多个第二发送速率的情况下,确定所述接收模块接收所述拥塞通知报文时对应的所述第一网卡向所述第二网卡发送业务报文的发送速率为所述第一发送速率,并结合所述第一降速系数,或者结合所述第一降速系数的倍数,生成第一速率。
5.一种计算设备,其特征在于,应用于第一网卡,所述计算设备包括处理器和存储器,所述存储器存储计算机程序,所述处理器执行所述计算机程序,以使所述计算设备执行如权利要求1至2任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序在计算设备上运行时,使所述计算设备执行如权利要求1至2任一项所述的方法,所述计算设备应用于第一网卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311169058.4A CN116915722B (zh) | 2023-09-12 | 2023-09-12 | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311169058.4A CN116915722B (zh) | 2023-09-12 | 2023-09-12 | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116915722A CN116915722A (zh) | 2023-10-20 |
CN116915722B true CN116915722B (zh) | 2023-12-19 |
Family
ID=88360599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311169058.4A Active CN116915722B (zh) | 2023-09-12 | 2023-09-12 | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915722B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039936A (zh) * | 2018-08-30 | 2018-12-18 | 华为技术有限公司 | 传输速率控制方法、装置、发送设备和接收设备 |
CN109218222A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种实现发送端调速的方法、装置和*** |
CN109905326A (zh) * | 2019-03-26 | 2019-06-18 | 武汉大学 | 一种基于拥塞程度因子的速率下降参数优化方法 |
WO2019169556A1 (zh) * | 2018-03-06 | 2019-09-12 | 华为技术有限公司 | 一种报文发送的方法、装置和存储设备 |
CN110572333A (zh) * | 2019-10-25 | 2019-12-13 | 中南大学 | 一种带宽探测阶段的发送速率调整方法及拥塞控制算法 |
CN113300974A (zh) * | 2020-07-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
CN116489106A (zh) * | 2023-06-21 | 2023-07-25 | 新华三技术有限公司 | 一种拥塞控制方法、装置、转发芯片及客户端 |
CN116527593A (zh) * | 2023-07-03 | 2023-08-01 | 珠海星云智联科技有限公司 | 网络流量拥塞控制方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120896B (zh) * | 2019-04-15 | 2020-12-25 | 北京达佳互联信息技术有限公司 | 网络延迟控制方法、装置、电子设备及存储介质 |
-
2023
- 2023-09-12 CN CN202311169058.4A patent/CN116915722B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218222A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种实现发送端调速的方法、装置和*** |
WO2019169556A1 (zh) * | 2018-03-06 | 2019-09-12 | 华为技术有限公司 | 一种报文发送的方法、装置和存储设备 |
CN109039936A (zh) * | 2018-08-30 | 2018-12-18 | 华为技术有限公司 | 传输速率控制方法、装置、发送设备和接收设备 |
CN109905326A (zh) * | 2019-03-26 | 2019-06-18 | 武汉大学 | 一种基于拥塞程度因子的速率下降参数优化方法 |
CN110572333A (zh) * | 2019-10-25 | 2019-12-13 | 中南大学 | 一种带宽探测阶段的发送速率调整方法及拥塞控制算法 |
CN113300974A (zh) * | 2020-07-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
CN116489106A (zh) * | 2023-06-21 | 2023-07-25 | 新华三技术有限公司 | 一种拥塞控制方法、装置、转发芯片及客户端 |
CN116527593A (zh) * | 2023-07-03 | 2023-08-01 | 珠海星云智联科技有限公司 | 网络流量拥塞控制方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
基于RTT的TCP拥塞控制慢启动改进算法;周冬平;赵奎;;计算机与现代化(12);第28-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116915722A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11646967B2 (en) | Packet control method and network apparatus | |
US10057150B2 (en) | Managing communication congestion for internet of things devices | |
EP3780542B1 (en) | Data transmission method and device | |
US20170187625A1 (en) | Managing communication congestion for internet of things devices | |
US20170187642A1 (en) | Managing communication congestion for internet of things devices | |
US11888744B2 (en) | Spin-leaf network congestion control method, node, system, and storage medium | |
CN111107017A (zh) | 一种交换机报文拥塞的处理方法、设备以及存储介质 | |
CN111935031B (zh) | 一种基于ndn架构的流量优化方法及*** | |
CN109660467A (zh) | 用于控制流量的方法和装置 | |
CN113328953B (zh) | 网络拥塞调整的方法、装置和存储介质 | |
CN111683017A (zh) | 高速互连网络中的多等级拥塞控制方法、装置、***及介质 | |
CN116915722B (zh) | 一种网络拥塞调节方法、装置、计算设备及可读存储介质 | |
CN101848132A (zh) | 流量统计装置及方法 | |
CN112383486A (zh) | 基于租约的分布式对象存储服务质量保证方法及*** | |
CN115277504B (zh) | 一种网络流量监控方法、装置和*** | |
CN116915721B (zh) | 一种拥塞控制方法、装置、计算设备及可读存储介质 | |
EP4340320A1 (en) | Communication method, device and system | |
CN113497718B (zh) | 报文处理设备及报文处理方法 | |
US9678881B2 (en) | Data distribution device and data distribution method | |
CN112312467A (zh) | 一种网络传输控制方法及装置 | |
CN111585894A (zh) | 一种基于权重计算的网络路由方法及装置 | |
US20200244580A1 (en) | Automated recovery from network traffic congestion | |
US20230328577A1 (en) | Adaptive wireless packet filtering control | |
KR20190063703A (ko) | 사이버 물리 시스템의 전자 장치 및 제어 방법 | |
TWI845172B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |