传统的云数据中心网络一般是根据对外供给服务的流量模型而规划的,流量主要是从数据中心到终究客户,即以南北向流量为主,云内部东西向流量为辅。承载 VPC 网络的底层物理网络架构,关于承载智算事务存在如下应战。
本文选自“”,对传统网络与智算网络、两层胖树、三次胖树及全面的剖析比照,并介绍了组网最佳实践。
有堵塞网络:考虑到并非一切服务器都会一起对外发生流量,为了操控网络建造本钱, Leaf 沟通机的下联带宽和上联带宽并非依照 1:1 规划,而是存在收敛比。一般上联带宽仅有下联带宽的三分之一。
云内部流量时延比较来说较高:跨 Leaf 沟通机的两台服务器互访需求经过 Spine 沟通机,转发途径有 3 跳。
带宽不够大:正常的状况下单物理机只要一张网卡接入 VPC 网络,单张网卡的带宽比较有限,当时较大规划商用的网卡带宽一般都不大于 200Gbps。
关于智算场景,当时比较好的实践是独立建一张高功能网络来承载智算事务,满意大带宽,低时延,无损的需求。
智算服务器能够满配 8 张 GPU 卡,并预留 8 个 PCIe 网卡插槽。在多机组成 GPU 集群时,两个 GPU 跨机互通的突发带宽有必定的概率会大于 50Gbps。因而,一般会给每个 GPU 相关一个至少 100Gbps 的网络端口。在这种场景下能够装备 4张 2*100Gbps 的网卡,也能够装备 8 张 1*100Gbps 的网卡,当然也能够装备 8 张单端口 200/400Gbps 的网卡。
无堵塞网络规划的要害是选用 Fat-Tree(胖树)网络架构。沟通机下联和上联带宽选用 1:1 无收敛规划,即假如下联有64 个 100Gbps 的端口,那么上联也有 64 个 100Gbps 的端口。
此外沟通机要选用无堵塞转发的数据中心级沟通机。当时市场上干流的数据中心沟通机一般都能供给全端口无堵塞的转发才能。
在低时延网络架构规划方面,百度智能云实践和落地了根据导轨(Rail)优化的 AI-Pool 网络计划。在这个网络计划中,8 个接入沟通机为一组,构成一个 AI-Pool。以两层沟通机组网架构为例,这种网络架构能做到同 AI-Pool 的不同智算节点的 GPU 互访仅需一跳。
在 AI-Pool 网络架构中,不同智算节点间相同编号的网口需求连接到同一台沟通机。如智算节点 1 的 1 号 RDMA 网口,智算节点 2 的 1 号 RDMA 网口直到智算节点 P/2 的 1 号 RDMA 网口都连到 1 号沟通机。
在智算节点内部,上层通讯库根据机内网络拓扑进行网络匹配,让相同编号的 GPU 卡和相同编号的网口相关。这样相同GPU 编号的两台智算节点间仅一跳就可互通。
不同GPU编号的智算节点间,凭借NCCL通讯库中的Rail Local技能,能够充沛的使用主机内GPU间的NVSwitch的带宽,将多机间的跨卡号互通转换为跨机间的同GPU卡号的互通。
关于跨 AI-Pool 的两台物理机的互通,需求过会聚沟通机,此刻会有 3 跳。
网络可承载的 GPU 卡的规划和所选用沟通机的端口密度、网络架构相关。网络的层次多,承载的 GPU 卡的规划会变大,但转发的跳数和时延也会变大,需求结合实践事务状况做权衡。
8 台接入沟通机组成一个智算资源池 AI-Pool。图中 P 代表单台沟通机的端口数。单台沟通机最大可下联和上联的端口为P/2 个,即单台沟通机最多能够下联 P/2 台服务器和 P/2 台沟通机。两层胖树网络能够接入 P*P/2 张 GPU 卡。
三层网络架构中会新增会聚沟通机组和中心沟通机组。每个组里面的最大沟通机数量为 P/2。会聚沟通机组最大数量为 8,中心沟通机组的最大数量为 P/2。三层胖树网络能够接入 P*(P/2)*(P/2)=P*P*P/4 张 GPU 卡。
在三层胖树组网中,InfiniBand 的 40 端口的 200Gbps HDR 沟通机能包容的最多 GPU 数量是 16000。这个 16000GPU 卡的规划也是现在 InfiniBand 当时在国内实践使用的 GPU 集群的规划最大网络,当时这个记载被百度坚持。
两层胖树和三层胖树最重要的区别是能够包容的 GPU 卡的规划不同。鄙人图中 N 代表 GPU 卡的规划,P 代表单台沟通机的端口数量。比方关于端口数为 40 的沟通机,两层胖树架构可包容的 GPU 卡的数量是 800 卡,三层胖树架构可包容的 GPU 卡的数量是 16000 卡。
两层胖树和三层胖树网络架构别的一个区别是恣意两个节点的网络转发途径的跳数不同。
关于同智算资源池 AI-Pool 的两层胖树架构,智算节点间同 GPU 卡号转发跳数为 1 跳。智算节点间不同 GPU 卡号在没有做智算节点内部 Rail Local 优化的状况下转发跳数为 3 跳。
关于同智算资源池 AI-Pool 的三层胖树架构,智算节点间同 GPU 卡号转发跳数为 3 跳。智算节点间不同 GPU 卡号在没有做智算节点内部 Rail Local 优化的状况下转发跳数为 5 跳。
不同类型的 InfiniBand/RoCE 沟通机和不同的网络架构下所支撑的 GPU 的规划不同。结合当时已老练商用的沟通机,咱们引荐几种物理网络架构的标准供客户挑选。
Large:RoCE 两层胖树网络架构,根据 128 端口 100G 数据中心以太沟通机,单集群最大支撑 8192 张 GPU 卡。
XXLarge: 根据 InfiniBand Quantum-2 沟通机或平等功能的以太网数据中心沟通机,选用三层胖树网络架构,单集群最大支撑 100000 张 GPU 卡。
支撑上层立异使用和算法落地的要害环节之一是底层的算力,而支撑智算集群的算力发挥其最大功效的要害之一是高功能网络。度小满的单个智算集群的规划可达 8192 张 GPU 卡,在每个智算集群内部的智算资源池 AI-Pool 中可支撑 512张 GPU 卡。经过无堵塞、低时延、高牢靠的网络规划,高效的支撑了上层智算使用的快速迭代和开展。
为了完成更高的集群运转功能,百度智能云专门规划了适用于超大规划集群的 InfiniBand 网络架构。该网络已安稳运转多年,2021 年建造之初就直接选用了 200Gbps 的 InfiniBand HDR 沟通机,单台 GPU 服务器的对外通讯带宽为1.6Tbps。
IT架构师/技能大咖的沟通圈子,为您供给架构系统常识、技能文章、盛行实践事例、解决计划等,行业大咖共享沟通/同行经历共享互动,等待你的参加!扫码即可参加哦,跟着资料不断增多社群会不定期提价早参加更优惠