CN113438181B - 网络拥塞控制方法和装置 - Google Patents

网络拥塞控制方法和装置 Download PDF

Info

Publication number
CN113438181B
CN113438181B CN202110990543.2A CN202110990543A CN113438181B CN 113438181 B CN113438181 B CN 113438181B CN 202110990543 A CN202110990543 A CN 202110990543A CN 113438181 B CN113438181 B CN 113438181B
Authority
CN
China
Prior art keywords
network
last
congestion
window
network congestion
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
Application number
CN202110990543.2A
Other languages
English (en)
Other versions
CN113438181A (zh
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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110990543.2A priority Critical patent/CN113438181B/zh
Publication of CN113438181A publication Critical patent/CN113438181A/zh
Application granted granted Critical
Publication of CN113438181B publication Critical patent/CN113438181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种网络拥塞控制方法和装置,其中,该方法包括:确定目标网络是否发生网络拥塞;在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。通过上述方式解决了现有的网络拥塞的实现成本较高且延迟较大的问题,达到了了高效低延迟且成本较低的拥塞控制的技术效果。

Description

网络拥塞控制方法和装置
技术领域
本申请属于数据存储技术领域,尤其涉及一种网络拥塞控制方法和装置。
背景技术
数据中心主要用于不同类型的高性能计算和分布式数据存储服务中,这些使用场景的扩展,都给数据中心带来很大的压力,需要提供一种在低成本前提下提供更快的吞吐量和极低的延迟的方式。更具体地说,随着在数据中心部署高速I/O存储介质的趋势,例如:非易失性内存主机控制器接口规范(NonVolatile Memory Express,NVMe),存储速度和访问延迟都得到了显著的改善。因此,数据中心越来越适合承载对计算和存储容量有巨大需求的应用,例如:数据挖掘、大规模机器学习等。
然而,为了充分利用数据中心的分布式高速计算和存储资源,网络协议栈需要保证分布式节点之间的高吞吐量和微秒级的通信延迟,否则通信延迟将成为应用的瓶颈。现有的TCP/IP网络协议栈一般会有大量的软硬件开销,CPU需要花费大量的时间管理写密集型工作负载的数据传输,降低了这些任务的整体性能。为了解决这个问题,RDMA技术在数据中心网络中开始得到广泛的应用。RDMA(Remote Direct Memory Access,远程直接数据存取)网卡的直接连接减少了CPU在数据传输过程中的参与。同时,结合NVMe等快速存储介质,RDMA可以将端到端的通信延迟从毫秒级降低到微秒级。
面对高性能计算、大数据分析、低时延应用,现有的TCP/IP软件协议栈由于较高的CPU开销根本无法满足这些应用的需求。这主要体现在过大的处理时延:内核态与用户态之间的多次内存拷贝、上下文切换、复杂的TCP/IP协议处理,以及分组交换技术使用的存储转发模式导致的额外延时。RDMA技术可以降低数据中心网络的传输时延,提高数据包传输效率,RDMA允许用户态的应用程序直接读取和写入远程主机上的内存,而无需远端CPU的介入,并且可以绕过内核直接向网卡写数据,实现了高吞吐量、超低时延和低CPU开销的目的。然而,如何将RDMA与现有的以太网融合是一个巨大的挑战,RDMA技术给数据中心网络交换体系带来了新的变化,为了适应这种变化,需要解决很多的问题,例如:设计新型的高效低延迟拥塞控制算法等。
针对如何进行高效低延迟且成本较低的拥塞控制,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种网络拥塞控制方法和装置,以实现高效低延迟且成本较低的拥塞控制。
本申请提供一种网络拥塞控制方法和装置是这样实现的:
一种网络拥塞控制方法,所述方法包括:
确定目标网络是否发生网络拥塞;
在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。
在一个实施方式中,确定目标网络是否发生网络拥塞,包括:
获取连续预定数量个连接的测量单向时延;
在连续预定数量个连接的测量单向时延都满足如下不等式的情况下,确定发生网络拥塞:
Figure DEST_PATH_IMAGE001
其中,
Figure DEST_PATH_IMAGE002
表示连接i的基本时延,
Figure 100002_DEST_PATH_IMAGE003
表示连接i的测量单向时延。
在一个实施方式中,确定网络拥塞是否发生在最后一跳,包括:
获取上一周期所有连接的接收字节数;
获取上一周期最后一跳的预期链路利用率;
获取上一周期最后一跳的带宽;
在上一周期所有连接的接收字节数、上一周期最后一跳的预期链路利用率、上一周期最后一跳的带宽满足如下公式的情况下,确定网络拥塞发生在最后一跳:
Figure DEST_PATH_IMAGE004
其中,
Figure 100002_DEST_PATH_IMAGE005
表示上一周期所有连接的接收字节数,
Figure DEST_PATH_IMAGE006
表示连接i的基本时延,u表示上一周期最后一跳的预期链路利用率,
Figure 100002_DEST_PATH_IMAGE007
,c表示上一周期最后一跳的带宽。
在一个实施方式中,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制,包括:
计算控制因子;
通过所述控制因子,调整发送窗口的大小。
在一个实施方式中,计算控制因子,包括:
按照如下公式计算控制因子:
Figure DEST_PATH_IMAGE008
其中,
Figure 100002_DEST_PATH_IMAGE009
表示控制因子,
Figure 100002_DEST_PATH_IMAGE011
表示误差值,
Figure 100002_DEST_PATH_IMAGE013
表示设定时延,
Figure DEST_PATH_IMAGE014
Figure 100002_DEST_PATH_IMAGE015
,其中,
Figure 532829DEST_PATH_IMAGE006
表示连接i的基本时延,
Figure DEST_PATH_IMAGE016
表示连接i的测量单向时延,
Figure 100002_DEST_PATH_IMAGE017
表示允许排队造成的拥塞程度,t表示时间,
Figure DEST_PATH_IMAGE018
表示比例项的参数,
Figure DEST_PATH_IMAGE019
表示微分项的参数。
在一个实施方式中,通过所述控制因子,调整发送窗口的大小,包括:
在控制因子大于0的情况下,确定网内数据包大于网络容量,执行乘性窗口递减;
在控制因子小于0的情况下,确定网络有可用带宽,执行乘性窗口递增。
在一个实施方式中,通过所述控制因子,调整发送窗口的大小,包括:
根据所述控制因子,按照如下公式,调整发送窗口的大小:
Figure DEST_PATH_IMAGE020
其中,
Figure DEST_PATH_IMAGE021
表示当前周期的发送窗口大小,
Figure DEST_PATH_IMAGE022
表示上一周期的发送窗口大小,
Figure 100002_DEST_PATH_IMAGE023
表示控制因子。
在一个实施方式中,在确定网络拥塞发生在最后一跳之后,还包括:
获取上一周期各数据包的头部信息字段;
根据所述各数据包的头部信息字段确定上一周期的第一个数据包和最后一个数据包;
根据确定的第一个数据包和最后一个数据包,确定目标网络中的活跃连接数;
通过最后一跳的带宽和活跃连接数的比值,计算每个活跃连接的拥塞窗口;
将计算得到的拥塞窗口通过确认数据包传递给发送端。
一种网络拥塞控制装置,包括:
第一确定模块,用于确定目标网络是否发生网络拥塞;
第二确定模块,用于在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
调整模块,用于在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法的步骤。
本申请提供的网络拥塞控制方法和装置,在确定目标网络发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。通过上述方式解决了现有的网络拥塞的实现成本较高且延迟较大的问题,达到了了高效低延迟且成本较低的拥塞控制的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的网络拥塞控制方法一种实施例的方法流程图;
图2是本申请提供的一种网络拥塞控制装置方法的电子设备的硬件结构框图;
图3是本申请提供的网络拥塞控制装置一种实施例的模型结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请提供的网络拥塞控制方法一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
如图1所示,上述的网络拥塞控制方法可以包括如下步骤:
步骤101:确定目标网络是否发生网络拥塞;
步骤102:在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
步骤103:在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。
在上例中,在确定目标网络发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。通过上述方式解决了现有的网络拥塞的实现成本较高且延迟较大的问题,达到了了高效低延迟且成本较低的拥塞控制的技术效果目的。
具体的,考虑到数据中心网络中的许多流都是极短的,也许只包含几个数据包,且每个连接都以线速开始。因此,这些极短的流量可能会产生短暂的高
Figure DEST_PATH_IMAGE024
。如果直接使用
Figure 100002_DEST_PATH_IMAGE025
来检测网络拥塞,一旦瞬时
Figure 381443DEST_PATH_IMAGE024
大于
Figure DEST_PATH_IMAGE026
,就减少所有连接的拥塞窗口,那么网络带宽就有可能出现利用率不足的问题。针对该问题,考虑到可以用n个连续的
Figure 377212DEST_PATH_IMAGE024
值来推断网络拥塞是否发生。为此,在确定目标网络是否发生网络拥塞的时候,可以通过如下方式确定:
S1:获取连续预定数量个连接的测量单向时延;
S2:在连续预定数量个连接的测量单向时延都满足如下不等式的情况下,确定发生网络拥塞:
Figure 100002_DEST_PATH_IMAGE027
其中,
Figure DEST_PATH_IMAGE028
表示连接i的基本时延,
Figure DEST_PATH_IMAGE029
表示连接i的测量单向时延。
在确定存在网络拥塞的情况下,可以确定拥塞的类型,例如,可以按照如下方式确定网络拥塞是否发生在最后一跳:获取上一周期所有连接的接收字节数;获取上一周期最后一跳的预期链路利用率;获取上一周期最后一跳的带宽;在上一周期所有连接的接收字节数、上一周期最后一跳的预期链路利用率、上一周期最后一跳的带宽满足如下公式的情况下,确定网络拥塞发生在最后一跳:
Figure DEST_PATH_IMAGE030
其中,
Figure DEST_PATH_IMAGE031
表示上一周期所有连接的接收字节数,
Figure DEST_PATH_IMAGE032
表示连接i的基本时延,u表示上一周期最后一跳的预期链路利用率,
Figure DEST_PATH_IMAGE033
, c表示上一周期最后一跳的带宽。
在实现的时候,通过PID控制器(偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器)对发送窗口进行动态调整,以进行拥塞控制,可以先计算控制因子,然后通过所述控制因子,调整发送窗口的大小。
对于控制因子,可以按照如下公式计算:
Figure DEST_PATH_IMAGE034
其中,
Figure DEST_PATH_IMAGE035
表示控制因子,
Figure 235578DEST_PATH_IMAGE011
表示误差值,
Figure 933186DEST_PATH_IMAGE013
表示设定时延,
Figure DEST_PATH_IMAGE036
Figure DEST_PATH_IMAGE037
,其中,
Figure DEST_PATH_IMAGE038
表示连接i的基本时延,
Figure DEST_PATH_IMAGE039
表示连接i的测量单向时延,
Figure DEST_PATH_IMAGE040
表示允许排队造成的拥塞程度,t表示时间,
Figure DEST_PATH_IMAGE041
表示比例项的参数,
Figure DEST_PATH_IMAGE042
表示微分项的参数。
在通过控制因子调整发送窗口的大小的时候,可以是按照如下逻辑调整的:在控制因子大于0的情况下,确定网内数据包大于网络容量,执行乘性窗口递减;在控制因子小于0的情况下,确定网络有可用带宽,执行乘性窗口递增。
具体的,根据控制因子,可以按照如下公式,调整发送窗口的大小:
Figure DEST_PATH_IMAGE043
其中,
Figure DEST_PATH_IMAGE044
表示当前周期的发送窗口大小,
Figure DEST_PATH_IMAGE045
表示上一周期的发送窗口大小,
Figure DEST_PATH_IMAGE046
表示控制因子。
在实际实现的时候,在确定网络拥塞发生在最后一跳之后,可以通过显式窗口分配进行拥塞控制,具体的,可以获取上一周期各数据包的头部信息字段;根据所述各数据包的头部信息字段确定上一周期的第一个数据包和最后一个数据包;根据确定的第一个数据包和最后一个数据包,确定目标网络中的活跃连接数;通过最后一跳的带宽和活跃连接数的比值,计算每个活跃连接的拥塞窗口;将计算得到的拥塞窗口通过确认数据包传递给发送端。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在数据中心部署RDMA对数据中心网络提出了巨大的挑战。受限于网卡的硬件资源,目前的RDMA拥塞控制依靠简单的GoBackN方法来恢复丢失的数据包。一旦丢包率变高,RDMA连接的性能将快速下降。因此,需要采用PFC(Priority-based Flow Control)机制来保证无损以太网,然而PFC可能会带来PFC死锁和PFC暂停帧风暴等问题。
拥塞控制的目标是有效分配拥塞链路的带宽,主要的实现难点在于终端主机不容易获得准确的网络状况信息。现有的RDMA拥塞控制机制大多采用ECN(ExplicitCongestion Notification)标记或RTT等各种指标来检测网络状况。然后,基于迭代式窗口调整方案来解决网络拥塞问题。为了实现更快的收敛速度和更低的时延,HPCC提出利用带内网络遥测(InbandNetwork Telemetry,INT)技术获取准确的网络状况信息,然后在发送端精确控制拥塞窗口。但是,如果交换机不支持INT功能,HPCC将无法部署在数据中心网络中。
在本例中,提出了一种RDMA拥塞控制算法,通过区分网络拥塞类型,采用显式窗口分配和基于PID的拥塞控制,分别解决最后一跳拥塞和网内拥塞的问题。本例所提供的RDMA拥塞控制算法,可以同时实现高吞吐量、接近零的排队延迟、快速收敛和公平性;且不需要额外的网内功能,因此可以很容易地在当前数据中心中部署;对每个RDMA连接只需要少量的额外内存,这使得RDMA拥塞控制的硬件实现开销很小。
具体的,本例提供的RDMA拥塞控制算法,其框架可以包括:拥塞类型区分、显式窗口分配(Explicit Window Assignment)和基于PID的迭代调整(PIDbasedIterativeAdjustment)。每条数据流都以线速开始,每个数据包都有一个时间戳字段来表示数据包的发送时间。例如:接收端利用数据包到达时间减去发送时间戳来计算链路单向时延,此外,如果数据包属于一个新流或者是旧流的最后一个数据包,那么接收端将更新活跃流的数量并计算新的公平份额。
如果一条数据流处于基于PID的拥塞控制中,那么它将一直保持这种状态直到结束,这是因为在高速数据中心网络中,大多数流量都很短,在显式窗口分配和基于PID的拥塞控制之间的切换可能会导致网络中的队列振荡,而且,基于PID的拥塞控制结果会受到显式窗口分配的限制,最后一跳拥塞不会再次发生。否则,接收端利用单向延时和其他信息来判断是否发生网内拥塞。如果网内拥塞没有发生,接收端根据公平份额显式分配发送窗口。对于网内拥塞,接收端利用基于PID的拥塞控制机制调整发送窗口,并将发送窗口的上界设置为公平份额。发送窗口调整后,接收端通过ACK包将此信息携带回发送端。发送端在收到每个ACK包后,根据相应的字段调整发送窗口。
上述的RDMA拥塞控制算法,可以按照如下代码实现:
输入:数据包pkt
输出:发送窗口cwnd
rtt = CalculateRTT(pkt)
num = UpdateFlowNumber(pkt)
fair_share = ExplicitWindowAssignment(num)
IF flow already in PID-based congestion control THEN
cwnd = PIDControl(rtt, fair_share)
RETURN
END IF
IF RX rate >= NIC speed * u THEN
cwnd = fair_share
ELSE
in_network = CongestionDetection(rtt)
IF in_network == TRUE THEN
cwnd = PIDControl(rtt, fair_share)
ELSE
cwnd = fair_share
END IF
END IF
具体的,拥塞类型区分可以包括:
S1:检测网络拥塞,在本例的RDMA拥塞控制算法中,每个数据包的头部都带有发送时间戳。接收端在接收到一个数据包后,可以获得相应连接的实时单向延时。假设发送端和接收端的时钟是同步的。
Figure DEST_PATH_IMAGE047
Figure DEST_PATH_IMAGE048
分别代表连接i的基本时延和测量的单向时延。那么,可以利用
Figure 701553DEST_PATH_IMAGE048
Figure 68556DEST_PATH_IMAGE047
之间的差值来推断网络拥塞是否发生。如果
Figure 866747DEST_PATH_IMAGE048
Figure 331227DEST_PATH_IMAGE047
之间的差值超过某个阈值,那么就会减少该连接的拥塞窗口。
然而,数据中心网络中的许多流都是极短的,也许只包含几个数据包,且每个连接都以线速开始。因此,这些极短的流量可能会产生短暂的高
Figure 531264DEST_PATH_IMAGE048
。如果直接使用
Figure 72098DEST_PATH_IMAGE048
来检测网络拥塞,一旦瞬时
Figure 92007DEST_PATH_IMAGE048
大于
Figure 625756DEST_PATH_IMAGE047
,就减少所有连接的拥塞窗口,那么网络带宽就有可能出现利用率不足的问题。针对该问题,考虑到可以用n个连续的
Figure 680300DEST_PATH_IMAGE048
值来推断网络拥塞是否发生。例如:如果n个连续的
Figure 126456DEST_PATH_IMAGE048
值满足下面的不等式:
Figure DEST_PATH_IMAGE049
那么可以推断出发生了网络拥塞,
其中,
Figure DEST_PATH_IMAGE050
表示允许排队造成的拥塞程度。
Figure 164819DEST_PATH_IMAGE050
的值决定了吞吐量和网络延时之间的权衡。如果
Figure 236680DEST_PATH_IMAGE050
太高,就会允许更高的排队时延,那么端到端时延也会相应增加,如果
Figure 896463DEST_PATH_IMAGE050
太小,那么发送窗口将受到不必要的减少,从而导致网络利用率不足。
S2:确定拥塞类型:
首先,计算上一轮所有连接的接收字节数,
Figure DEST_PATH_IMAGE051
。计算周期设置为
Figure 559525DEST_PATH_IMAGE047
。将
Figure DEST_PATH_IMAGE052
代表最后一跳的预期链路利用率。如果
Figure DEST_PATH_IMAGE053
,那么可以推断最后一跳的带宽已经被充分利用,其中,c表示最后一跳的带宽。因此,网络拥塞发生在最后一跳。否则,拥塞就发生在其他地方。
具体的,显式窗口分配可以包括:
S1:计算消息的数量N:与面向流的TCP协议不同,RDMA是一个面向消息的协议。因此,可以很容易地根据IB BTH(InfiniBand Basic Transport Header)中的开始/结束标记来计算正在传输的消息数量。例如,在一个RDMA Write操作中,第一个数据包将BTH头中的opcode字段设置为RDMA Write First;消息的最后一个数据包的opcode设置为RDMA WriteLast或RDMA Write LastWith Immediate。因此,可以通过检查每个数据包的opcode字段来准确跟踪RDMA网络中的活跃连接数。同样,也可以统计其他RDMA操作中产生的消息数量。
S2:计算带宽公平分配份额:接收端为每个连接i计算拥塞窗口,
Figure DEST_PATH_IMAGE054
。这个计算值将通过ACK包传递给发送端。通过结合perACK窗口调整和数据包pacing来解决Incast场景中大量突发流造成的拥塞问题。在Incast场景中传递给发送端的不恰当的较大窗口只会持续很短的时间,即连续两个ACK包之间的时间。此外,发送端的网卡利用数据包pacing来增加所有流的连续数据包之间的发送间隔。通过这些机制,每个携带较大窗口信息的ACK包只能触发少量的额外数据包。相应地,Incast流的整体发送速率也就不会造成过大的网内瞬时排队。
具体的,基于PID的拥塞控制可以包括:
对于网内拥塞,本例的RDMA拥塞控制算法使用PID控制器来控制发送窗口的动态变化。控制器根据估计的时延不断调整窗口,以匹配设定的
Figure DEST_PATH_IMAGE055
Figure 692042DEST_PATH_IMAGE055
决定了带宽利用率和稳态队列长度之间的权衡。它应该比
Figure DEST_PATH_IMAGE056
稍大一些,而比拥塞情况下的RTT值小一些。因此,设定:
Figure DEST_PATH_IMAGE057
其中,
Figure DEST_PATH_IMAGE058
表示允许排队造成的拥塞程度。
S1:计算控制因子:如图2所示,本例的RDMA拥塞控制可以通过PID的拥塞控制算法来处理网络内的拥塞。
接收端计算连接i实际测量
Figure DEST_PATH_IMAGE059
Figure DEST_PATH_IMAGE060
之间的差值
Figure DEST_PATH_IMAGE061
,即:
Figure DEST_PATH_IMAGE062
为了计算用于调整发送窗口的控制因子
Figure DEST_PATH_IMAGE063
,控制器需要使用基于比例、积分和导数项的修正。在本例的RDMA拥塞控制算法中,积分项的参数
Figure DEST_PATH_IMAGE064
设置为0。
整体控制函数为:
Figure DEST_PATH_IMAGE065
比例项提供了对误差值
Figure DEST_PATH_IMAGE066
的瞬时响应,而导数项是对
Figure 131376DEST_PATH_IMAGE066
未来趋势的估计。比例项可以保证基于PID的拥塞控制机制可以收敛到固定点。然后,利用导数项来实现快速收敛。最后,通过适当设置这两项的参数,本例的RDMA拥塞控制算法可以维持网络中接近零的稳态队列,而不对其他性能指标做出任何妥协。
S2:计算发送窗口:本例的RDMA拥塞控制算法使用控制因子
Figure DEST_PATH_IMAGE067
来调整流量的发送窗口。如果
Figure 894932DEST_PATH_IMAGE067
大于零,说明网内数据包大于网络容量,本例的RDMA拥塞控制算法将执行乘性窗口递减,如果
Figure 679961DEST_PATH_IMAGE067
小于零,表示网络有可用带宽,RCC将执行乘性窗口递增。使用
Figure DEST_PATH_IMAGE068
函数将
Figure 958496DEST_PATH_IMAGE067
映射到
Figure DEST_PATH_IMAGE069
。窗口大小使用
Figure DEST_PATH_IMAGE070
进行缩放,如下所示:
Figure DEST_PATH_IMAGE071
由于上述整体控制函数中的导数项,当窗口变大时,窗口大小的增量将逐渐减小,消除了纯乘性增减算法造成的不公平。
通过本例的RDMA拥塞控制算法,可以同时实现高吞吐量、接近零的排队延迟、快速收敛和公平性;不需要额外的网内功能,因此可以很容易地在当前数据中心中部署;对每个RDMA连接只需要少量的额外内存,硬件实现开销很小。
本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图2是本申请提供的一种网络拥塞控制方法的电子设备的硬件结构框图。如图2所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器04可用于存储应用软件的软件程序以及模块,如本申请实施例中的网络拥塞控制方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的网络拥塞控制方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在软件层面,上述网络拥塞控制装置可以如图3所示,包括:
第一确定模块301,用于确定目标网络是否发生网络拥塞;
第二确定模块302,用于在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
调整模块303,用于在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。
在一个实施方式中,上述第一确定模块301具体可以获取连续预定数量个连接的测量单向时延;在连续预定数量个连接的测量单向时延都满足如下不等式的情况下,确定发生网络拥塞:
Figure DEST_PATH_IMAGE072
其中,
Figure DEST_PATH_IMAGE073
表示连接i的基本时延,
Figure DEST_PATH_IMAGE074
表示连接i的测量单向时延。
在一个实施方式中,上述第二确定模块302具体可以用于获取上一周期所有连接的接收字节数;获取上一周期最后一跳的预期链路利用率;获取上一周期最后一跳的带宽;在上一周期所有连接的接收字节数、上一周期最后一跳的预期链路利用率、上一周期最后一跳的带宽满足如下公式的情况下,确定网络拥塞发生在最后一跳:
Figure DEST_PATH_IMAGE075
其中,
Figure DEST_PATH_IMAGE076
表示上一周期所有连接的接收字节数,
Figure DEST_PATH_IMAGE077
表示连接i的基本时延,u表示上一周期最后一跳的预期链路利用率,
Figure DEST_PATH_IMAGE078
,c表示上一周期最后一跳的带宽。
在一个实施方式中,上述调整模块303具体可以用于计算控制因子;通过所述控制因子,调整发送窗口的大小。
在一个实施方式中,可以按照如下公式计算控制因子:
Figure DEST_PATH_IMAGE079
其中,
Figure DEST_PATH_IMAGE080
表示控制因子,
Figure DEST_PATH_IMAGE081
Figure DEST_PATH_IMAGE082
,其中,
Figure DEST_PATH_IMAGE083
表示连接i的基本时延,
Figure DEST_PATH_IMAGE084
表示连接i的测量单向时延,
Figure DEST_PATH_IMAGE085
表示允许排队造成的拥塞程度,t表示时间,
Figure DEST_PATH_IMAGE086
表示比例项的参数,
Figure DEST_PATH_IMAGE087
表示微分项的参数。
在一个实施方式中,上述通过所述控制因子,调整发送窗口的大小,可以包括:在控制因子大于0的情况下,确定网内数据包大于网络容量,执行乘性窗口递减;在控制因子小于0的情况下,确定网络有可用带宽,执行乘性窗口递增。
在一个实施方式中,上述通过所述控制因子,调整发送窗口的大小,可以包括:根据所述控制因子,按照如下公式,调整发送窗口的大小:
Figure DEST_PATH_IMAGE088
其中,
Figure DEST_PATH_IMAGE089
表示当前周期的发送窗口大小,
Figure DEST_PATH_IMAGE090
表示上一周期的发送窗口大小,
Figure DEST_PATH_IMAGE091
表示控制因子。
在一个实施方式中,在确定网络拥塞发生在最后一跳之后,可以获取上一周期各数据包的头部信息字段;根据所述各数据包的头部信息字段确定上一周期的第一个数据包和最后一个数据包;根据确定的第一个数据包和最后一个数据包,确定目标网络中的活跃连接数;通过最后一跳的带宽和活跃连接数的比值,计算每个活跃连接的拥塞窗口;将计算得到的拥塞窗口通过确认数据包传递给发送端。
本申请的实施例还提供能够实现上述实施例中的网络拥塞控制方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的网络拥塞控制方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:确定目标网络是否发生网络拥塞;
步骤2:在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
步骤3:在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。
从上述描述可知,本申请实施例在确定目标网络发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。通过上述方式解决了现有的网络拥塞的实现成本较高且延迟较大的问题,达到了了高效低延迟且成本较低的拥塞控制的技术效果目的。
本申请的实施例还提供能够实现上述实施例中的网络拥塞控制方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的网络拥塞控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:确定目标网络是否发生网络拥塞;
步骤2:在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
步骤3:在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。
从上述描述可知,本申请实施例在确定目标网络发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制。通过上述方式解决了现有的网络拥塞的实现成本较高且延迟较大的问题,达到了了高效低延迟且成本较低的拥塞控制的技术效果目的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

Claims (6)

1.一种网络拥塞控制方法,其特征在于,所述方法包括:
确定目标网络是否发生网络拥塞;
在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制;
通过PID控制器对发送窗口进行动态调整,以进行拥塞控制,包括:
计算控制因子;
通过所述控制因子,调整发送窗口的大小;
调整发送窗口的大小,包括:
在控制因子大于0的情况下,确定网内数据包大于网络容量,执行乘性窗口递减;
在控制因子小于0的情况下,确定网络有可用带宽,执行乘性窗口递增;
或者,
调整发送窗口的大小,包括:
根据所述控制因子,按照如下公式,调整发送窗口的大小:
Figure 948422DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
表示当前周期的发送窗口大小,
Figure 255775DEST_PATH_IMAGE004
表示上一周期的发送窗口大小,
Figure DEST_PATH_IMAGE005
表示控制因子;
计算控制因子,包括:
按照如下公式计算控制因子:
Figure DEST_PATH_IMAGE007
其中,
Figure 832250DEST_PATH_IMAGE005
表示控制因子,
Figure 525662DEST_PATH_IMAGE008
表示误差值,
Figure DEST_PATH_IMAGE009
表示设定时延,
Figure 402351DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
,其中,
Figure 552709DEST_PATH_IMAGE012
表示连接i的基本时延,
Figure DEST_PATH_IMAGE013
表示连接
Figure DEST_PATH_IMAGE015
的测量单向时延,
Figure 448771DEST_PATH_IMAGE016
表示允许排队造成的拥塞程度,t表示时间,
Figure DEST_PATH_IMAGE017
表示比例项的参数,
Figure 709988DEST_PATH_IMAGE018
表示微分项的参数。
2.根据权利要求1所述的方法,其特征在于,确定目标网络是否发生网络拥塞,包括:
获取连续预定数量个连接的测量单向时延;
在连续预定数量个连接的测量单向时延都满足如下不等式的情况下,确定发生网络拥塞:
Figure 972342DEST_PATH_IMAGE020
其中,
Figure 762444DEST_PATH_IMAGE012
表示连接i的基本时延,
Figure 985615DEST_PATH_IMAGE013
表示连接
Figure 83146DEST_PATH_IMAGE015
的测量单向时延。
3.根据权利要求1所述的方法,其特征在于,确定网络拥塞是否发生在最后一跳,包括:
获取上一周期所有连接的接收字节数;
获取上一周期最后一跳的预期链路利用率;
获取上一周期最后一跳的带宽;
在上一周期所有连接的接收字节数、上一周期最后一跳的预期链路利用率、上一周期最后一跳的带宽满足如下公式的情况下,确定网络拥塞发生在最后一跳:
Figure 75373DEST_PATH_IMAGE022
其中,
Figure DEST_PATH_IMAGE023
表示上一周期所有连接的接收字节数,
Figure 895430DEST_PATH_IMAGE012
表示连接i的基本时延,
Figure 871476DEST_PATH_IMAGE024
表示上一周期最后一跳的预期链路利用率,
Figure DEST_PATH_IMAGE025
Figure 35348DEST_PATH_IMAGE026
表示上一周期最后一跳的带宽。
4.根据权利要求1所述的方法,其特征在于,在确定网络拥塞发生在最后一跳之后,还包括:
获取上一周期各数据包的头部信息字段;
根据所述各数据包的头部信息字段确定上一周期的第一个数据包和最后一个数据包;
根据确定的第一个数据包和最后一个数据包,确定目标网络中的活跃连接数;
通过最后一跳的带宽和活跃连接数的比值,计算每个活跃连接的拥塞窗口;
将计算得到的拥塞窗口通过确认数据包传递给发送端。
5.一种网络拥塞控制装置,其特征在于,包括:
第一确定模块,用于确定目标网络是否发生网络拥塞;
第二确定模块,用于在确定发生网络拥塞的情况下,确定网络拥塞是否发生在最后一跳;
调整模块,用于在确定网络拥塞发生在最后一跳的情况下,通过PID控制器对发送窗口进行动态调整,以进行拥塞控制;
其中,调整模块具体用于计算控制因子,通过所述控制因子,调整发送窗口的大小;调整发送窗口的大小,包括:在控制因子大于0的情况下,确定网内数据包大于网络容量,执行乘性窗口递减,在控制因子小于0的情况下,确定网络有可用带宽,执行乘性窗口递增;或者,调整发送窗口的大小,包括:根据所述控制因子,按照如下公式,调整发送窗口的大小:
Figure 413240DEST_PATH_IMAGE002
;其中,
Figure 545144DEST_PATH_IMAGE003
表示当前周期的发送窗口大小,
Figure 867541DEST_PATH_IMAGE004
表示上一周期的发送窗口大小,
Figure 680776DEST_PATH_IMAGE005
表示控制因子;
计算控制因子,包括:
按照如下公式计算控制因子:
Figure DEST_PATH_IMAGE027
其中,
Figure 70431DEST_PATH_IMAGE005
表示控制因子,
Figure 310920DEST_PATH_IMAGE008
表示误差值,
Figure 855033DEST_PATH_IMAGE009
表示设定时延,
Figure 471960DEST_PATH_IMAGE010
Figure 417919DEST_PATH_IMAGE011
,其中,
Figure 829309DEST_PATH_IMAGE012
表示连接i的基本时延,
Figure 860719DEST_PATH_IMAGE013
表示连接
Figure 594187DEST_PATH_IMAGE015
的测量单向时延,
Figure 801177DEST_PATH_IMAGE016
表示允许排队造成的拥塞程度,t表示时间,
Figure 508102DEST_PATH_IMAGE017
表示比例项的参数,
Figure 902174DEST_PATH_IMAGE018
表示微分项的参数。
6.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至4中任一项所述方法的步骤。
CN202110990543.2A 2021-08-26 2021-08-26 网络拥塞控制方法和装置 Active CN113438181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110990543.2A CN113438181B (zh) 2021-08-26 2021-08-26 网络拥塞控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110990543.2A CN113438181B (zh) 2021-08-26 2021-08-26 网络拥塞控制方法和装置

Publications (2)

Publication Number Publication Date
CN113438181A CN113438181A (zh) 2021-09-24
CN113438181B true CN113438181B (zh) 2021-11-09

Family

ID=77798095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110990543.2A Active CN113438181B (zh) 2021-08-26 2021-08-26 网络拥塞控制方法和装置

Country Status (1)

Country Link
CN (1) CN113438181B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095126A (zh) * 2021-11-11 2022-02-25 北京邮电大学 一种数据发送速率调整方法、***及装置
CN114095437B (zh) * 2021-11-18 2024-04-09 北京达佳互联信息技术有限公司 发送数据包的方法、装置、电子设备和存储介质
CN114449016B (zh) * 2022-01-25 2024-04-02 南京奥拓电子科技有限公司 一种物联网设备控制的方法、装置、设备和存储介质
CN114448800A (zh) * 2022-02-18 2022-05-06 珠海星云智联科技有限公司 一种网络优化控制方法及相关装置
CN114666281A (zh) * 2022-03-18 2022-06-24 南京大学 基于智能网卡卸载的数据中心多应用QoS保障***及方法
CN116545933B (zh) * 2023-07-06 2023-10-20 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 网络拥塞控制方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902776A (zh) * 2010-07-08 2010-12-01 华南理工大学 一种改进的基于rts/cts的多跳无线网络拥塞控制方法
CN107070802A (zh) * 2016-12-21 2017-08-18 吉林大学 基于pid控制器的无线传感器网络拥塞控制技术
CN113141315A (zh) * 2021-04-20 2021-07-20 上海卓易科技股份有限公司 一种拥塞控制方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760633B2 (en) * 2005-11-30 2010-07-20 Cisco Technology, Inc. Transmission control protocol (TCP) congestion control using transmission delay components

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902776A (zh) * 2010-07-08 2010-12-01 华南理工大学 一种改进的基于rts/cts的多跳无线网络拥塞控制方法
CN107070802A (zh) * 2016-12-21 2017-08-18 吉林大学 基于pid控制器的无线传感器网络拥塞控制技术
CN113141315A (zh) * 2021-04-20 2021-07-20 上海卓易科技股份有限公司 一种拥塞控制方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Internet拥塞控制***的自整定PID控制器";杨洪勇;《东南大学学报》;20051130;全文 *
"PID-Type Congestion Controller Design for TCP Networks";M. Azadegan;《2014 IEEE Conference on Systems,Process and Control (ICSPC 2014)》;20141214;全文 *

Also Published As

Publication number Publication date
CN113438181A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
CN113438181B (zh) 网络拥塞控制方法和装置
CN114145001B (zh) 速率优化的拥塞管理
US9455922B2 (en) Technologies for moderating packet ingress interrupt generation
Wang et al. A new congestion control scheme: Slow start and search (Tri-S)
CN110417650B (zh) 多链路数据分配方法、装置及电子设备
CN108540380B (zh) 多子流网络传输方法及装置
CN101052043B (zh) 一种基于发送窗口与往返时间的tcp发送方法
US20140164641A1 (en) Congestion control for data center traffic
US20140164640A1 (en) Small packet priority congestion control for data center traffic
EP1701506B1 (en) Method and system for transmission control protocol (TCP) traffic smoothing
CN113726681B (zh) 一种网络拥塞控制方法及网络设备
US20220248259A1 (en) Data processing method and apparatus
CN117581518A (zh) 拥塞控制
CN109995608B (zh) 网络速率计算方法和装置
CN113950099B (zh) 一种网络拥塞控制方法及设备
CN111917511B (zh) 一种数据的接收方法
Honda et al. Cooperated traffic shaping with traffic estimation and path reallocation to mitigate microbursts in IoT backhaul network
He et al. Consistent and Fine-Grained Rule Update with In-Network Control for Distributed Rate Limiting
CN117499317B (zh) 链路拥塞控制方法及装置、存储介质及电子设备
Kassing et al. New primitives for bounded degradation in network service
Tamizhselvi et al. Dynamic bandwidth estimation and congestion avoidance based on network traffic in mobile cloud
Jain Evaluation of explicit congestion control for high-speed networks
CN106506434B (zh) 业务数据传输方法及装置
Chowdhury et al. Multiple valued logic (MVL) reduction operator, its synthesis and application on network congestion
CN115550263A (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