AI算力集群网络规模与集群算力发展分析

本文详细探讨了GPU集群的网络配置,特别是NvidiaDGX系列服务器的网络带宽需求和优化策略。文章介绍了GPU服务器网卡配置的重要性,以及如何根据GPU卡的PCIe带宽选择合适的计算网络。同时,探讨了集群规模的限制及其与网络架构的关系,包括Fat-Tree网络拓扑和线性加速比对性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

960c865fe2659abe32a0c00818e751cc.jpeg

 

GPU集群网络、集群规模、集群算力

   

在过去十年中,60% 的创业公司在五年内失败。现在,成功的几率提高了 30%,达到 90%!加入我们的创业加速器,提升您成功的可能性。

一、引言

在生成式 AI 和大模型的时代,我们专注于 GPU 集群的总有效算力。单个 GPU 的有效算力约为峰值算力的 95%。例如,Nvidia A100 的峰值算力为 312 TFLOPS,有效算力约为 298 TFLOPS。

探索GPU集群的规划与网络配置,重点关注算力网络平面。
尽管熟悉单GPU卡和服务器,但GPU集群的规模和算力规划仍然处于探索阶段。本文探讨算力网络平面,这是集群中最重要的元素之一。存储和管理网络平面相对简单,因此本文不予讨论。

08b3efdd8ede00dd6e85edc8ce089071.jpeg

GPU集群网络架构示例(两层计算网络)[3]

二、GPU服务器网卡配置

GPU集群的性能很大程度上取决于网络配置。Nvidia推荐每块DGX A100 GPU配备200 Gbps网络连接,以实现最佳算力利用率。单台DGX A100服务器配备8块计算网络卡(如InfiniBand 200 Gbps),总有效算力高达1.6 Tbps。

44e3000f4ff7f006f02662c87dc91384.jpeg

NVIDIA DGX A100系统,以其强大的DGX超级模块闻名,提供卓越的AI性能。其服务器块包含8个经过优化的高性能V100 Tensor Core GPU,总内存高达1TB,为AI工作负载提供无与伦比的计算能力。

那么GPU服务器之间的计算网络带宽是依据什么来确定的呢?

计算网络带宽由 GPU 卡支持的 PCIe 带宽决定。GPU 卡通过 PCIe 交换机连接至计算网络网卡,因此 PCIe 带宽会限制计算网络带宽。

举例而言,对于Nvidia DGX A100服务器,因为单张A100卡支持的是PCIe Gen4,双向带宽是64 GB/s,单向带宽是 32 GB/s,即 256 Gbps。所以,为单张A100卡配置 200 Gbps 的网卡就足够了

所以,单看计算网络,Nvidia DGX A100服务器配置的是8张 Mellanox ConnectX-6 InfiniBand 网卡(注:也可以配置 Mellanox ConnectX-7,因为ConnectX-7也支持 200 Gbps)。如果是给A100卡配置 400 Gbps 的网卡,因为受到PCIe Gen4带宽限制,400 Gbps 的网卡作用是发挥不出来的(那么就浪费了很多网卡带宽)。

eeb7896cd4e6b29003a0ea23add385e2.jpeg

Nvidia DGX A100 system topology [4]

对于Nvidia DGX H100服务器,因为单张H100卡支持的是PCIe Gen5,双向带宽是128 GB/s,单向带宽是 64 GB/s,即 512 Gbps。

所以,为单张H100卡配置 400 Gbps 的计算网卡是Nvidia推荐的标准配置 [5]。单看计算网络,Nvidia DGX H100服务器配置的是8张 Mellanox ConnectX-7 InfiniBand 网卡,单个H100卡拥有 400 Gbps 对外网络连接 [5]。

306484384280115876519de73363ed1a.jpeg

DGX H100 Configuration [5, 6]

需要说明的是,对于A800和H800服务器的计算网络配置,国内使用A800和H800服务器一般不是采用Nvidia DGX推荐的标准配置。例如,对于A800服务器,计算网卡配置常见的有两种方式:第一种是 8 x 200 GbE,即每张A800卡有单独的200 GbE网卡配置(8张A800卡一共有 ~1.6 Tbps RoCEv2计算网络连接[7]);

第二种是 4 x 200 GbE,即每两张A800卡共享一个200 GbE网卡,单卡最高是200 GbE网络,平均每张A800卡有对外100GbE的连接[7]。第二种方式类似Nvidia DGX V100的设计 [8]。考虑到可以先在A800服务器内进行通信聚合,然后再与其他服务器通信,所以这两种计算网卡配置方式对于整个集群效率的影响基本一致。

