TCP拥塞控制算法 — CUBIC的补丁(五)

描述

以下是提交者Sangtae Ha对这个patch的描述:

make the delay threshold of HyStart less sensitive

Make HyStart less sensitive to abrupt delay variations due to buffer bloat.

代码

--- a/net/ipv4/tcp_cubic.c
+++ b/net/ipv4/tcp_cubic.c
@@ -39,7 +39,7 @@
 
 /* Number of delay samples for detecting the increase of delay */
 #define HYSTART_MIN_SAMPLES	8
-#define HYSTART_DELAY_MIN	(2U<<3)
+#define HYSTART_DELAY_MIN	(4U<<3)
 #define HYSTART_DELAY_MAX	(16U<<3)
 #define HYSTART_DELAY_THRESH(x)	clamp(x, HYSTART_DELAY_MIN, HYSTART_DELAY_MAX)

评价

增大了Delay Increase的最小阈值,减小HyStart因为正常的时延抖动而过早退出的概率。

我们知道目前的路由器缓存普遍偏大,这就意味着排队时延的抖动不可避免。

之前Delay Increase的阈值:

(1) delay_min < 32ms, threshold = 2ms

(2) 32ms <= delay_min <= 256ms, threshold = delay_min/16 ms

(3) delay_min > 256ms, threshold = 16ms

现在Delay Increase的阈值:

(1) delay_min < 64ms, threshold = 4ms

(2) 64ms <= delay_min <= 256ms, threshold = delay_min/16 ms

(3) delay_min > 256ms, threshold = 16ms

Author

zhangskd @ csdn blog

原文地址:https://www.cnblogs.com/aiwz/p/6333349.html