从扩张性看 AWS RNG 为何优于传统胖树

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 相关的劣化工作中已经见识过这股伟大的力量。

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

相关推荐
两个人的幸福4 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
A小辣椒5 天前
AWS Clould Support Engineer就职面试题
aws
BingoGo6 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack6 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982076 天前
PHP 扩展——从入门到理解
php
鹏仔先生7 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下7 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip7 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
tiancaijiben8 天前
阿里云Kubernetes集群托管完全指南:从创建到生产级运维
云计算
酉鬼女又兒8 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php