高性能计算场景的流量关注静态时延的同时需要支持超大规模组网。然而传统的 CLOS 架构作为主流网络架构,主要关注通用性,牺牲了时延和性价比。业界针对该问题开展了多样的架构研究和新拓扑的设计, Fat-Tree 、 Dragonfly 、 Torus 是几种常见的网络拓扑, Fat-Tree 架构实现无阻塞转发, Dragonfly 架构网络直径小, Torus 具有较高的扩展性和性价比。
相关阅读:
Fat-Tree 胖树架构
传统的树形网络拓扑中,带宽是逐层收敛的,树根处的网络带宽要远小于各个叶子处所有带宽的总和。而 Fat-Tree 则更像是真实的树,越到树根,枝干越粗,即:从叶子到树根,网络带宽不收敛,这是 Fat-Tree 能够支撑 无阻塞网络 的基础。 Fat-Tree 是使用最广泛的拓扑之一,它是各种应用程序的一个很好的选择,因为它提供低延迟并支持各种吞吐量选项 —— 从非阻塞连接到超额订阅,这种拓扑类型最大限度地提高了各种流量模式的数据吞吐量。
Fat-Tree 架构采用 1:1 无收敛设计, Fat-Tree 架构中交换机上联端口与下联端口带宽、数量保持一致,同时交换机要采用无阻塞转发的数据中心级交换机。 Fat-Tree 架构可以通过扩展网络层次提升接入的 GPU 节点数量。
Fat-Tree 架构的本质是无带宽收敛,因此,云数据中心的 Spine-leaf 组网在无收敛的情况下,也可以认为是遵从了 Fat-Tree 架构理念。
如果交换机的端口数量为 n ,则:两层 Fat-Tree 架构能够接入 n²/2 张 GPU 卡,以 40 端口的 InfiniBand 交换机为例,能够接入的 GPU 数量最多可达 800 个。三层 Fat-Tree 架构能够接入 n ( n/2 ) *(n/2) 张 GPU 卡,以 40 端口的 InfiniBand 交换机为例,能够接入的 GPU 数量最多可达 16000 个。
但是, Fat-Tree 架构也存在明显的缺陷:
网络中交换机与服务器的比值较大,需要大量的交换机和链路,因此,在大规模情况下成本相对较高。构建 Fat-Tree 需要的交换机数量为 5M/n (其中, M 是服务器的数量, n 是交换机的端口数量),当交换机的端口数量 n 较小时,连接 Fat-Tree 需要的交换机数量庞大,从而增加了布线和配置的复杂性;
拓扑结构 的特点决定了网络不能很好的支持 One-to-All 及 All-to-All 网络通信模式,不利于部署 MapReduce 、 Dryad 等高性能分布式应用;
扩展规模在理论上受限于核心层交换机的端口数目。
Fat-Tree 架构的本质是 CLOS 架构网络,主要关注通用性和无收敛,牺牲了时延和性价比。在构建大规模集群网络时需要增加网络层数,需要更多的互联光纤和交换机,带来成本的增加,同时随着集群规模增大,网络跳数增加,导致通信时延增加,也可能会无法满足业务低时延需求。
Dragonfly 架构
Dragonfly 是当前应用最广泛的直连拓扑网络架构,它由 John Kim 等人在 2008 年的论文 Technology-Driven, Highly-Scalable Dragonfly Topology 中提出,它的特点是网络直径小、成本较低,已经在高性能计算网络中被广泛应用,也适用于多元化算力的数据中心网络。
Dragonfly 网络如下图所示:
Dragonfly 的拓扑结构分为三层: Switch 层、 Group 层、 System 层。
Switch 层:包括一个交换机及其相连的 P 个计算节点;
Group 层:包含 a 个 Switch 层,这 a 个 Switch 层的 a 个交换机是全连接 (All-to-all) 的,换言之,每个交换机都有 a-1 条链路连接分别连接到其他的 a-1 台交换机;
System 层:包含 g 个 Group 层,这 g 个 Group 层也是全连接的。
对于单个 Switch 交换机,它有 p 个端口连接到了计算节点, a-1 个端口连接到 Group 内其他交换机, h 个端口连接到其他 Group 的交换机。因此,我们可以计算得到网络中的如下属性:
每个交换机的端口数为 k=p+(a-1)+h
Group 的数量为 g=ah+1
网络中一共有 N=ap(ah+1) 个计算节点
如果我们把一个 Group 内的交换机都合成一个,将它们视为一个交换机,那么这个交换机的端口数为 k‘=a(p+h)。
不难发现,在确定了 p 、 a 、 h 、 g 四个参数之后,我们就可以确定一个 Dragonfly 的拓扑,因此,一个 Dragonfly 的拓扑可以用 dfly(p,a,h,g) 来表示, 一种推荐的较为平衡的配置是方法是: a=2p=2h 。
Dragonfly 的路由算法主要有以下几种 :
最小路由算法( Minimal Routing ):由于拓扑的性质, Minimal Routing 中最多只会有 1 条 Global Link 和 2 条 Local Link ,也就是说最多 3 跳即可到达。在任由两个 Group 之间只有一条直连连接时(即 g=ah+1 时),最短 路径 只有一条。
非最短路径的路由算法( Non-Minimal Routing ):有的地方叫 Valiant algorithm ,简写为 VAL ,还有的地方叫 Valiant Load-balanced routing ,简写为 VLB 。随机选择一个 Group ,先发到这个 Group 然后再发到目的地。由于拓扑的性质, VAL 最多会经过 2 条 Global Link 和 3 条 Local Link ,最多 5 跳即可到达。
自适应路由 ( Adaptive Routing ):当一个数据包到达交换机时,交换机根据网络负载信息在最短路径路由和非最短路径路由路径之间进行动态选路,优先采用最短路径转发,当最短路径拥塞时,通过非最短路径转发。因为要获取到全局网络状态信息比较困难,除了 UGAL (全局自适应负载均衡路由),还提出了一系列变种自适应路由算法,如 UGAL-L , UGAL-G 等。
上述几种路由,由于自适应路由能够根据网络链路状态动态调整流量转发路径,因此会有更好的性能表现。
Dragonfly 为各种应用程序(或通信模式)提供了良好的性能,与其他拓扑相比,它通过直连模式,缩短网络路径,减少中间节点数量。 64 端口交换机支持组网规模 27 万节点,端到端交换机转发跳数减至 3 跳。
Dragonfly 拓扑在性能和性价比方面有显著的优势。然而,这种优势的实现需要依赖于有效的拥塞控制和自适应路由策略。 Dragonfly 网络在扩展性方面存在问题,每次需要增加网络容量时,都必须对 Dragonfly 网络进行重新布线,这增加了网络的复杂性和管理难度。
Torus 架构
随着模型参数的增加和训练数据的增加,单台机器算力无法满足,存储无法满足,所以要分布式机器学习,集合通信则是分布式机器学习的底层支撑,集合通信的难点在于需要在一定的网络互联结构的约束下进行高效的通信,需要在效率与成本、带宽与时延、客户要求与质量、创新与产品化等之间进行合理取舍。
Torus 网络架构是一种完全对称的拓扑结构,具有很多优良特性,如网络直径小、结构简单、路径多以及可扩展性好等特点,非常适合集合通信使用。索尼公司提出 2D-Torus 算法,其主要思想就是组内 satter-reduce-> 组间 all-reduce-> 组内 all-gather 。 IBM 提出了 3D-Torus 算法。
我们用 k-ary n-cube 来表示。 k 是排列的边的长度, n 是排列的维度。
3-ary 3-cube拓扑如下:
以 2D-Torus 拓扑为例,可以将网络结构表达成如下的 Torus 结构。
横向:每台服务器 X 个 GPU 节点,每 GPU 节点通过私有协议网络互联(如 NVLINK );
纵向:每台服务器通过至少 2 张 RDMA 网卡 NIC 0 /NIC 1 通过交换机互联。
第 1 步,横向,先进行主机内 Ring Scatter Reduce ,将主机内 8 张卡上的梯度进行拆分与规约,这样经过迭代,到最后每个 GPU 将有一个完整的同维梯度,该块梯度包含所有 GPU 中该块所对应的所有梯度的总和;
第 2 步,纵向,进行主机间 X 个纵向的 Ring All Reduce ,将每台服务器的 X 个 GPU 上的数据进行集群内纵向全局规约;
第 3 步,横向,进行主机内 All Gather ,将 GPUi[i=0~(X-1)] 上的梯度复制到服务器内的其他 GPU 上;
Torus 网络架构具有如下优势:
更低的延迟:环面拓扑可以提供更低的延迟,因为它在相邻节点之间有短而直接的链接;
更好的局部性:在环面网络中,物理上彼此靠近的节点在逻辑上也很接近,这可以带来更好的数据局部性并减少通信开销,从而降低时延和功耗。
较低的网络直径:对于相同数量的节点,环面拓扑的网络直径低于 CLOS 网络,需要更少的交换机,从而节省大量成本。
Torus 网络架构也存在一些不足:
可预测方面,环面网络中是无法保证的;
易扩展方面:缩放环面网络可能涉及重新配置整个拓扑,可能更加复杂和耗时;
负载平衡方面:环面网络提供多条路径,但相对 Fat-tree 备选路径数量要少;
故障排查:对于突发故障的排查复杂性略高,不过动态可重配路由的灵活性可以大幅避免事故。
Torus 网络拓扑除了 2D/3D 结构外,也在向更高维度发展, Torus 高维度网络中的一个单 元称之为 硅元 ,一个硅元内部采用 3D-Torus 拓扑结构,多个硅元可以构建更高维的 4D/5D/6D-Torus 直接网络。
来源: https://mp.weixin.qq.com/s/DXKEJHif7bkA4zXsm_HuFA
下载链接:
走进芯时代(76):HBM迭代,3D混合键合成设备材料发力点
走进芯时代(75):「半导核心材料」:万丈高楼材料起,夯实中国「芯」地基」
走进芯时代(74):以芯助先进算法,以算驱万物智能
走进芯时代(60):AI算力GPU,AI产业化再加速,智能大时代已开启
走进芯时代(58):高性能模拟替代渐入深水区,工业汽车重点突破
走进芯时代(57):算力大时代,处理器SOC厂商综合对比
走进芯时代(49):「AI芯片」,AI领强算力时代,GPU启新场景落地
走进芯时代(46):「新能源芯」,乘碳中和之风,基础元件腾飞
走进芯时代(43):显示驱动芯—面板国产化最后一公里
走进芯时代(40):半导体设备,再迎黄金时代
转载申明:转载 本号文章请 注明作者 和 来源 ,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多 架构相关技术 知识总结请参考「 架构师全店铺技术资料打包 (全) 」相关电子书( 41本 技术资料打包汇总详情 可通过「 阅读原文 」获取)。
全店内容持续更新,现下单「 架构师技术全店资料打包汇总(全) 」一起发送「 」 和「 」 pdf及ppt版本 ,后续可享 全店 内容更新「 免费 」赠阅,价格仅收 249 元(原总价 399 元)。
温馨提示:
扫描 二维码 关注公众号,点击 阅读原文 链接 获取 「 架构师技术全店资料打包汇总(全) 」 电子书资料详情 。