DC 交换机 buffer 的平方反比律

简单回顾一下:漫谈TCP bufferbloat的根源-Jacobson管道

随着带宽的增加,按摩尔定律,buffer 也增加,越来越大的 buffer 让 bufferbloat 更容易发生。 理论上,buffer 的大小约等于 DBP,这个约束可以保证 TCP CC 有足够的空间施展 AIMD:

  • AI 的终点在 buffer 填满,BDP 大小的 buffer 刚好可承受接下来的 MD。
  • MD 将 cwnd 减半,其终点在刚刚接触但不占用 buffer,不会造成带宽浪费。

但事实上,“buffer 需等于 BDP” 这个判断背后忽略了自然界的一个普适法则,平方反比律。

若将共享瓶颈带宽的 n 条流之间的纠缠胶着视为一种正比于 n 的"力",记为 F,再将 “未完全填满 BDP,buffer 空闲” 和 “buffer 过载,丢包” 视为两个不同方式使用 buffer 的相互作用的 “实体”,以 e 1 e_1 e1 e 2 e_2 e2 表示其固定属性,则这个力 F 和 buffer 的大小 B 应满足平方反比律:

n ∝ F = α e 1 e 2 B 2 n∝F=α\dfrac{e_1e_2}{B^2} nF=αB2e1e2

为什么是平方,为什么是反比,理由来自以下想法:

  • B 影响总延时和带宽(基本带宽公式 t = c p − 1 d t=cp−\frac{1}{d} t=cpd1 )两个正交维度。
  • 多流收敛需要代价,代价随流增加而增加(管理开销占比增加)。

周二下班路上想到的这个简单模型,我说不清楚定量关系,但基本解释是有的。

随着流越来越多,“某条毛刺单流导致溢出,连累其它流一起执行 MD“ 这件事发生的概率会增加,越来越多的流尚未 AI 达到自己的均分带宽,便被迫 MD,这导致 cwnd 均值上不去。这解释了多流收敛代价递增。

我相信以上解释是个普适解释,同步成本递增这种事可以看《人月神话》,管理开销递增是同一个事,可以看《规模》,接受便是。

我希望得到一个形式上的定量支撑,终于找到了这篇论文:Sizing Router Buffers ,Nick McKeown 的理论,2004 年很老的一篇论文。

该论文通过中心极限定律和高斯分布证明并验证了这个平方反比律是存在的。
在这里插入图片描述

以中心极限定律抽样 n 条流的平均 cwnd(or n 个 cwnd 之和),n 越大,钟越细高,Q = 0 和 Q = B 距离越近。

通过计算,论文给出了一个 AIMD(1, 0.5) 约束下的 B 的表达式:

B = B D P n B=\dfrac{BDP}{\sqrt n} B=n BDP

变换一下形式:

n = B D P × B D P B 2 n=\dfrac{BDP×BDP}{B^2} n=B2BDP×BDP

这就是平方反比律,甚至将 e 1 e_1 e1 e 2 e_2 e2 都给出来了。

两个相互作用的实体属性量即 BDP,一个 BDP 表示可延展的实际带宽与传播时延的乘积,另一个 BDP 表示与之等量的 buffer 约束不可延展缓存的上界。

这意味着流越多,所需 buffer 越小(越来越容易受毛刺 cwnd 连累而丢包 MD),端到端延时更多来自重传而非排队。

平方反比律强调,实际部署的 buffer 根本不需要跟着越来越大的带宽而增加,这不但节省了成本,对抑制 bufferbloat 亦有益:
在这里插入图片描述
绿线为平方反比律下承载 10000 条时 buffer 大小的走势,黑线是理论值走势,节省何其多。
在这里插入图片描述
绿线为平方反比律下固定 1000 BDP 时 buffer 大小的走势,黑线是理论值走势,节省何其多。

但且慢,平方反比律成立的前提是所有流异步,cwnd 和 RTT 独立时才适用,对于 Internet,这毫无问题,基本对得上模型,对于 DC 内部,类似 incast 这种流量往往是同步的,怎么办?

完全没问题,我前面几周写的那些 policy 就可以用了,比如 incast 业务随机退避,此外,即使流同步,大不了就是准备一个 BDP 大小的 buffer,在 DC 内部,RTT 非常小,这个 buffer 充其量也就是 1MB~10MB 级别。

平方反比律解释了 BBR 的高重传,它并不执行 AIMD,同时解释了 Reno/cubic 的低带宽利用率,它们对丢包太敏感。往反向想,流越多,执行 AIMD 越不要过激,可保带宽利用率,同理,流越少,要降速,可保低丢包,这些不可不察。

最近遇到一些关于交换机 buffer 需要多大的问题,Internet 节点 buffer 因为 RTT,带宽分布范围太过广泛,无法评价,但 DC 内部无论 RTT 还是带宽都相对固定,可以抽象一些共性。

浙江温州皮鞋湿,下雨进水不会胖。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值