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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/561889.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【管理】杨三角模型

企业成功 成功 战略 X 组织能力 1)组织能力对于企业的重要性是和战略一样的; 2)组织能力必须与战略适配,才能共同造就企业的成功。 员工思维:员工愿不愿意参与战略落地的实践?员工每天所关心、追求和重视的…

你会写SAP技术规格说明书(Specification)吗

有些小伙伴可能还在发愁技术规则说明书应该写什么,做了张思维导图,包含了所有RICEFW。 R - Report - 报表 I - Interface - 接口 C - Conversion - 数据转换 E - Enhancement - 增强 F - Form - 表单 W - Workflow - 工作流

数据结构面试常见问题:什么是二叉树?如何进行二叉树的遍历?

二叉树的介绍 二叉树是一种特殊的数据结构,它的每个元素都有零个、一个或两个子元素。这些元素被称为节点,每个节点都有一个值,以及两个指向其子节点的链接。 这种结构就像一个家族树,每个节点都有一个父节点(除了顶…

Linux(引导过程与服务控制)

目录 1.linux操作系统引导过程 1.1引导过程总览 ​编辑1.2 linux操作系统的引导过程 1.3 系统初始化进程 1.4 Systemd单元类型 1.5 运行级别所对应的systemd目标 2.排除启动类故障 2.1 修复MBR扇区故障 2.2 实例:修复MBR扇区故障 2.3 实例:…

【MIT6.S081】Lab4: traps(详细解答版)

实验内容网址:https://xv6.dgs.zone/labs/requirements/lab4.html 本实验的代码分支:https://gitee.com/dragonlalala/xv6-labs-2020/tree/traps2/ Backtrace 关键点:trapframe、栈 思路: 这道题的关键是栈结构,先阅读xv6中关于栈…

Kafka导航【Kafka】

Kafka导航【Kafka】 前言版权推荐Kafka随堂笔记 第三章 生产者3.4生产者分区3.4.1.分区好处3.4.2 生产者发送消息的分区策略3.4.3 自定义分区器 3.5 生产经验——生产者如何提高吞吐量3.6 生产经验——数据可靠性3.7 生产经验——数据去重3.7.1 数据传递语义3.7.2 幂等性3.7.3生…

python爬虫笔记1

1 爬虫介绍 爬虫概述: 获取网页并提取和保存信息的自动化程序 1.获取网页 2.提取信息 css选择器 xpath 3.保存数据(大数据时代) 4.自动化 爬虫(资产收集,信息收集) 漏扫(帮我发现漏洞&#xff…

FK中的一些方法

1. 隔离法与整体法 目标:对一个拉新邀请任务,识别出其中的作弊用户。 欺诈类的数据,黑样本不足,需要自己去找,可按IP、昵称、手机号相似性等。虽然有 会员等级、注册时长、注册地址、成交订单等特征,但分类…

内网抓取Windows密码明文与hashdump思考题笔记整理

目录 思考题 第一题 第二题 第三题 第四题 第五题 思考题 1.windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文 2.我们通过hashdump 抓取出 所有用户的密文,分为…

扩散卷积模型 笔记

1 Title Diffusion Convolutional Neural Networks(James Atwood and Don Towsley)【NeurIPS 2016】 2 Conclusion This paper presents diffusion-convolutional neural networks (DCNNs), a new model for graph-structured data. Through the introd…

国内如何用GPT4

许多人曾向我咨询是否有一个稳定且不折腾的全球AI大模型测试网站,既能确保真实可靠性,又能保障稳定、快速的运行,避免频繁出现故障、错误或漫长的等待时间。到目前为止,我已经尝试了国内超过10个镜像站点,但遗憾的是&a…

【R语言】概率密度图

概率密度图是用来表示连续型数据的分布情况的一种图形化方法。它通过在数据的取值范围内绘制一条曲线来描述数据的分布情况,曲线下的面积代表了在该范围内观察到某一数值的概率。具体来说,对于给定的连续型数据,概率密度图会使用核密度估计&a…

分布式锁实现方案-基于zookeeper的分布式锁实现(原理与代码)

目录 一、基于zookeeper的分布式锁 1.1 基于Zookeeper实现分布式锁的原理 1.1.1 分布式锁特性说明 1.1.1.1 特点分析 1.1.1.2 本质 1.1.2 Zookeeper 分布式锁实现原理 1.1.2.1 Zookeeper临时顺序节点特性 1.1.2.2 Zookeeper满足分布式锁基本要求 1.1.2.3 Watcher机制 …

重生奇迹mu坐骑怎么升级

重生奇迹mu坐骑怎么升级 1、前期,都是主线任务,我们必须要跟着主线任务走,前面的话升级一次需要的经验很少的,一天下来可以升级100级是轻轻松松的,主线任务是比较多的,我们跟着任务一直做差不多可以到150级…

陇剑杯 省赛 攻击者1 CTF wireshark 流量分析

陇剑杯 省赛 攻击者1 题目 链接:https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek 提取码:haek ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志分析 │ │ acce…

MATLAB实现遗传算法优化BP神经网络预测数值(GABP)

遗传算法(Genetic Algorithm, GA)和反向传播(Back Propagation, BP)神经网络是两种强大的算法,分别用于优化和机器学习。将遗传算法与BP神经网络结合,可以利用遗传算法的全局搜索能力来优化BP神经网络的初始…

CAP实战Demo理论

问题 分布式微服务研发总会遇到CAP理论相关,但是没有相应例子,总是遗忘。 实践 实验 节点1 含有App1 Data1 节点2 含有App2 Data1 当节点1写请求执行成功,节点1数据为Data2,网络不通无法同步时 节点2 发送读请求 满足A可用性…

HBase安装部署

Apache HBase是按列存储数据的NoSQL类型数据库,其数据文件是存储在Hadoop集群中,支持数据以及服务的高可用性以及支持集群节点的大规模可扩展性,本文主要描述HBase的安装部署。 如上所示,HBase的总体架构,HBase Master…

「GO基础」变量

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【java】(软考)面向对象---责任链解析

目录 责任链的意义 手写笔记 ​编辑 责任链的意义 当您把请求给出时,如果某对象不能实现您的操作,责任链会自动把您的请求传给它的下一级 从而避免请求的发送者和接受者之间的耦合关系 这里以2007年下半年试题七进行说明 题目描述 某企业的采购审批…
最新文章