接前文 为什么互联网选择了 AIMD 进一步抽象,本文我仅用尺度不变性这个自然真理推导 TCP 吞吐率公式,同时展现一种 “发现物理定律” 的通用建模方法。

若一个系统的方程形式不变,则它尺度不变:

f ( λ x ) = λ k f ( x ) f(\lambda x)=\lambda^k f(x) f(λx)=λkf(x)

这是个齐次函数,k 是标度指数,它对应于,先更新再缩放等价于先缩放再更新。

发现物理规律的核心在于,为满足尺度不变性,公式必须是量纲齐次的,即左右两边量纲必须完全一样,不能出现 “米 + 秒” 的情况,如果单位不一致,就不能自然缩放。

“幂次乘积” 形式的方程满足尺度不变性,这就是量纲分析。设:

  • cwnd 为 W,量纲 [W] = P(packets);
  • 丢包率 p,无量纲,[p] = 1;
  • RTT 为 T,量纲 [T] = T_;
  • 速率 v = W/T,量纲 [v] = P/T_;

缩放规模 T→λ·T,尺度不变要求速率不变,即 W→λ·W,由于任何满足尺度不变的关系,只能是幂次乘积:

W = C ⋅ T a ⋅ p b W=C\cdot T^a\cdot p^b W=CTapb

C 为无量纲常数。

由于左右量纲必须相等,左边量纲为 P,一个数量,右边:

[ T a ⋅ p b ] = [ T ] a ⋅ [ p ] b = T_ a [T^a\cdot p^b]=[T]^a\cdot [p]^b=\text{T\_}^a [Tapb]=[T]a[p]b=T_a

为了两边量纲必须相等,a 必须为 0,因此稳态窗口 W 不依赖 RTT:

W = C ⋅ p b W=C\cdot p^b W=Cpb

现在主要看网络规模放大 λ 倍后,p 如何缩放。

在稳态拥塞控制中,丢包是由 W(发送密度) 过高触发,这是一个在时间上累积发送量决定的事件:

丢包时的积累量 ∼ W ⋅ T 丢包时的积累量 \sim W\cdot T 丢包时的积累量WT

代入尺度变换:

W → λ ⋅ W , T → λ ⋅ T ,丢包时的积累量 → λ 2 ⋅ W ⋅ T W\to\lambda\cdot W,T\to\lambda\cdot T,丢包时的积累量 \to\lambda^2\cdot W\cdot T WλWTλT,丢包时的积累量λ2WT

因此:

p = 1 丢包时的积累量 → 1 λ 2 ⋅ 丢包时的积累量 = p λ 2 p=\dfrac{1}{丢包时的积累量}\to \dfrac{1}{\lambda^2\cdot丢包时的积累量}=\dfrac{p}{\lambda^2} p=丢包时的积累量1λ2丢包时的积累量1=λ2p

代入 W = C ⋅ p b W=C\cdot p^b W=Cpb

λ ⋅ W = C ⋅ ( p λ 2 ) b \lambda\cdot W=C\cdot(\dfrac{p}{\lambda^2})^b λW=C(λ2p)b

为了让两边量纲一致,需满足 λ = λ − 2 b \lambda=\lambda^{-2b} λ=λ2b,即:

b = − 1 2 b=-\dfrac{1}{2} b=21 W = C ⋅ p − 1 2 W=C\cdot p^{-\frac{1}{2}} W=Cp21

看啊,这就是结论!

通篇没任何 TCP 的细节,甚至没 AIMD,直接从尺度不变性推导出来的吞吐率公式的普适意义在于:

  • 对于一切基于 cwnd 控制的算法,无关发送策略(可以不是 AIMD),最终都满足此式;

如果你自行扩大 W,试图在数字上降低 p,结果就是 T 增加,v 降低,在所有情况下,AIMD 给出了一个统计意义上的最优解。

尺度不变的美感在于它就是描述世界的真理,世界本身就是按照这个真理缩放而成的,小到原子,大到星云。

再看一个经典的量纲分析例子,单摆周期与摆长的关系。

设周期为 T,摆长为 L,重力加速度为 g,按照幂次乘积原则:

T ∝ L a ⋅ g b T\propto L^a\cdot g^b TLagb

量纲关系,[L],[T] 自不必说,速度量纲为 [ L ] [ T ] \dfrac{[L]}{[T]} [T][L],而加速度则是 [ g ] = [ L ] [ T ] 2 [g]=\dfrac{[L]}{[T]^2} [g]=[T]2[L],代入上式后,右边量纲为:

[ L ] a ⋅ [ L ] b [ T ] 2 b = [ L ] a + b ⋅ [ T ] − 2 b [L]^a\cdot \dfrac{[L]^b}{[T]^{2b}}=[L]^{a+b}\cdot [T]^{-2b} [L]a[T]2b[L]b=[L]a+b[T]2b

为了和左边单位一致,则需要满足:

a + b = 0 , − 2 b = 1 a+b=0,-2b=1 a+b=02b=1

于是:

T ∝ ( L g ) 1 2 T\propto (\dfrac{L}{g})^{\frac{1}{2}} T(gL)21

看啊,这是什么!规律从简单的量纲一致性而来。

假期旅行期间,一有时间就看《微积分溯源》,16 世纪前后一段时间,人们对量纲一致性和齐次的物理意义颇有执念,基于此简单直白的量纲分析导出了很多普适的,简洁的,优美的物理规律。

你想知道一个量 x 与另一个量 y 有怎样的定量关系,大胆猜想的方向之一就是 “量纲一致性”,只要知道 x 被哪些量决定,列出幂次乘积式,量纲分析就有结论,基于这个方法论,平方反比律也可通过量纲分析加一点几何知识给出。

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