H800服务器支持PCIe Gen5,为8 x 400GbE计算网卡配置提供了强大的网络连接。每张H800卡可配置单独的400 GbE网卡,实现外部400 GbE计算网络连接。8张H800卡协同工作,可提供高达3.2 Tbps的极速RoCEv2计算网络连接。

华为昇腾910B NPU卡支持PCIe Gen5,提供400 GbE网络连接能力。16卡昇腾910B服务器可配置8块400 GbE网卡,平均每卡200 GbE网络带宽,显著提升数据传输效率和并行处理能力。

Nvidia使用NVLink和NVSwitch实现了单个服务器内多个GPU之间的高速互联,而使用多个服务器组建集群时,PCIe带宽仍然是主要性能瓶颈(集群网络瓶颈),这是因为当前网卡和GPU卡之间的连接主要还是通过PCIe Switch来连接。随着未来PCIe Gen6(2022年标准发布)普及应用,甚至PCIe Gen7(预计2025年标准发布)普及应用,GPU集群的整体性能又会上一个新台阶。还有2024年将要发布的Nvidia H20也是支持PCIe Gen5。

三、GPU集群网络和集群规模

上面讨论了单个GPU服务器的网卡配置,接下来讨论GPU集群网络架构(GPU cluster fabrics)和集群规模。实践中最常用的GPU集群网络拓扑是胖树(Fat-Tree)无阻塞网络架构(无收敛设计),这是因为Fat-Tree架构易于拓展、路由简单、方便管理和运维、鲁棒性好,且成本相对较低。实践中,一般规模较小的GPU集群计算网络采用两层架构(Leaf-Spine),而规模较大的GPU集群计算网络采用三层架构(Leaf-Spine-Core)。

这里 Leaf对应接入层(Access),Spine对应汇聚层(Aggregation),Core对应核心层。

3f4c82bea00ebe022c7f5c1d3b3423ab.jpeg

三层Fat-Tree计算网络示例 [9]

利用两层Fat-Tree无阻塞网络结构优化GPU集群计算网络,每个交换机端口数量为P。该网络支持最多P*P/2块GPU卡,实现高达50%的GPU连接密度。

在两层Fat-Tree无阻塞计算网络里(Leaf-Spine),第一层中每一台Leaf交换机用P/2个端口来连接GPU卡,另外P/2个端口向上连接Spine交换机(无阻塞网络要求向下和向上连接数量相同)。

第二层中每台Spine交换机也有P个端口,可以向下最多连接P台Leaf交换机,所以在两层Fat-Tree无阻塞计算网络里最多有P台Leaf交换机,所以总的GPU卡的数量最多为P*P/2。因为有P个Leaf交换机,每台Leaf交换机有P/2个端口向上连接Spine交换机,所以有P/2个Spine交换机。

部署 Nvidia A100 集群时,采用 Mellanox QM8700 等 40 端口交换机,并在两层 Fat-Tree 架构下,集群可容纳高达 800 个 A100 卡。专为高性能计算量身定制的此网络配置优化了连接和可扩展性,为数据密集型工作负载提供了无与伦比的性能。

5339820b1033c786abcd5e9a0f82a9ba.jpeg

两层Fat-Tree计算网络示例 [10]


优化 GPU 服务器互联设置以提升分布式计算效率:
- 避免在同一服务器中将 GPU 卡连接到同一交换机叶节点,如果服务器内存在高速卡间互联(如 NVLink/NVSwitch)。
- 不同服务器中编号相同的 GPU 卡应连接到同一个交换机叶节点,以增强跨服务器 AllReduce 操作等分布式计算的效率。

避免跨NUMA通信,优化GPU服务器性能。
对于无卡间高速互联解决方案的GPU服务器,建议将同一服务器内的GPU卡连接到同一Leaf交换机。此举可有效避免跨NUMA通信,提升服务器性能。

三层计算网络优化:
采用三层计算网络,将接入的GPU数量提升至 32768,比两层网络提升四倍。该网络结构大幅扩展了 GPU 集群的规模,满足大型计算任务的需求。

对于大规模 GPU 集群,三层 Fat-Tree 计算网络架构可提供无阻塞互连。假设交换机端口数均为 P,则集群中 GPU 卡数量最大上限为 P^3/4。这种架构最大限度地利用了交换机容量,确保了高性能计算和通信。

从两层Fat-Tree网络向三层Fat-Tree网络扩展,我们可以把两层Fat-Tree网络看成一个单元(即一个两层Fat-Tree子网络)。因为每台Spine交换机有一半端口向下连接Leaf交换机(每台Spine交换机最多只能连接P/2个Leaf交换机),另一半端口向上连接Core交换机,所以每个两层Fat-Tree子网络里只能有P/2个Leaf交换机。

在无阻塞网络里,各层的连接数量都要保持相同,所以Spine交换机和Leaf交换机的数量相同。

