AWS RNG 的论文 发出,果然编程的人还是关注且仅关注它在收敛比,RDMA 阻塞非阻塞等传统机制上是否有改进,并对新样式明显带有不服,在他们看来,任何脱离了主板样式的网络都是大逆不道,非要挑几个喷点出来念叨,编程的人是永远看不见没见过的把式的。
RNG 作为平坦随机网络为何优于规则胖树,有一些基于扩张性与最大流最小割的结论可证明此结论,这是算出来的,不是凭信仰。
大规模网络的综合性能由可扩展性,吞吐性能与简单性衡量,由于我只侧重于技术,故省掉了成本因素,但这并不意味着它不重要,在更现实意义上,设备的采购成本,运维成本,更新成本甚至是第一要考虑的,甚至远在技术之上,因此本文也不谈广域的 TCP/IP 互联网,恰就是广域的互联网重构成本太高,就连编程的人也不怎么关注广域的互联网,因为那个固定的地方也多少程给他们编。
若仅谈可扩展性,吞吐性能与简单性,RNG 可从随机图的扩张性为基点,结合我一直强调的替换 SPF 的最大流最小割原理,论证 d ‑正则平坦随机网络 d‑正则平坦随机网络 d‑正则平坦随机网络 在综合性能上严格优于规则 k‑ary 胖树。
在图论中,扩张性(Expansion)是指图,尤其是稀疏图中顶点集合向外延展或连接的能力,反映了网络的连通性强度和抗毁坏能力。
先从衡量网络有没有结构性瓶颈的随机图扩张性开始,定义图 G = ( V , E ) G=(V,E) G=(V,E) 的边扩张比:
h ( G ) = min S ⊂ V 1 ≤ ∣ S ∣ ≤ ∣ V ∣ / 2 ∣ ∂ S ∣ ∣ S ∣ h(G)=\min_{\substack{S\subset V \\ 1 \le |S| \le |V|/2}}\dfrac{|\partial S|}{|S|} h(G)=minS⊂V1≤∣S∣≤∣V∣/2∣S∣∣∂S∣
其中 ∂ S \partial S ∂S 为从 S S S 指向外部的边的集合。 h ( G ) h(G) h(G) 越大,说明任意小规模节点子集都拥有足够多的出口路径,网络越不容易出现结构性瓶颈。
随机 d ‑正则图 d‑正则图 d‑正则图 满足 Friedman 定理:
λ 2 ( G ) ≤ 2 d − 1 + o ( 1 ) w.h.p. \lambda_2(G)≤2d−1+o(1)\, \text{w.h.p.} λ2(G)≤2d−1+o(1)w.h.p.
结合 Cheeger--Alon--Milman 不等式:
h ( G ) ≥ d − λ 2 2 = d − 2 d − 1 2 − o ( 1 ) = Θ ( d ) h(G)≥\dfrac{d−\lambda_2}{2}=\dfrac{d−2\sqrt{d−1}}{2}−o(1)=\Theta(d) h(G)≥2d−λ2=2d−2d−1 −o(1)=Θ(d)
即平坦随机网络是渐近最优的 expander,任意割都有 Θ ( d ⋅ ∣ S ∣ ) \Theta(d\cdot|S|) Θ(d⋅∣S∣) 条跨边。
相比之下,k‑ary 胖树虽然整体 bisection 带宽充足,但存在结构性割:
- pod 内到 pod 外必须经过固定数量的 uplink;
- core 层链路成为共享瓶颈;
- 最小割大小受 pod 数量限制,而非 Θ ( d ⋅ ∣ S ∣ ) \Theta(d\cdot|S|) Θ(d⋅∣S∣);
从扩张性角度看,胖树是有瓶颈的均匀拓扑,而 RNG 是无瓶颈的全局扩张拓扑。
再看吞吐能力,本质上就是看一个路径长度。
根据 Max‑Flow Min‑Cut 定理,任意一对源目的 ( s , t ) (s,t) (s,t) 的最大流值等于其最小割容量。
平坦随机网络中,由于 h ( G ) = Θ ( d ) h(G)=\Theta(d) h(G)=Θ(d):
- 任意 s ‑ t s‑t s‑t 的最小割至少为 Θ ( d ) \Theta(d) Θ(d);
- 存在 Θ ( d ) \Theta(d) Θ(d) 条边不相交路径;
- 容量均匀的假设下,单流吞吐可达 Θ ( d ) \Theta(d) Θ(d);
对任意子集 S ⊂ V , ∣ S ∣ ≤ N 2 S\subset V,∣S∣≤\dfrac{N}{2} S⊂V,∣S∣≤2N:
∣ ∂ S ∣ ≥ h ( G ) ⋅ ∣ S ∣ = Θ ( d ⋅ ∣ S ∣ ) ∣\partial S∣≥h(G)\cdot∣S∣=\Theta(d\cdot∣S∣) ∣∂S∣≥h(G)⋅∣S∣=Θ(d⋅∣S∣)
最小割容量:
C min = ∣ S ∣ = N 2 min ∣ ∂ S ∣ = Θ ( d N ) C_{\text{min}}=∣S∣=\dfrac{N}{2}\text{min}∣\partial S∣=\Theta(dN) Cmin=∣S∣=2Nmin∣∂S∣=Θ(dN)
而规则胖树中,虽然同 pod 内通信,路径短,但跨 pod 通信必须经过 core。跨 pod s ‑ t s‑t s‑t 的最小割受限于上行链路数,收敛比,core 层链路总数,实际最大流 ≤ m i n ( 核心链路数 , 上行链路数 ) ≪ Θ ( d ) ≤ min(核心链路数, 上行链路数) ≪ \Theta(d) ≤min(核心链路数,上行链路数)≪Θ(d).
胖树中最紧的最小割出现在 pod 边界,pod 数 = k = k =k,ToR 数 = k 2 2 = pod内节点数 = \dfrac{k^2}{2}=\text{pod} 内节点数 =2k2=pod内节点数,它又等于每个 pod 上行链路数,因此总节点数就是 k 2 2 × k = k 3 2 \dfrac{k^2}{2}\times k=\dfrac{k^3}{2} 2k2×k=2k3,pod 级最小割就是:
C min = Θ ( N 2 3 ) C_{\text{min}}=\Theta(N^{\frac{2}{3}}) Cmin=Θ(N32)
在 N → ∞ N\to\infty N→∞ 时, d N ≫ N 2 / 3 dN≫N^{2/3} dN≫N2/3,平坦随机网络的最小割容量呈线性增长,而胖树仅为亚线性增长。
看最大流和边不相交路径,根据 Max‑Flow Min‑Cut 定理 与 Menger 定理:任意 s ‑ t s‑t s‑t 对的最大流值 = 最小割容量 = 边不相交路径数.
RNG 单位最小割为 Θ ( d ) \Theta(d) Θ(d), 任意 s ‑ t s‑t s‑t 对存在 Θ ( d ) \Theta(d) Θ(d) 条边不相交路径,因此单流最大吞吐 T = Θ ( d ) T=\Theta(d) T=Θ(d)。而胖树跨 pod 通信受限于上行链路数 k 和 core 层路径数,因此其单流最大吞吐 T ≤ k = Θ ( N 1 3 ) T\le k=\Theta(N^{\frac{1}{3}}) T≤k=Θ(N31)
因此,RNG 的最大流由图扩张性保证,是点对点且均匀分布,而胖树的最大流受限于层级结构的共享资源。
再看路径长度,这个不多分析,直观的结论,对于 d ‑正则随机图 d‑正则随机图 d‑正则随机图,平均路径长度为 log N log ( d − 1 ) + λ + o ( 1 ) \dfrac{\log N}{\log(d-1)}+\lambda+o(1) log(d−1)logN+λ+o(1),路径极短,典型的 d = 32 , N = 10 4 d=32,N=10^4 d=32,N=104 ,也就 2.8 2.8 2.8 跳,而对于 k-ary 胖树,其直径为 2 log 2 k + 2 = O ( log N ) 2\log_2k+2=O(\log N) 2log2k+2=O(logN), k = 32 k=32 k=32 时,平均 4.6 4.6 4.6 跳,显著偏长。
随机正则图具有指数级 BFS 扩张特性:
∣ B r ( v ) ∣ = 1 + d + d ( d − 1 ) + ⋯ + d ( d − 1 ) r − 1 ∣B_r(v)∣=1+d+d(d−1)+⋯+d(d−1)^{r−1} ∣Br(v)∣=1+d+d(d−1)+⋯+d(d−1)r−1
这使得绝大多数节点对在 2 ∼ 4 2\sim 4 2∼4 跳内可达,显著同时降低了排队延迟,拥塞概率和端到端抖动,这就是我说的拥塞分担或拥塞分散,即在 spraypoint 机制下:
- RNG 流量被均匀喷洒到 Θ ( d ) \Theta(d) Θ(d) 个中间节点,全网链路利用率均衡;
- 胖树的 hash‑based ECMP 只能在固定的 k k k 条路径间选择,core 链路过载,无关链路空闲;
如此特性,理论表明在 permutation traffic/all‑reduce/skewed workload 下,RNG 的有效吞吐显著高于同规模胖树,而实际如何则需要等 AWS 的报告。
因此,在可扩展性,吞吐性能与工程简单性三者综合考量下,平坦随机网络 RNG 在性能上优于规则胖树,这也是 AWS 在超大规模数据中心中逐步采用随机拓扑的理论源泉。
就在上周我写了一篇 请不要再优化网络了,提出了大规模规则网络的 "可扩展性,高性能,简单性" 的不可能三角,在随机网络中,这个不可能三角便被拆解了,高性能和可扩展性不再具有兑换关系,如上文论证,性能也成了可扩展性的一环,性能在网络中可扩展而不再是性能绑定于实现,拓扑支撑了一切。
拓扑的核心价值在于决定网络流量的行为,这是康威定律的表述,可参考我写的 正则拓扑与自然生长 与 康威定律与数据中心网络。
规则网络关注收敛比,可互联网就非常弱化它,规则收敛比的存在恰是因为规则拓扑注定要共享链路,因此拥塞是必然,而 RNG 用随机彻底重构了拓扑,随机网络赌的是赢面很大的 90 + % ⋅ d 90+\%\cdot d 90+%⋅d 条边不相交的独立路径,彻底消融了收敛比,那么即使相交,负载也是高度被分散的。
结构影响行为,流量的行为也将彻底改变,这才是真正的网络。
以工科生对技术迭代的马后炮认知来看,他们还会继续错过很多东西,猛追热点看似 Open 前卫,实则在 AI 出来之前他们没一个人能想象以 GPU 组织的 AI 算力网络的形式,等它们真出来了,又被工科生捧为唯一的形式而不言其它。
这股力量真猛真可怕,我在过去几年 BBR 和 TCP 相关的劣化工作中已经见识过这股伟大的力量。
浙江温州皮鞋湿,下雨进水不会胖。