CN114145001A - 速率优化的拥塞管理 - Google Patents
速率优化的拥塞管理 Download PDFInfo
- Publication number
- CN114145001A CN114145001A CN202080051803.3A CN202080051803A CN114145001A CN 114145001 A CN114145001 A CN 114145001A CN 202080051803 A CN202080051803 A CN 202080051803A CN 114145001 A CN114145001 A CN 114145001A
- Authority
- CN
- China
- Prior art keywords
- rate
- initial
- data
- sender
- delay
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 230000012010 growth Effects 0.000 claims abstract description 20
- 230000007704 transition Effects 0.000 claims abstract description 18
- 230000003750 conditioning effect Effects 0.000 claims abstract description 10
- 239000000654 additive Substances 0.000 claims abstract description 9
- 230000000996 additive effect Effects 0.000 claims abstract description 9
- 238000012546 transfer Methods 0.000 claims description 20
- 230000009467 reduction Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims description 2
- 230000007423 decrease Effects 0.000 abstract description 10
- 230000033228 biological regulation Effects 0.000 abstract description 2
- 230000008859 change Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 11
- 238000002474 experimental method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 230000007480 spreading Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003698 anagen phase Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/24—Radio transmission systems, i.e. using radiation field for communication between two or more posts
- H04B7/26—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
- H04B7/2643—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using time-division multiple access [TDMA]
- H04B7/2659—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using time-division multiple access [TDMA] for data rate control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
-
- 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
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/22—Negotiating communication rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/18—TPC being performed according to specific parameters
- H04W52/26—TPC being performed according to specific parameters using transmission rate or quality of service QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/24—Radio transmission systems, i.e. using radiation field for communication between two or more posts
- H04B7/26—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
- H04B7/2628—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using code-division multiple access [CDMA] or spread spectrum multiple access [SSMA]
- H04B7/264—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using code-division multiple access [CDMA] or spread spectrum multiple access [SSMA] for data rate control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/2601—Multicarrier modulation systems
- H04L27/2626—Arrangements specific to the transmitter only
- H04L27/2646—Arrangements specific to the transmitter only using feedback from receiver for adjusting OFDM transmission parameters, e.g. transmission timing or guard interval length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/021—Terminal devices adapted for Wireless Local Loop operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了用于减少RoCEv2网络中的拥塞的方法和系统。该方法被配置为在数据中心大规模操作从发送方节点到接收方节点的流量。所描述的方法具有三个阶段:快速启动阶段、过渡阶段和调节阶段。在快速启动阶段中,发送方以快速的初始速率向接收方发送数据。这可以持续直到接收方观察到拥塞事件。在发生这种情况时,发送方在方法进入转换阶段时降低数据传输速率。该方法从降低的速率进入调节阶段,其中使用反馈控制回路与和性增长乘性降低(AIMD)算法的组合来增加速率。
Description
相关申请的交叉引用
本申请要求于2019年5月17日提交的名称为“RATE-OPTIMIZED CONGESTIONMANAGEMENT(速率优化的拥塞管理)”的美国申请号16/415,609的权益,出于所有目的将其内容通过引用并入本文。
背景技术
数据中心应用需要来自包括主机网络堆栈的网络的高吞吐量和超低延迟。由于标准TCP/IP的高CPU开销,通过以太网(RoCEv2)的远程直接存储器访问(RDMA)作为替代技术被部署在现代数据中心以实现低延迟和高性能。当负载过重时,数据中心网络可能会遇到拥塞并导致丢包。因此,RDMA的性能急剧下降,并且RoCEv2依靠基于优先级的流量控制(PFC)来实现无丢包网络。PFC可能会导致拥塞扩散,其中网络一个区域的流量减慢会导致网络其他区域的流量减慢。因此,拥塞管理对于避免拥塞扩散是必要的。RoCEv2网络中现有的拥塞管理方法(例如,数据中心量化拥塞通知(DCQCN))可能在大规模运行时效果不佳,生成数千个暂停帧,网络利用率和平均吞吐量不佳,并导致拥塞流完成得非常缓慢。
发明内容
需要大规模有效地管理数据中心网络中的拥塞。这种方法将实现高链路利用率、超低延迟和网络公平性。所公开的方法通过响应于拥塞事件动态地改变数据速率以及通过组合反馈控制算法与和性增长乘性降低(AIMD)算法来实现这些目标。
在一个方面,公开了一种在网络协议中管理拥塞的计算机实现的方法。该方法包括检测网络中的拥塞事件。该方法接下来包括将数据传输速率从初始速率减慢到最小速率。该方法接下来包括将数据传输速率增加到初始速率的一半。该方法接下来包括周期性地监视网络的单向延迟。最后,该网络包括使用反馈控制算法与和性增长乘性降低(additive increase multiplicative decrease,AIMD)算法调整数据传输速率。在一些实施方式中,设置初始数据传输速率还包括设置等于带宽延迟乘积的初始窗口,并且如果在设置所述初始窗口之后没有检测到拥塞,则增大窗口大小。在一些实施方式中,初始数据传输速率等于网络的线路速率。在一些实施方式中,阈值延迟基于数据分组传输的往返时间。在一些实施方式中,最小数据传输速率至少小于初始数据传输速率的百分之一。在一些实施方式中,反馈控制回路包括比例积分控制器。在一些实施方式中,以最小数据传输速率从发送方向接收方传输数据包括从接收方向发送方发送拥塞通知分组,并且在发送方接收到拥塞通知分组时更新速率。在一些实施方式中,连续监视单向延迟包括保持跟踪接收到的分组的总字节数。在一些实施方式中,在一个周期以最小传输速率和一个周期以初始速率的一半之后计算所管理的传输速率。在一些实施方式中,周期基于传输的分组的往返时间。在一些实施方式中,初始传输速率基于发送方和接收方之间的线路速率。在一些实施方式中,初始传输速率是发送方的链路速率和接收方的链路速率之间的最小速率。在一些实施方式中,AIMD算法包括如果所管理的速率低于阈值则对所管理的速率执行加法,如果所管理的速率高于阈值则对所管理的速率执行乘法。在一些实施方式中,加法是加正数。在一些实施方式中,乘法是乘以0和1之间的数。在一些实施方式中,计算机实现的方法还包括通过在阈值数量的周期内调整数据传输速率获得至少初始速率事件和针对拥塞事件监视网络。
在另一方面,公开了一种在网络中管理网络拥塞的系统。该系统包括多个计算节点。除了一个或多个处理器之外,计算节点还包括用于存储一个或多个先前获得的延迟值和指令集的存储器。处理器被配置为执行该指令集以检测物理层链路中的拥塞事件,将数据传输速率从初始速率减慢到最小速率,将数据传输速率增加到初始速率的一半,周期性地监视网络的单向延迟,并使用反馈控制算法与和性增长乘性降低(AIMD)算法调整数据传输速率。在一些实施方式中,网络具有至少一个以太网链路。在一些实施方式中,多个计算节点包括发送方节点和接收方节点。在一些实施方式中,设置初始数据传输速率还包括设置等于带宽延迟乘积的初始窗口,并且如果在设置初始窗口之后没有检测到拥塞,则增大窗口大小。在一些实施方式中,初始数据传输速率等于以太网链路的线路速率。在一些实施方式中,阈值延迟基于数据分组传输的往返时间。在一些实施方式中,最小数据传输速率至少小于初始数据传输速率的百分之一。在一些实施方式中,反馈控制回路包括比例积分控制器。在一些实施方式中,以最小数据传输速率从发送方向接收方传输数据包括:从接收方向发送方发送拥塞通知分组,并在发送方接收到拥塞通知分组时更新速率。在一些实施方式中,连续监视单向延迟包括保持跟踪接收到的分组的总字节数。在一些实施方式中,在一个周期以最小传输速率和一个周期以初始速率的一半之后计算所管理的传输速率。在一些实施方式中,周期基于传输的分组的往返时间。在一些实施方式中,初始传输速率基于发送方和接收方之间的线路速率。在一些实施方式中,初始传输速率是发送方和接收方之间的最小线路速率。在一些实施方式中,AIMD算法包括如果所管理的速率低于阈值则对所管理的速率执行加法,如果所管理的速率高于阈值则对所管理的速率执行乘法。在一些实施方式中,加法是加正数。在一些实施方式中,乘法是乘以0和1之间的数。
在又一方面,我们公开了一种在网络协议中管理拥塞的计算机实现的方法。该方法包括快速启动阶段,包括将数据速率设置为初始数据速率并在发送方和接收方之间执行数据传输,直到接收方检测到拥塞事件。该方法还包括过渡阶段,包括在周期内将数据速率降低到最小数据速率,然后在周期内将数据速率增加到初始速率的一半。该方法还包括调节阶段,包括使用反馈控制回路与和性降低乘性增长算法的组合来修改数据速率。在一些实施方式中,计算机实现的方法还包括在快速启动阶段之前的初始设置阶段,包括在发送方和接收方之间共享时钟速率和线路速率。在一些实施方式中,计算机实现的方法还包括,在快速启动阶段之前,将窗口大小设置为用于发送数据分组的初始窗口大小。在一些实施方式中,计算机实现的方法还包括在网络内没有检测到拥塞事件时增加窗口大小。在一些实施方式中,窗口大小以指数方式增加。在一些实施方式中,过渡阶段在检测到拥塞事件之后开始。在一些实施方式中,反馈控制算法是比例积分算法。在一些实施方式中,反馈控制回路可以被描述为电流速率、比例项和积分项之间的差。在一些实施方式中,比例项描述当前延迟与阈值延迟之间的差异,而积分项描述当前延迟与先前延迟之间的差。在一些实施方式中,响应于概率事件执行乘性增长。在一些实施方式中,以比反馈控制回路更低的频率执行乘性增长。
在又一方面,公开了一种在网络中管理网络拥塞的系统。该系统包括多个计算节点。计算节点包括用于存储一个或多个先前获得的延迟值和指令集的存储器。计算节点还包括一个或多个处理器,该处理器被配置为执行指令集以实现快速启动阶段,包括将数据速率设置为初始数据速率并在发送方和接收方之间执行数据传输,直到接收方检测到拥塞事件,过渡阶段,包括在周期内将数据速率降低到最小数据速率,然后在周期内将数据速率增加到初始速率的一半,以及调节阶段,包括使用反馈控制回路与和性降低乘性增长算法的组合来修改数据速率。在一些实施方式中,该系统还包括在快速启动阶段之前的初始设置阶段,包括在发送方和接收方之间共享时钟速率和线路速率。在一些实施方式中,该系统还包括,在快速启动阶段之前,将窗口大小设置为用于发送数据分组的初始窗口大小。在一些实施方式中,该系统还包括在网络内没有检测到拥塞事件时增加窗口大小。在一些实施方式中,窗口大小以指数方式增加。在一些实施方式中,过渡阶段在检测到拥塞事件之后开始。在一些实施方式中,反馈控制算法是比例积分算法。在一些实施方式中,反馈控制回路可以被描述为电流速率、比例项和积分项之间的差。在一些实施方式中,比例项描述当前延迟与阈值延迟之间的差,而积分项描述当前延迟与先前延迟之间的差。在一些实施方式中,响应于概率事件执行乘性增长。在一些实施方式中,以比反馈控制回路更低的频率执行乘性增长。
附图说明
本主题的新颖特征在所附权利要求中具体阐述。通过参考以下阐述说明性实施方式的详细描述,其中利用了本主题的原理,以及附图(也称为“示图”和“图”),其中:
图1是示出了通过链路的通信的示例性框图;
图2示意性地示出了根据在此描述的实施方式的在拥塞管理系统中测量的多个变量;
图3示出了物理层链路中的拥塞管理方法的流程图;
图4示出了通信的最佳操作点;
图5示出了所公开的方法与DCQCN的延迟比较,其中使用来自用两种方法进行的实验的数据;
图6A和图6B图示了来自图5的实验的网络中的数据流的图示;以及
图7A和图7B图示了所公开的方法和DCQCN之间的队列占用的比较。
具体实施方式
所公开的方法在链路层(例如,在以太网网络中)有效地管理RoCEv2网络中的拥塞。该方法可以在发送方节点和接收方节点之间的通信上实现,这些节点可以通过一个或多个网络链路连接。发送方和接收方可以管理来自多个用户的数据流,并且可能必须保持通过链路发送数据的多个用户之间传输数据的效率和公平性。
所公开的方法具有三个主要阶段:快速启动阶段、过渡阶段和调节阶段。在快速启动阶段,发送方和接收方可以以初始速率相互发送数据,直到接收方记录到拥塞事件。拥塞事件可以被检测为从接收方的角度测量的延迟尖峰。在拥塞事件之后,过渡阶段开始。在过渡阶段,发送方首先在周期内将数据速率降低到最小速率,然后将数据速率增加到初始速率的一半,以管理拥塞。在过渡阶段之后,调节阶段使用反馈控制与和性增长乘性降低(AIMD)算法的组合来增加速率,同时保持低延迟、效率和公平性。
反馈控制回路在调节阶段引导主速率计算,其中使用例如比例积分算法精确调整速率增加或减少。AIMD算法添加了小的扰动,其导致流在很长时间周期内重新平衡。这样做不会对拥塞的数据分组队列的总到达率造成过多的干扰。
在调节阶段之后,发送方和接收方可以最终重新开始以初始速率发送数据。当检测到另一个拥塞事件时,该方法可以重新开始。
在一方面,本公开的方法和系统被提供用于基于延迟变化的测量来确定网络拥塞状态。延迟测量可以是前向路径延迟或往返延迟,例如往返时间(RTT)延迟。延迟的变化或改变可以用作拥塞信号,因此可以及时通知发送方拥塞的程度。
图1是示出了根据本文描述的主题的实施方式的通过链路103的通信的示例性框图。发送方101和接收方105通过链路103进行通信。在此处描述的示例中,系统将特定的发送和接收任务委托给发送方和接收方。但是,分组可以从发送方发送到接收方,也可以从接收方发送到发送方。通信可以采用拥塞管理机制来控制拥塞。在一些情况下,可以确定沿链路的网络拥塞状态。发送方和接收方也可以分别称为源和目的地。在其他情况下,可以确定往返(从发送方到接收方并返回)的网络拥塞。
发送方101和接收方105可以是各种类型的计算设备,例如个人计算机、平板计算机、智能电话、机顶盒、台式计算机、膝上型计算机、游戏系统、服务器、数据中心和各种其他设备或系统。多个其他设备或组件可以通过网络建立连接。一个或多个发送方可以与一个或多个接收方连接。发送方和接收方可以通过有线和/或无线连接连接到网络。发送方或接收方可以被称为网络中的源节点和目的地节点。节点可以是配备有通信能力的任何设备。通信可以是有线或无线通信。
发送方和接收方各自具有存储器120和CPU 130。接收方可以使用RDMA来访问存储在发送方存储器中的项目,同时绕过发送方的操作系统。
链路103可以来自无线网络、有线网络或两者的组合。例如,网络可以包括通过ISP、蜂窝或宽带电缆提供商等的因特网、内联网、蜂窝网络、家庭网络、个人局域网等中的一个或多个。链路103可以与因特网协议接口相关,例如一个或多个网络组件、数据服务器、连接节点、交换机等。在另一方面,发送方101和接收方105可以被认为是链路103的一部分。
发送方101和接收方105两者都包括网络接口140,其可以是网络接口卡(NIC)。网络接口允许发送方和接收方节点与链路103对接。网络接口140可以具有智能能力,允许它们实施算法来控制到网络中节点的数据传输速率。
从源节点(例如,发送方)发送到目的地节点(例如,接收方)的数据分组111可能会或可能不会经历沿链路的延迟。在一些实施方式中,延迟的变化或改变的测量可以提供拥塞程度的即时信号。延迟可以通过数据分组111的到达时间减去数据分组111的发送时间来计算。在一些实施方式中,数据分组的发送时间由发送方的时钟107提供,并且数据分组的到达/接收时间由接收方的时钟109提供。
发送方时钟107和接收方时钟109不需要同步。在一些情况下,发送方时钟107和/或接收方时钟109可以是不同步的自由运行时钟。在一些情况下,发送方时钟107和接收方时钟109以相同的速率或频率操作。或者,发送方时钟107和接收方时钟109可以以不同的速率或频率运行。在某些情况下,可以在连接建立时设置通用速率或频率。例如,公共速率或频率是在传输数据分组之前由连接协议设置的预定频率。在某些情况下,可以在连接建立时交换分别与发送方和接收方相关联的速率或频率。在某些情况下,接收方可能会通过发送方的速率或频率得到通知。在另一种情况下,发送方和接收方可能以彼此未确认的不同频率运行。例如,发送方和接收方都在连接建立时发送握手请求(例如,具有握手类型的控制分组),其中握手分组可以包括发送方和接收方都同意使用进行通信的公共频率或分别与发送方和接收方相关联的频率。需要注意的是,时钟频率或速率可以在连接建立时间之外的任何时间传输。例如,可以在生成通知消息或超时定时器期满时的间隔发送一次包括时钟频率的握手分组。时钟可以包括任何类型的本地硬件或设备时钟,例如NIC硬件时间或主机设备(例如,CPU)时钟。发送方时钟和接收方时钟的类型可能相同,也可能不同。在某些情况下,可以采用校准或映射方案以将NIC时间戳映射到主机时间戳。在某些情况下,发送方时钟和接收方时钟之间可能会出现时钟频率漂移,从而导致延迟变化的趋势。频率漂移的检测和校正将在后面讨论。
表示数据分组111被发送的当前时间的时间戳可以被包括在数据分组111中。时间戳可以由发送方时钟生成。时间戳可以嵌入到数据分组的任何字段中。时间戳可以是多位的。时间戳可以包括任意数量的位,例如32位或64位。时间戳可以提供皮秒、毫秒或微秒级的时间分辨率。
在一些实施方式中,每个数据分组111都有时间戳。或者,一些数据分组有时间戳。例如,可以每X个分组包括表示发送时间的时间戳,其中X可以是任何整数。
在接收到包括时间戳的数据分组时,接收方可以计算延迟。延迟可以通过从接收方的本地时钟的当前值中减去数据分组中的时间戳值来确定,反之亦然。由于接收方的本地时钟的当前值可能与发送方时钟不同步,因此差可能不代表绝对延迟。因此,时间差可以被称为伪延迟。在本公开中,术语“伪延迟”和“延迟”是等效的,并且“延迟”不应被解释为代表绝对延迟。
延迟的差或变化可用于预测拥塞的程度。延迟值变化的差可以指示排队延迟的变化。例如,由于延迟值增加而引起的延迟的正变化可能表示队列增加,而延迟的负变化可能表示队列减少。在检测到正变化的情况下,有利的是对延迟作出反应而无需等待形成站立队列从而实现低延迟方法。在检测到负变化的情况下,有利的是调整发送速率以充分利用带宽。在某些情况下,当例如通过将延迟的变化与延迟差阈值进行比较来确定延迟的变化超过一定程度时,可以生成通知消息。当增加变化或减少变化超过预定延迟差阈值时,可以生成通知消息。拥塞状态可以包括对超过阈值的延迟变化的检测。拥塞状态可以包括所测量的延迟变化。拥塞状态还可以包括与此处稍后讨论的延迟相关的任何其他变量。在一些实施方式中,在确定拥塞状态时,接收方可以生成通知消息。通知消息可以包括与延迟相关的多个变量。
图2示意性地示出了根据在此描述的主题的实施方式的在拥塞管理系统中测量的多个变量。发送方201和接收方203可以分别与本地时钟205、207相关联,如图1中所述。发送方和接收方可以被配置为发送和接收诸如数据分组、控制分组、通知分组等消息。如图2所示,一个或多个数据分组211、217、219可以从发送方201传输到接收方203。在一些情况下,一个或多个数据分组可以由发送方的本地时钟205加上时间戳。应当注意,在通信系统中描绘了发送方和接收方,然而,系统中可以包括任何其他组件。
数据分组可以在第一时间从发送方或接收方发送并且在第二时间由另一个接收。第一时间(例如,T1)和第二时间(例如,T2)可以分别由本地时钟205、207确定。诸如T4和T5,或T6和T7的各种时间点可以同时和/或以各种顺序发生。注意,每个通信可以包括一个或多个分组;但是,为了便于阅读,通信被描述为从一个组件发送到另一个组件的单个分组。还应注意,为了可读性,通信被描绘为非重叠且在不同时间。此外,除非上下文另有说明,否则任何通信都可以重叠,可以采用不同的顺序,可以在各种网络组件(例如,中间节点、交换机等)之间转发。需要注意的是,发送方和接收方之间可以发送和接收任何不同数量的消息;同样,发送方和接收方可以向图中未示出的各种其他组件发送消息和/或从其接收消息。
如上所述,可以基于延迟的变化来确定延迟的程度。在一些实施方式中,当确定延迟的变化超过延迟差阈值时,可以生成通知消息215、216。在一些情况下,新的间隔227可以在生成通知消息时开始。在一些情况下,新的间隔227可以在检测到拥塞状态时开始。在一些情况下,新的间隔可以在来自先前间隔的最后一个数据分组211的接收时间或到达时间(例如,T2)开始。间隔可以具有任何时间长度,例如微秒、毫秒、秒等。
如图所示,可以计算间隔中的第一数据分组的延迟221。在接收方203接收到第一数据分组后,接收方可以从接收方的本地时钟的当前值T4中减去数据分组中的时间戳值T3。可以为从发送方发送到接收方的一个或多个消息或数据分组217计算延迟值。可以计算两个或更多个数据分组之间的延迟差或变化。
在一些情况下,延迟的变化可以计算为当前延迟值和先前延迟值之间的差。先前的延迟值可以是单个数据分组的延迟值,或先前获得的多个数据分组的平均值。在一些情况下,先前延迟值可以是间隔227中的第一分组213的延迟值221。在一些情况下,先前延迟值可以是最小延迟值。在一些情况下,先前的延迟值可以是多个先前获得的延迟值的平均值,例如第一多个数据分组或多个数据分组的移动平均值。在一些情况下,可以基于来自先前间隔的数据生成先前延迟值。先前延迟值在间隔227期间可以是固定的或变化的。例如,当将接收方203跟踪的最小延迟值作为先前延迟值时,先前延迟值可以在更新最小值时改变。例如,数据分组217可能在间隔中具有最小延迟值223,然后对于后续数据分组,延迟的变化可以计算为相应延迟值与最小延迟值之间的差。类似地,当第一数据分组的延迟值221作为先前延迟值时,对于该间隔中的所有后续数据分组,延迟的变化可以计算为各个延迟值与第一分组的延迟值之间的差。
在一些情况下,延迟的变化被确定为当前延迟值与先前延迟值之间的差。当前延迟值可以是单个分组的延迟值。当前延迟值可以是多个分组的移动平均值。这可以提供避免延迟测量中的瞬时尖峰的优点。可以使用各种其他方法或算法来过滤尖峰。在一些情况下,延迟的变化可以是从当前延迟值和先前延迟值导出的值。例如,延迟的变化可以是无量纲的,即当前延迟值与先前延迟值之差除以先前延迟值(或当前延迟值)。
在一些情况下,间隔219中的最后一个分组是具有超过延迟差阈值的延迟变化的分组。最后一个分组的当前延迟可能是也可能不是移动平均值。该变化可以是当前延迟值和先前延迟值之间的差的绝对值。差可以是正的或负的。当满足延迟差阈值时,可以生成通知消息216。
在一些实施方式中,延迟的改变可由接收方确定。或者,延迟的变化可由发送方确定。在一些实施方式中,网络拥塞的状态可以由接收方确定。或者,网络拥塞的状态可由发送方确定。
在一些实施方式中,通知消息可由接收方生成。通知消息可以从接收方发送到发送方。当确定延迟的变化超过延迟差阈值(例如,在T2发送的消息215)时,可以立即发送通知消息。通知消息可以在比间隔结束更晚的时间点发送(例如,在T9发送的消息216)。通知消息可以包括指示拥塞状态或排队延迟的增加或减少的多个变量。在一些实施方式中,包含在通知消息中的至少一些信息被发送方用于进一步的拥塞管理。
图3示出了数据链路(例如以太网链路)中的拥塞管理方法的流程图。流程图包括初始设置阶段、快速启动阶段、过渡阶段和调节阶段。该方法可以在图1的环境中实现,其中在发送方101和接收方105之间进行数据传输。
在初始设置阶段310,发送方和接收方可以共享关于彼此的时钟速率和线路速率的信息。该信息允许发送方和接收方确定可接受的延迟,从而能够通过注册异常大的延迟值(例如,特定发送方和接收方之间的数据流的特定阈值以上的值)来检测拥塞事件。
在快速启动阶段320,发送方以初始速率向接收方发送数据。快速启动阶段320可以在窗口增长阶段之前,其中发送方可以设置用于发送数据分组的初始窗口大小并且只要在网络内没有检测到拥塞就增加窗口的大小。初始窗口大小可以设置为例如,线路速率乘以网络内的最小传播延迟时间的带宽延迟乘积。随着窗口大小增加,接收方可以通过向发送方发送分组来周期性地(例如,每接收到50KB的数据)通知发送方尚未检测到拥塞。窗口可以增长的最大尺寸可以由其链路速率乘以网络内传播延迟的最大值来确定。接收方可以通过观察关于它从发送方接收到的数据分组的单向延迟中的尖峰来检测拥塞事件。单向延迟中的尖峰可能对应于大于分组往返时间的延迟。例如,15-25微秒的延迟可能会导致接收方注册拥塞事件。在一些实施方式中,接收方可以测量相对于最小延迟的延迟以便注册拥塞事件。在这些实施方式中,接收方可以配置阈值延迟,高于该阈值它可以将检测到的延迟注册为拥塞事件。
发送方可以以指数方式增加窗口大小。发送方还可以线性地、对数地或逐步地增加大小。可以增加窗口大小直到达到阈值大小。分组可以向发送方发送信号以使用位增加窗口大小。
在快速启动阶段320内的窗口增长之后,发送方设置初始速率。初始速率可以是线路速率,例如25GBit/s或100GBit/s。初始速率可能受诸如连接发送方和接收方的物理网络类型、发送方接收方之间的物理距离、发送方和接收方的操作配置等因素影响。只要窗口不过载,发送方就可以全速发送流量。接收方可以使用CNP分组与发送方通信。例如,接收方可以发送CNP-W分组以通知接收方保持以线速发送,或者在检测到拥塞事件时发送CNP-R分组。
当接收方检测到拥塞事件时,系统进入过渡阶段330。接收方可以向发送方发送具有指示发送方应该将其数据传输速率降低到最小速率的比特的分组。最小速率可能明显小于初始速率。例如,最小速率可能比初始速率小两到四个数量级。系统可能会停留在过渡状态一个或多个周期。周期可以基于分组的往返时间(RTT)。例如,周期可以是25微秒。这样做是为了减少系统中的拥塞。在特定数量的周期内保持最低速率后,系统可以将数据传输速率增加到初始传输速率的一半。接收方还可以测量发送方和接收方之间的吞吐量。如果吞吐量小于初始速率的二分之一,则接收方可以向发送方发送分组,通知发送方以测量吞吐量的一半发送。发送方在接收到分组时可能会降低发送速率。
系统在过渡阶段停留两个更新周期后进入调节阶段340。调节阶段可以使用反馈控制算法与和性增长乘性降低(AIMD)来修改数据传输速率。
反馈控制算法可以是比例积分(PI)算法。反馈控制算法也可以使用比例算法或比例积分微分(PID)算法来实现。PI算法可以保证效率和低延迟。数据传输速率的计算可以基于当前延迟与阈值(例如,最小延迟值)相距多远以及排队延迟当前是呈上升趋势还是下降趋势而被周期性地更新。算法的“比例”方面使得算法在延迟高时更有可能降低数据传输率,而算法的“积分”方面则在排队延迟正在上升时更可能降低数据传输率。
可以使用以下表达式来描述反馈控制回路。
R(n+1)=R(n)-α(Δ(n)-θ)-β(Δ(n)-Δ(n-1))
在该表达式中,通过从当前速率R(n)中减去比例项α(Δ(n)-θ)和积分项β(Δ(n)-Δ(n-1)来计算更新速率R(n+1)。比例项描述了当前延迟Δ(n)和阈值延迟θ之间的差乘以常数。积分项描述了当前延迟Δ(n)和先前延迟Δ(n-1)之间的差乘以不同的常数,以将上升或下降的延迟趋势合并到表达式中。
AIMD算法与反馈控制算法结合操作,以确保系统的公平性。如果延迟减少,则AIMD算法可以对数据传输速率执行和性增长,如果延迟增加,则可以执行乘性降低。该过程为数据流之间的链路增加了公平性,并且可以在比控制延迟所需的尺度更长的时间尺度上执行。例如,系统可以对不同数据流的速率执行和性增长,直到接收方检测到拥塞事件。此时,系统可以对数据速率执行乘法降低,以阻止拥塞。这个过程可以重复,直到流具有相等的数据速率。
在一些实施方式中,当系统处于调节阶段时,可以不断地执行和性增长。在发生这种情况时,接收方可以向发送方发送分组,例如CNP-R分组,以增加速率。可以周期性地执行乘性降低。在一些实施方式中,系统可以在特定数量的调节循环之后执行乘性降低。在其他实施方式中,可以响应于诸如“抛硬币”的概率事件来执行乘性增长。系统可以为“硬币”分配乘性降低概率,并在每个分组到达时“抛硬币”,以确定是否在该循环期间对速率执行乘性降低。例如,如果乘性降低概率为30%,则可以预期在10个分组传输中有3次,将执行乘性降低。
系统可以联合执行反馈控制回路和AIMD回路。AIMD过程可以在比反馈控制回路更低的频率下执行,因为可以在长时间尺度上实现公平。周期性地执行AIMD,比执行控制循环的频率更低,允许重新平衡数据流,减少对到达队列的分组的中断。
调节阶段340可以继续直到数据传输已经返回到初始数据速率。如果系统在多个周期内恢复到初始速率,则系统可以再次开始快速启动过程320。
图4示出了通信的效率图400。该图示示出了有效吞吐量(每单位时间传递的有用信息比特数)和拥塞缓冲区大小420如何随着链路层的分组负载增加而增加。该图示示出随着数据负载从零增加,有效吞吐量410也线性增加。当分组负载450增加超过容量440时,曲线从线性过渡到平坦,在图中形成拐点。这是系统的最佳操作点430,具有最大有效吞吐量和可忽略的队列。下图示出了当分组负载增加超过拐点时队列的建立,因为在此之后并非所有分组都可以由系统传输。该图示出,随着队列建立,即使在大负载下,有效吞吐量410仍然很高。该系统可以使用小的站立队列以最佳方式操作。随着负载增加,队列的大小可能会呈指数增长,因为在新的分组被添加到队列之前,入队的分组可能不会被传输。在特定负载下,分组可能会被丢弃,因为系统可能无法处理维护如此大的队列。该图示出在所公开的方法中,系统在靠近拐点处操作。
图5使用来自用两种方法进行的实验的数据示出了所公开的方法与DCQCN的延迟比较500。在图5的实验中,对于DCQCN和所公开的方法,20,000个数据流作为泊松过程到达接收方。流来自具有不同的往返时间(RTT)的16个不同的端口,所有端口都具有接收方的目的地。控制分组到达接收方的到达率以执行发送方和接收方之间的链路为20%、40%、60%和80%负载的实验。对于DCQCN和方法两者中的这16个端口,测量了以太网帧的最小暂停持续时间、平均暂停持续时间和最大暂停持续时间。从图中可以看出,在高负载下,与公开的方法相比,DCQCN的性能很差。事实上,DCQCN的暂停持续时间在高负载下呈指数级恶化。相比之下,在高负载下,所公开的方法即使在高负载下也不会生成暂停帧。
图6A和图6B示出了来自图5的实验的网络中的数据流的图示。图6A的图示600展示了来自所公开方法的吞吐量,而图6B的图示650展示了来自DCQCN的吞吐量。图示650示出了显着的受害者流。受害者流或降低的吞吐量流表明拥塞跨数据中心网络扩散。因此,图6A和图6B示出了当使用DCQCN时显着的拥塞扩散,但是当使用所公开的方法时拥塞可以忽略不计。
图7A和图7B示出了所公开的方法700和DCQCN 750之间的队列占用的比较。该图示出系统的队列中的数据少于DCQCN。图7A和图7B的图表反映了实验的结果。在实验中,在3层数据中心网络中存在640个节点。每个节点都有两个25Gbps链路,其连接到一对架顶式(ToR)交换机。节点之间的往返传播延迟为12微秒。PFC被启用。640个节点在一对ToR交换机下连续向一组32个节点传输数据分组。32个节点中的每一个还向其他639个节点传输数据分组。该实验在模拟中间删除了指向32个节点之一的一个链路,并观察了链路的删除如何影响其他服务器。图7A和图7B比较了在所公开的方法和DCQCN下的来自该实验的拥塞链路的队列占用率,并且示出所公开的方法将队列占用率降低到在DCQCN下的仅十分之一。
Claims (55)
1.一种在网络协议中管理拥塞的计算机实现的方法,所述方法包括:
a)检测所述网络中的拥塞事件;
b)将数据传输速率从初始速率减慢到最小速率;
c)将所述数据传输速率增加到所述初始速率的一半;
d)周期性地监视所述网络的单向延迟;以及
e)使用反馈控制算法与和性增长乘性降低(AIMD)算法调整所述数据传输速率。
2.根据权利要求1所述的计算机实现的方法,其中设置初始数据传输速率还包括设置等于带宽延迟乘积的初始窗口,并且如果在设置所述初始窗口之后没有检测到拥塞,则增大窗口大小。
3.根据权利要求1所述的计算机实现的方法,其中所述初始数据传输速率等于所述网络链路的线路速率。
4.根据权利要求1所述的计算机实现的方法,其中所述阈值延迟基于数据分组传输的往返时间。
5.根据权利要求1所述的计算机实现的方法,其中所述最小数据传输速率至少小于所述初始数据传输速率的百分之一。
6.根据权利要求1所述的计算机实现的方法,其中所述反馈控制回路包括比例积分控制器。
7.根据权利要求1所述的计算机实现的方法,其中以最小数据传输速率从所述发送方向所述接收方传输数据包括:从所述接收方向所述发送方发送拥塞通知分组,并且在发送方接收到所述拥塞通知分组时更新速率。
8.根据权利要求1所述的计算机实现的方法,其中连续监视单向延迟包括保持跟踪接收到的分组的总字节数。
9.根据权利要求1所述的计算机实现的方法,其中在一个周期以所述最小传输速率和一个周期以所述初始速率的一半之后计算所管理的传输速率。
10.根据权利要求9所述的计算机实现的方法,其中周期基于传输的分组的往返时间。
11.根据权利要求1所述的计算机实现的方法,其中所述初始传输速率基于发送方和接收方之间的线路速率。
12.根据权利要求11所述的计算机实现的方法,其中所述初始传输速率是所述发送方的链路速率和所述接收方的链路速率之间的最小速率。
13.根据权利要求1所述的计算机实现的方法,其中所述AIMD算法包括如果所管理的速率低于阈值则对所管理的速率执行加法,并且如果所管理的速率高于所述阈值则对所管理的速率执行乘法。
14.根据权利要求13所述的计算机实现的方法,其中所述加法是加正数。
15.根据权利要求13所述的计算机实现的方法,其中所述乘法是乘以0和1之间的数。
16.根据权利要求1所述的计算机实现的方法,还包括:
a)通过在阈值数量的周期内调整所述数据传输速率获得至少所述初始速率;以及
b)针对拥塞事件监视所述网络。
17.一种在网络中管理网络拥塞的系统,所述系统包括多个计算节点,计算节点包括:
a)存储器,所述存储器用于存储一个或多个先前获得的延迟值和指令集;和
b)一个或多个处理器,所述处理器被配置为执行所述指令集以:
i)检测所述网络中的拥塞事件;
ii)将数据传输速率从初始速率减慢到最小速率;
iii)将所述数据传输速率增加到所述初始速率的一半;
iv)周期性地监视所述网络的单向延迟;以及
v)使用反馈控制算法与和性增长乘性降低(AIMD)算法调整所述数据传输速率。
18.根据权利要求17所述的系统,其中所述网络具有至少一个链路。
19.根据权利要求17所述的系统,其中所述多个计算节点包括发送方节点和接收方节点。
20.根据权利要求17所述的系统,其中设置初始数据传输速率还包括设置等于带宽延迟乘积的初始窗口,并且如果在设置所述初始窗口之后没有检测到拥塞,则增大窗口大小。
21.根据权利要求17所述的系统,其中所述初始数据传输速率等于以太网链路的线路速率。
22.根据权利要求17所述的系统,其中所述阈值延迟基于数据分组传输的往返时间。
23.根据权利要求17所述的系统,其中所述最小数据传输速率至少小于所述初始数据传输速率的百分之一。
24.根据权利要求17所述的系统,其中所述反馈控制回路包括比例积分控制器。
25.根据权利要求17所述的系统,其中以最小数据传输速率从所述发送方向所述接收方传输数据包括:从所述接收方向所述发送方发送拥塞通知分组,并且在发送方接收到所述拥塞通知分组时更新速率。
26.根据权利要求17所述的系统,其中连续监视单向延迟包括保持跟踪接收到的分组的总字节数。
27.根据权利要求17所述的系统,其中在一个周期以所述最小传输速率和一个周期以所述初始速率的一半之后计算所管理的传输速率。
28.根据权利要求27所述的系统,其中周期基于传输的分组的往返时间。
29.根据权利要求17所述的系统,其中所述初始传输速率基于发送方和接收方之间的线路速率。
30.根据权利要求29所述的系统,其中所述初始传输速率是所述发送方和接收方之间的最小线路速率。
31.根据权利要求17所述的系统,其中所述AIMD算法包括如果所管理的速率低于阈值则对所管理的速率执行加法,并且如果所管理的速率高于所述阈值则对所管理的速率执行乘法。
32.根据权利要求31所述的系统,其中所述加法是加正数。
33.根据权利要求31所述的系统,其中所述乘法是乘以0和1之间的数。
34.一种在网络中管理网络拥塞的计算机实现的方法,所述计算机实现的方法包括:
a)快速启动阶段,包括将数据速率设置为初始数据速率并在发送方和接收方之间进行数据传输,直到所述接收方检测到拥塞事件;
b)过渡阶段,包括在周期内将所述数据速率降低到最小数据速率,然后在周期内将所述数据速率增加到所述初始速率的一半;以及
c)调节阶段,包括使用反馈控制回路与和性降低乘性增长算法的组合来修改所述数据速率。
35.根据权利要求34所述的计算机实现的方法,还包括在所述快速启动阶段之前的初始设置阶段,包括在所述发送方和所述接收方之间共享时钟速率和线路速率。
36.根据权利要求34所述的计算机实现的方法,还包括在所述快速启动阶段之前,将窗口大小设置为用于发送数据分组的初始窗口大小。
37.根据权利要求36所述的计算机实现的方法,还包括在所述网络内没有检测到拥塞事件时增加所述窗口大小。
38.根据权利要求37所述的计算机实现的方法,其中所述窗口大小以指数方式增加。
39.根据权利要求34所述的计算机实现的方法,其中所述过渡阶段在检测到所述拥塞事件之后开始。
40.根据权利要求34所述的计算机实现的方法,其中所述反馈控制算法是比例积分算法。
41.根据权利要求40所述的计算机实现的方法,其中所述反馈控制回路能够被描述为电流速率、比例项和积分项之间的差。
42.根据权利要求41所述的计算机实现的方法,其中所述比例项描述当前延迟和阈值延迟之间的差,而所述积分项描述当前延迟和先前延迟之间的差。
43.根据权利要求34所述的计算机实现的方法,其中响应于概率事件执行所述乘性增长。
44.根据权利要求34所述的计算机实现的方法,其中以比所述反馈控制回路更低的频率执行所述乘性增长。
45.一种在网络中管理网络拥塞的系统,包括多个计算节点,计算节点包括:
a)存储器,所述存储器用于存储一个或多个先前获得的延迟值和指令集;和
b)一个或多个处理器,所述处理器被配置为执行所述指令集以实现:
i)快速启动阶段,包括将数据速率设置为初始数据速率并在发送方和接收方之间进行数据传输,直到所述接收方检测到拥塞事件;
ii)过渡阶段,包括在周期内将所述数据速率降低到最小数据速率,然后在周期内将所述数据速率增加到所述初始速率的一半;以及
iii)调节阶段,包括使用反馈控制回路与和性降低乘性增长算法的组合来修改所述数据速率。
46.根据权利要求45所述的系统,还包括在所述快速启动阶段之前的初始设置阶段,包括在所述发送方和所述接收方之间共享时钟速率和线路速率。
47.根据权利要求45所述的系统,还包括在所述快速启动阶段之前,将窗口大小设置为用于发送数据分组的初始窗口大小。
48.根据权利要求47所述的系统,还包括在所述网络内没有检测到拥塞事件时增加所述窗口大小。
49.根据权利要求48所述的系统,其中所述窗口大小以指数方式增加。
50.根据权利要求45所述的系统,其中所述过渡阶段在检测到所述拥塞事件之后开始。
51.根据权利要求45所述的系统,其中所述反馈控制算法是比例积分算法。
52.根据权利要求51所述的系统,其中所述反馈控制回路能够被描述为电流速率、比例项和积分项之间的差。
53.根据权利要求52所述的系统,其中所述比例项描述当前延迟和阈值延迟之间的差,而所述积分项描述当前延迟和先前延迟之间的差。
54.根据权利要求45所述的系统,其中响应于概率事件执行所述乘性增长。
55.根据权利要求45所述的系统,其中以比所述反馈控制回路更低的频率执行所述乘性增长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210928579.2A CN115208828A (zh) | 2019-05-17 | 2020-05-15 | 速率优化的拥塞管理 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/415,609 | 2019-05-17 | ||
US16/415,609 US11212227B2 (en) | 2019-05-17 | 2019-05-17 | Rate-optimized congestion management |
PCT/US2020/033154 WO2020236599A1 (en) | 2019-05-17 | 2020-05-15 | Rate-optimized congestion management |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210928579.2A Division CN115208828A (zh) | 2019-05-17 | 2020-05-15 | 速率优化的拥塞管理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114145001A true CN114145001A (zh) | 2022-03-04 |
CN114145001B CN114145001B (zh) | 2022-08-09 |
Family
ID=73228300
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080051803.3A Active CN114145001B (zh) | 2019-05-17 | 2020-05-15 | 速率优化的拥塞管理 |
CN202210928579.2A Pending CN115208828A (zh) | 2019-05-17 | 2020-05-15 | 速率优化的拥塞管理 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210928579.2A Pending CN115208828A (zh) | 2019-05-17 | 2020-05-15 | 速率优化的拥塞管理 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11212227B2 (zh) |
EP (2) | EP3970322B1 (zh) |
JP (1) | JP2022533970A (zh) |
KR (1) | KR102385762B1 (zh) |
CN (2) | CN114145001B (zh) |
CA (1) | CA3139533C (zh) |
IL (1) | IL288030B2 (zh) |
WO (1) | WO2020236599A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560528A (zh) * | 2024-01-11 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 音视频数据发送方法、装置、计算机设备及可读存储介质 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019046603A1 (en) | 2017-08-31 | 2019-03-07 | Pensando Systems Inc. | METHODS AND SYSTEMS FOR MANAGING NETWORK DIMENSIONS |
US11212227B2 (en) | 2019-05-17 | 2021-12-28 | Pensando Systems, Inc. | Rate-optimized congestion management |
US11502932B2 (en) | 2019-05-17 | 2022-11-15 | Keysight Technologies, Inc. | Indirect testing using impairment rules |
US11153221B2 (en) | 2019-08-28 | 2021-10-19 | Pensando Systems Inc. | Methods, systems, and devices for classifying layer 4-level data from data queues |
JP7173058B2 (ja) * | 2020-01-14 | 2022-11-16 | 株式会社デンソー | 通信装置、及び通信装置に用いられるプログラム及び方法 |
US11444831B2 (en) | 2020-01-17 | 2022-09-13 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for measuring schedule update time for a time aware shaper implementation |
US11394700B2 (en) | 2020-01-31 | 2022-07-19 | Pensando Systems Inc. | Proxy service through hardware acceleration using an IO device |
US11431681B2 (en) | 2020-04-07 | 2022-08-30 | Pensando Systems Inc. | Application aware TCP performance tuning on hardware accelerated TCP proxy services |
US11621908B2 (en) | 2020-07-13 | 2023-04-04 | Keysight Technologies, Inc. | Methods, systems and computer readable media for stateless service traffic generation |
US11258719B1 (en) * | 2020-08-24 | 2022-02-22 | Keysight Technologies, Inc. | Methods, systems and computer readable media for network congestion control tuning |
CN113141315B (zh) * | 2021-04-20 | 2022-12-27 | 上海卓易科技股份有限公司 | 一种拥塞控制方法及设备 |
US11582128B1 (en) * | 2021-08-12 | 2023-02-14 | Allot Ltd. | System, device, and method of measuring directional latency and congestion in a communication network |
US11683250B2 (en) * | 2021-10-22 | 2023-06-20 | Palo Alto Networks, Inc. | Managing proxy throughput between paired transport layer connections |
US20230300671A1 (en) * | 2022-03-18 | 2023-09-21 | Qualcomm Incorporated | Downlink congestion control optimization |
CN115174477B (zh) * | 2022-06-29 | 2024-04-05 | 无锡芯光互连技术研究院有限公司 | 一种基于优先级流量控制的拥塞控制方法及系统 |
US11962434B2 (en) | 2022-07-08 | 2024-04-16 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for capturing dropped packets at a switching fabric emulator |
CN116847360B (zh) * | 2022-12-30 | 2024-04-02 | 曲阜师范大学 | 一种非实时数据传输方法、装置及存储介质 |
CN118524065B (zh) * | 2024-07-24 | 2024-10-01 | 苏州元脑智能科技有限公司 | 拥塞控制方法及装置、存储介质及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060050640A1 (en) * | 2004-08-17 | 2006-03-09 | Cheng Jin | Method and apparatus for network congestion control using queue control and one-way delay measurements |
US20060153179A1 (en) * | 2004-12-28 | 2006-07-13 | Michael Ho | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
US20080037420A1 (en) * | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
CN101860895A (zh) * | 2010-06-11 | 2010-10-13 | 上海海维工业控制有限公司 | 一种改进的aimd拥塞控制方法 |
CN102882803A (zh) * | 2012-10-11 | 2013-01-16 | 四川大学 | 一种基于丢包和时延的混合拥塞控制方法 |
US20130322247A1 (en) * | 2012-05-30 | 2013-12-05 | The University Of Hong Kong | Enhancing aqm to combat wireless losses |
US20160374094A1 (en) * | 2015-06-16 | 2016-12-22 | Avaya Inc. | Channel bandwidth optimization for dynamic network conditions |
US20170019803A1 (en) * | 2015-07-17 | 2017-01-19 | Altiostar Networks, Inc. | Optimization of Downlink Throughput |
CN108965322A (zh) * | 2018-08-14 | 2018-12-07 | 清华大学 | 空间网络传输控制协议 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5264843A (en) * | 1989-04-05 | 1993-11-23 | Siemens Pacesetter, Inc. | High speed reflected impedance telemetry system for implantable medical device |
US7349994B2 (en) | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7423972B2 (en) | 2000-11-28 | 2008-09-09 | Flash Networks Ltd. | System and method for a transmission rate controller |
US7782776B2 (en) | 2002-03-15 | 2010-08-24 | Broadcom Corporation | Shared weighted fair queuing (WFQ) shaper |
US7974195B2 (en) * | 2003-06-12 | 2011-07-05 | California Institute Of Technology | Method and apparatus for network congestion control |
CN101023455A (zh) * | 2004-08-17 | 2007-08-22 | 加州理工大学 | 使用排队控制和单向延迟测量实现网络拥塞控制的方法和设备 |
US7688968B1 (en) | 2004-09-16 | 2010-03-30 | Marvell International Ltd. | Adaptive analog echo/next cancellation |
AP2007004044A0 (en) * | 2004-11-29 | 2007-06-30 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square wave form) TCP friendly SAN |
US7957276B2 (en) | 2005-04-28 | 2011-06-07 | Telcordia Licensing Company, Llc | Call admission control and preemption control over a secure tactical network |
US9154395B2 (en) | 2006-10-05 | 2015-10-06 | Cisco Technology, Inc. | Method and system for optimizing a jitter buffer |
US7729387B2 (en) | 2007-01-31 | 2010-06-01 | Agere Systems Inc. | Methods and apparatus for controlling latency variation in a packet transfer network |
US7940677B2 (en) | 2007-06-05 | 2011-05-10 | At&T Intellectual Property I, Lp | Architecture for optical metro ethernet service level agreement (SLA) management |
CN101094047A (zh) * | 2007-07-06 | 2007-12-26 | 中国人民解放军国防科学技术大学 | 基于网络状态测量的分阶段慢启动传输控制方法 |
CA2703719C (en) | 2007-10-26 | 2014-07-08 | Telcordia Technologies, Inc. | Method and system for secure session establishment using identity-based encryption (vdtls) |
US8370622B1 (en) | 2007-12-31 | 2013-02-05 | Rockstar Consortium Us Lp | Method and apparatus for increasing the output of a cryptographic system |
CN101902295B (zh) * | 2009-05-26 | 2013-08-21 | 国际商业机器公司 | 控制应用服务器的负载接收速率的方法及装置 |
GB201003206D0 (en) | 2010-02-25 | 2010-04-14 | Skype Ltd | Method of estimating congestion |
US8553540B2 (en) * | 2010-03-05 | 2013-10-08 | Microsoft Corporation | Congestion control for delay sensitive applications |
EP2413542A1 (en) * | 2010-07-30 | 2012-02-01 | Institut National De Recherche En Informatique Et En Automatique | Flow aware congestion avoidance method and system |
WO2012121635A1 (en) * | 2011-03-10 | 2012-09-13 | Telefonaktiebolaget L M Ericsson (Publ) | Hybrid congestion control |
KR102016446B1 (ko) * | 2011-12-28 | 2019-10-21 | 씨디에프 케 유안 | 지연이 큰 네트워크들에 대한 tcp 혼잡 제어 |
US20130195123A1 (en) | 2012-01-31 | 2013-08-01 | Alon Stern | Clock recovery over protected packet networks |
US9031094B2 (en) | 2012-02-03 | 2015-05-12 | Apple Inc. | System and method for local flow control and advisory using a fairness-based queue management algorithm |
US9591515B2 (en) | 2012-05-08 | 2017-03-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Feedback-based profiling for transport networks |
US8813225B1 (en) | 2012-06-15 | 2014-08-19 | Amazon Technologies, Inc. | Provider-arbitrated mandatory access control policies in cloud computing environments |
US8804523B2 (en) | 2012-06-21 | 2014-08-12 | Microsoft Corporation | Ensuring predictable and quantifiable networking performance |
US20140164641A1 (en) | 2012-12-11 | 2014-06-12 | The Hong Kong University Of Science And Technology | Congestion control for data center traffic |
US9294944B2 (en) | 2012-12-21 | 2016-03-22 | International Business Machines Corporation | Method and apparatus to monitor and analyze end to end flow control in an Ethernet/enhanced Ethernet environment |
US9509802B1 (en) | 2013-03-15 | 2016-11-29 | PME IP Pty Ltd | Method and system FPOR transferring data to improve responsiveness when sending large data sets |
US9436244B2 (en) * | 2013-03-15 | 2016-09-06 | Intel Corporation | Adaptive control loop protection for fast and robust recovery from low-power states in high speed serial I/O applications |
EP3000255A1 (en) * | 2013-05-20 | 2016-03-30 | Telefonaktiebolaget LM Ericsson (publ) | Congestion control in a communications network |
US20140348182A1 (en) | 2013-05-22 | 2014-11-27 | Iii Holdings 2, Llc | Time synchronization between nodes of a switched interconnect fabric |
US10708187B2 (en) | 2014-05-22 | 2020-07-07 | Intel Corporation | Data center congestion management for non-TCP traffic |
US9313270B2 (en) | 2014-07-29 | 2016-04-12 | Datadirect Networks, Inc. | Adaptive asynchronous data replication in a data storage system |
US9565167B2 (en) | 2015-01-21 | 2017-02-07 | Huawei Technologies Co., Ltd. | Load balancing internet protocol security tunnels |
KR102363534B1 (ko) * | 2015-06-08 | 2022-02-17 | 삼성전자주식회사 | 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치 |
US10505984B2 (en) | 2015-12-08 | 2019-12-10 | A10 Networks, Inc. | Exchange of control information between secure socket layer gateways |
US9912774B2 (en) | 2015-12-22 | 2018-03-06 | Intel Corporation | Accelerated network packet processing |
AU2017314831C1 (en) * | 2016-08-26 | 2023-01-05 | Akili Interactive Labs, Inc. | Cognitive platform coupled with a physiological component |
JP6697990B2 (ja) * | 2016-09-16 | 2020-05-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
WO2018109531A1 (en) | 2016-12-15 | 2018-06-21 | Nokia Technologies Oy | Method and apparatus for tunnel endpoint ip address selection in a network environment |
US20180212885A1 (en) | 2017-01-20 | 2018-07-26 | Google Inc. | Device and method for scalable traffic shaping at a receiver with a time-indexed data structure |
US11381509B2 (en) | 2017-03-17 | 2022-07-05 | Citrix Systems, Inc. | Increased packet scheduling throughput and efficiency using úber batching |
US10268464B2 (en) | 2017-07-07 | 2019-04-23 | Intel Corporation | Technologies for network application programming with field-programmable gate arrays |
WO2019046603A1 (en) | 2017-08-31 | 2019-03-07 | Pensando Systems Inc. | METHODS AND SYSTEMS FOR MANAGING NETWORK DIMENSIONS |
US10104039B1 (en) | 2017-09-28 | 2018-10-16 | Cloudflare, Inc. | Establishing and using a tunnel from an origin server in a distributed edge compute and routing service |
US12015722B2 (en) | 2017-12-29 | 2024-06-18 | Pensando Systems, Inc. | Methods and systems for cryptographic identity based network microsegmentation |
CN112866127B (zh) * | 2018-02-14 | 2022-12-30 | 华为技术有限公司 | 一种分组网络中控制流量的方法及装置 |
CA3091265A1 (en) | 2018-02-22 | 2019-08-29 | Michael Brian Galles | Programmable computer io device interface |
US11108855B2 (en) * | 2018-04-09 | 2021-08-31 | Clostra, Inc. | Newnode: decentralized content distribution network |
WO2019209181A1 (en) | 2018-04-24 | 2019-10-31 | Skylab Networks Pte. Ltd. | System and method for accelerating data delivery |
US10880206B2 (en) | 2018-06-13 | 2020-12-29 | Futurewei Technologies, Inc. | Multipath selection system and method for datacenter-centric metro networks |
US11212227B2 (en) | 2019-05-17 | 2021-12-28 | Pensando Systems, Inc. | Rate-optimized congestion management |
US11153221B2 (en) | 2019-08-28 | 2021-10-19 | Pensando Systems Inc. | Methods, systems, and devices for classifying layer 4-level data from data queues |
US11838222B2 (en) | 2019-12-21 | 2023-12-05 | Western Digital Technologies, Inc. | In-line data identification on network |
US11394700B2 (en) | 2020-01-31 | 2022-07-19 | Pensando Systems Inc. | Proxy service through hardware acceleration using an IO device |
US11431681B2 (en) | 2020-04-07 | 2022-08-30 | Pensando Systems Inc. | Application aware TCP performance tuning on hardware accelerated TCP proxy services |
US11588734B2 (en) | 2020-04-28 | 2023-02-21 | Pensando Systems Inc. | Systems for providing an LPM implementation for a programmable data plane through a distributed algorithm |
-
2019
- 2019-05-17 US US16/415,609 patent/US11212227B2/en active Active
-
2020
- 2020-05-15 JP JP2021568610A patent/JP2022533970A/ja active Pending
- 2020-05-15 CA CA3139533A patent/CA3139533C/en active Active
- 2020-05-15 WO PCT/US2020/033154 patent/WO2020236599A1/en active Application Filing
- 2020-05-15 CN CN202080051803.3A patent/CN114145001B/zh active Active
- 2020-05-15 KR KR1020217041007A patent/KR102385762B1/ko active IP Right Grant
- 2020-05-15 EP EP20809493.8A patent/EP3970322B1/en active Active
- 2020-05-15 EP EP24183285.6A patent/EP4415332A3/en active Pending
- 2020-05-15 CN CN202210928579.2A patent/CN115208828A/zh active Pending
-
2021
- 2021-11-10 US US17/523,732 patent/US11936561B2/en active Active
- 2021-11-11 IL IL288030A patent/IL288030B2/en unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037420A1 (en) * | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
US20060050640A1 (en) * | 2004-08-17 | 2006-03-09 | Cheng Jin | Method and apparatus for network congestion control using queue control and one-way delay measurements |
US20060153179A1 (en) * | 2004-12-28 | 2006-07-13 | Michael Ho | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
CN101860895A (zh) * | 2010-06-11 | 2010-10-13 | 上海海维工业控制有限公司 | 一种改进的aimd拥塞控制方法 |
US20130322247A1 (en) * | 2012-05-30 | 2013-12-05 | The University Of Hong Kong | Enhancing aqm to combat wireless losses |
CN102882803A (zh) * | 2012-10-11 | 2013-01-16 | 四川大学 | 一种基于丢包和时延的混合拥塞控制方法 |
US20160374094A1 (en) * | 2015-06-16 | 2016-12-22 | Avaya Inc. | Channel bandwidth optimization for dynamic network conditions |
US20170019803A1 (en) * | 2015-07-17 | 2017-01-19 | Altiostar Networks, Inc. | Optimization of Downlink Throughput |
CN108965322A (zh) * | 2018-08-14 | 2018-12-07 | 清华大学 | 空间网络传输控制协议 |
Non-Patent Citations (2)
Title |
---|
PLAMEN Z. ZAHARIEV 等: "A Combined Adaptive Approach for Congestion Control in the Transmission Control Protocol", 《PROCEEDINGS OF THE ITI 2009 31ST INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY INTERFACES》 * |
王志明 等: "一种异构网络TCP拥塞控制算法", 《电子与信息学报(2016年第4期)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560528A (zh) * | 2024-01-11 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 音视频数据发送方法、装置、计算机设备及可读存储介质 |
CN117560528B (zh) * | 2024-01-11 | 2024-05-24 | 腾讯科技(深圳)有限公司 | 音视频数据发送方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3970322A4 (en) | 2022-09-14 |
KR20220007698A (ko) | 2022-01-18 |
US11212227B2 (en) | 2021-12-28 |
EP3970322A1 (en) | 2022-03-23 |
CN115208828A (zh) | 2022-10-18 |
IL288030A (en) | 2022-01-01 |
CN114145001B (zh) | 2022-08-09 |
US20220070097A1 (en) | 2022-03-03 |
CA3139533C (en) | 2023-08-01 |
JP2022533970A (ja) | 2022-07-27 |
EP3970322B1 (en) | 2024-07-24 |
KR102385762B1 (ko) | 2022-04-11 |
CA3139533A1 (en) | 2020-11-26 |
WO2020236599A1 (en) | 2020-11-26 |
US20200366608A1 (en) | 2020-11-19 |
US11936561B2 (en) | 2024-03-19 |
IL288030B (en) | 2022-10-01 |
IL288030B2 (en) | 2023-02-01 |
EP4415332A3 (en) | 2024-10-23 |
EP4415332A2 (en) | 2024-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114145001B (zh) | 速率优化的拥塞管理 | |
Al-Saadi et al. | A survey of delay-based and hybrid TCP congestion control algorithms | |
Dukkipati et al. | Processor sharing flows in the internet | |
Mankin et al. | Gateway congestion control survey | |
US6842424B1 (en) | Methods and systems for alleviating network congestion | |
US7974195B2 (en) | Method and apparatus for network congestion control | |
EP2537301B1 (en) | Control of packet transfer through a multipath session comprising a single congestion window | |
US20060050640A1 (en) | Method and apparatus for network congestion control using queue control and one-way delay measurements | |
JPH03174848A (ja) | コンピュータ回路網における遅延ベース混雑回避方法及び装置 | |
Zhang et al. | Tuning the aggressive TCP behavior for highly concurrent HTTP connections in intra-datacenter | |
Xu et al. | Throughput optimization of TCP incast congestion control in large-scale datacenter networks | |
WO2017192414A1 (en) | Adaptive gain reduction for background connections | |
Oyeyinka et al. | TCP window based congestion control-slow-start approach | |
Wu et al. | Potential performance bottleneck in Linux TCP | |
Lu et al. | EQF: An explicit queue-length feedback for TCP congestion control in datacenter networks | |
Jaiswal et al. | A comparative performance analysis of TCP congestion control algorithm: elastic TCP vs. e-Elastic TCP | |
Das et al. | A Dynamic Algorithm for Optimization of Network Traffic through Smart Network Switch Data Flow Management | |
Pawar et al. | A survey on congestion notification algorithm in data centers | |
Cao et al. | Switching congestion control for satellite TCP/AQM networks | |
Mansour et al. | A Comparison of Queueing Algorithms Over TCP Protocol. | |
Fares et al. | A new algorithm for controlling a buffer with time-varying arrival rate | |
Sivakumar et al. | Convex Optimized Lagrange Multiplier Based Algebraic Congestion Likelihood for Improved TCP Performance in MANET | |
Mankin et al. | RFC1254: gateway congestion control survey | |
Tekala et al. | Dynamic adjustment of Scalable TCP congestion control parameters | |
Goudru et al. | Performance Analysis and Enhancement of TCP in Presence of Jitter in Wireless Networks |
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 |