在三层 Fat-Tree 无阻塞计算网络中,Leaf 交换机数量为 P*P/2,Spine 交换机数量也为 P*P/2,GPU 卡最大数量为 P*P*P/4。Spine 交换机连接 Core 交换机的数量为 P*P*P/4,因此 Core 交换机数量为 P*P/4。

8f6f456a1e8fa65f1af77bbd8288b658.jpeg

H800 GPU集群网络拓扑举例 [11]


GPU集群规模受计算网络架构和交换机端口数限制。

服务器中 GPU 数量的计算公式:
GPU 总数 = 单个网卡连接的 GPU 数 × 网卡数量
例如:
* 拥有 8 个 A800 GPU 的服务器配有 4 个 200 GbE 网卡:
> GPU 总数 = 2 x 4 = 8

交换机端口数(Leaf、Spine、Core交换机相同)

三层Fat-Tree无阻塞网络,GPU卡数量理论上限(GPU集群规模)

基于三层 Fat-Tree 无阻塞网络设计的 GPU 集群可充分满足大多数大模型训练和分布式计算需求,因此无需采用更复杂的网络拓扑。

在异构交换机网络环境下,GPU集群网络分析的复杂性提升。不同层的交换机差异,包括可能在单层内使用多种交换机,增加分析难度。

四、GPU集群算力

GPU集群算力公式
GPU集群有效算力 (Q) 由以下因素决定:
* 单个GPU峰值算力 (C)
* GPU数量 (N)
* 算力利用率 (u)
Q = C * N * u
对于大模型训练
在进行大模型训练时,算力利用率 (u) 即 MFU (Model FLOPS Utilization)。MFU 代表使用 N 个 GPU 的计算任务所能获得的有效算力。

关于算力利用率u,我们要进一步区分算力利用率与线性加速比k。即便是我们在使用单张GPU进行计算,也有算力利用率的问题(相应的,也有显存利用率的问题,Model Bandwidth Utilization (MBU) [12]),例如,单卡算力利用率 u = 75%。

如果一个计算任务里使用了N个GPU卡,那么算力利用率u一般会随着GPU数量N的增加而变小;总有效算力C会随着N的增加而增加,直到饱和(即N增加的边际效用递减)。一个GPU集群的总有效算力C随着N增加的变化速度就是线性加速比k。

8ad17672006ea97a1578414834ebe597.jpeg

GPU集群总有效算力随着GPU卡数量的变化情况示例 [11]

流量系数 (k) 表明在相等流量条件下,材料 2 的线速度与材料 1 的关系。公式为:
k = u2/u1
其中:
* k 为流量系数
* u2 为材料 2 的线速度
* u1 为材料 1 的线速度
假设流量 (Q) 相等,材料 2 的线速度较小 (u2 ≤ u1),且材料 2 的数量 (N2) 较多 (N2 ≥ N1)。

在理想情况下,集群总有效算力与 GPU 卡数量呈线性增长。然而,这种增长受限于单个 GPU 的利用率,这可能是较低的。
算力利用率衡量单个 GPU 的效率,而线性加速比表示集群整体性能的增长。这两个指标从不同角度描述 GPU 集群的性能。

基于假设 u1 = 45.29% (N1 = 3584) 和 u2 = 42.19% (N2 = 10752),线性加速比得出为 k = 93%。

影响 GPU 集群加速比的因素众多,包括峰值算力、显存容量、互联方式和网络架构。
优化情况下,线性加速比可达 90% 以上。然而,大规模 GPU 集群的平均算力利用率仅约为 50%。

 0f861c65acd1d61acfa399dac21c8695.jpeg

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

### 回答1: PSPICE 17.2 是一种用于电子电路仿真和分析的软件工具。下面是一份简单的 PSpice 17.2 使用初级教程: 1. 安装和启动:首先,你需要下载并安装 PSpice 17.2 软件。安装完成后,双击图标启动软件。 2. 创建电路:在软件界面上,选择“文件”>“新建”,然后在电路编辑器中创建你的电路。你可以从元件库中选择组件,并将其拖放到画布上。连接元件的引脚以构建电路。 3. 设置元件参数:双击元件以打开元件参数设置对话框。在对话框中,设置元件的值、名称和其他参数。对于电阻、电容等基本元件,可以直接输入数值。 4. 设置仿真配置:选择“仿真”>“设置和校验”,然后在仿真设置对话框中选择仿真的类型和参数。你可以选择直流分析、交流分析、暂态分析等。设置仿真参数后,点击“确定”。 5. 运行仿真:选择“仿真”>“运行”来启动仿真。在仿真过程中,软件将模拟电路的响应,并将结果输出到仿真波形窗口中。 6. 查看仿真结果:在仿真波形窗口中,你可以查看各个元件的电流、电压等参数随时间变化的波形。你还可以对波形进行放大、缩小、平移等操作,以更详细地分析电路的性能。 7. 保存和导出结果:在仿真过程中,你可以选择将结果保存为文件或导出为其他格式,如图像文件或数据文件。 以上是 PSpice 17.2 使用初级教程的基本步骤。随着实践的深入,你可以进一步了解复杂电路的建模和分析方法,并尝试更高级的功能和技术。 ### 回答2: PSPICE 17.2是一款电子电路仿真软件,用于对电路进行分析和验证。以下是PSPICE 17.2的使用初级教程: 1. 下载和安装:在官方网站上下载PSPICE 17.2并进行安装。 2. 组件库:打开PSPICE软件后,点击“Capture CIS”图标,进入组件库界面。选择适当的电子元件,如电阻、电容、二极管等,将它们拖放到画布上。 3. 电路连接:在画布上拖放所需元件后,使用导线工具连接它们。点击导线图标,选择合适的连接方式,并将其拖动到适当的端口上。 4. 参数设定:双击元件,弹出元件属性对话框。在这里设置元件的数值,例如电阻的阻值、电容的电容值等。 5. 电源设置:在画布上点击右键,选择“Power Sources”,然后选择适当的电源,如直流电源或交流电源。设置电源的电压或电流数值。 6. 仿真设置:点击画布上方的“PSpice”选项,选择“Edit Simulation Profile”打开仿真配置对话框。在仿真配置中,设置仿真参数,如仿真类型(直流、交流、脉冲等)、仿真时间等。 7. 仿真运行:在仿真配置对话框中点击“Run”按钮,开始进行电路仿真运行。仿真完成后,可以查看并分析仿真结果,如电流、电压、功率等。 8. 结果分析:通过菜单栏中的“PSpice>Probe”选项,打开特定信号的仿真结果。通过选择信号节点,可以显示该信号的波形、幅值和频谱等信息。 9. 数据输出:仿真结束后,可以通过“PSpice>Results”菜单栏选项,导出仿真结果到文本文件,以供后续分析。 10. 误差调整:如果仿真结果预期不符,可以检查电路连接、元件参数等以找出问题。根据需要进行调整,重新运行仿真以验证改进效果。 以上就是PSPICE 17.2使用初级教程的简要介绍。在使用过程中,请参考软件的帮助文件和官方文档,以获取更详细的指导和解决方法。任何新的软件都需要不断的实践和尝试,希望这个教程能对你有所帮助。 ### 回答3: PSPICE 17.2是一款常用的电路仿真软件,用于电路设计和分析。下面是一个简要的PSPICE 17.2的初级教程: 1. 下载和安装:首先,从官方网站下载PSPICE 17.2,并按照安装向导进行安装。安装完成后,打开软件。 2. 创建新工程:在PSPICE 主界面上,点击“File”菜单,然后选择“New Project”来创建一个新的工程。给工程起一个适当的名字,并选择工程的存储位置。 3. 添加电路元件:在工程界面上,点击“Place”图标,然后选择不同的元件来构建你的电路。你可以从库中选择各种电子元件,如电阻、电容、电感等,并将它们拖放到工程界面上。 4. 连接元件:选择“Wire”图标,然后点击元件的引脚来连接它们。确保连接顺序正确,以保证电路的正确性。 5. 设置元件参数:对于每个添加的元件,你需要设置它们的参数。右键点击元件,选择“Edit Propertiess”,然后在弹出的窗口中输入适当的参数值。 6. 添加电源:在电路中添加电源,以提供电路所需的电能。选择“Place”图标,然后选择合适的电源元件并将其拖放到电路中。同样,设置电源的参数值。 7. 设置仿真配置:在工程界面上,点击“PSpice”菜单,然后选择“Edit Simulation Profile”来设置仿真配置参数。你可以选择仿真类型、仿真时间和仿真步长等。 8. 运行仿真:点击“PSpice”菜单,选择“Run”来运行仿真。PSPICE将自动运行仿真并显示结果。 9. 分析和优化:根据仿真结果,可以分析和优化电路的性能。你可以观察电流、电压和功率等参数,以评估电路的性能,并根据需要进行调整。 10. 保存和导出结果:在分析和优化完成后,可以保存你的工程并导出结果。点击“File”菜单,选择“Save Project”来保存工程,然后选择“Outut”菜单,选择“Export”来导出结果。 以上是PSPICE 17.2的初级教程的简要介绍。通过以上步骤,你可以开始使用PSPICE 17.2进行电路设计和仿真。在实践中不断探索和学习,你将成为一个熟练的PSPICE用户。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科技互联人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值