导图社区 NVLink-NVSwitch-DGX技术总结
本文通过分析NVLink,NVSwitch和DGX的历史和现状,可以看出计算和网络发展趋势,提供AI加速器系统未来可能发展方向。
编辑于2024-05-13 11:20:44本合集包含10篇项目管理精品文章合集,包括:PMO战略管理、PMO如何管理项目经理工作、PMO如何管理危机项目、项目团队行动指南、用看板管理大型项目、项目集管理、项目进度管理、如何项目复盘、IPD流程管理、项目经理面试准备。非常具有收藏价值。
本合集包含一篇精品文章AIGC介绍和四款阿里云AI产品介绍。
本合集详细介绍了腾讯云计算产品,包括:云服务器CVM、批量计算、高性能应用服务、Batch、高性能计算平台、高性能计算集群、专用宿主机、GPU云服务器、裸金属服务器、清凉应用服务器。非常具有收藏价值。
本人在准备CISSP考试中自己总结的复习习题、各种模拟题中的重点、难点。本文内容除了书中内容意外还有很多从网上查找的补充内容,非常具有复习价值!
本人在准备CISSP考试期间找到的精品模拟题,非常有价值。通过参与这套模拟题的练习,考生不仅能够熟悉CISSP考试的题型与难度,还能够查漏补缺,强化薄弱环节,为正式考试做好充分准备。预祝一位考生都能够在CISSP认证考试中取得优异成绩。
本人在准备CISSP考试期间找到的精品模拟题,非常有价值。通过参与这套模拟题的练习,考生不仅能够熟悉CISSP考试的题型与难度,还能够查漏补缺,强化薄弱环节,为正式考试做好充分准备。预祝一位考生都能够在CISSP认证考试中取得优异成绩。
社区模板帮助中心,点此进入>>
本合集包含10篇项目管理精品文章合集,包括:PMO战略管理、PMO如何管理项目经理工作、PMO如何管理危机项目、项目团队行动指南、用看板管理大型项目、项目集管理、项目进度管理、如何项目复盘、IPD流程管理、项目经理面试准备。非常具有收藏价值。
本合集包含一篇精品文章AIGC介绍和四款阿里云AI产品介绍。
本合集详细介绍了腾讯云计算产品,包括:云服务器CVM、批量计算、高性能应用服务、Batch、高性能计算平台、高性能计算集群、专用宿主机、GPU云服务器、裸金属服务器、清凉应用服务器。非常具有收藏价值。
本人在准备CISSP考试中自己总结的复习习题、各种模拟题中的重点、难点。本文内容除了书中内容意外还有很多从网上查找的补充内容,非常具有复习价值!
本人在准备CISSP考试期间找到的精品模拟题,非常有价值。通过参与这套模拟题的练习,考生不仅能够熟悉CISSP考试的题型与难度,还能够查漏补缺,强化薄弱环节,为正式考试做好充分准备。预祝一位考生都能够在CISSP认证考试中取得优异成绩。
本人在准备CISSP考试期间找到的精品模拟题,非常有价值。通过参与这套模拟题的练习,考生不仅能够熟悉CISSP考试的题型与难度,还能够查漏补缺,强化薄弱环节,为正式考试做好充分准备。预祝一位考生都能够在CISSP认证考试中取得优异成绩。
NVLink-NVSwitch-DGX技术总结
概述
NVLink是NVIDIA在2016年推出的Tesla P100和Pascal GP100 GPU上使用的高速互联技术,称为NVLink1;2017年的Tesla V100则使用了NVLink2;2020年的A100搭配NVLink3,提高了单个lane的速率,在保持同样带宽下减少了lane数量;2022年的H100推出了NVLink4,继续提高单个lane的速率,同时减少lane数量。NVLink整体发展情况如下所示:
NVSwitch 是一种 GPU 桥接设备,可提供DGX系统所需的 NVLink 交叉网络。NVSwitch目前发展到第三代,如下所示:
DGX系统则是采用NVLink和NVSwitch进行互连和扩展的计算系统,下图展示了DGX系统的内存容量变化:
NVLINK
NVLINK拓扑
GPU-to-GPU NVLink连接
下图显示了8个 GPU 组成的混合立方体网格(Hybrid Cube Mesh),其中包括两个使用NVLink完全连接的四边形 GPU网络,四边形之间由NVLink 进行连接,每个四边形中的 GPU 直接通过 PCIe 连接到各自的 CPU。通过使用单独的 NVLink 来连接两个四边形,减轻了到每个 CPU 的 PCIe 上行链路的带宽压力,同样避免了通过系统内存和 CPU 间链路的数据传输。
CPU-to-GPU NVLink连接
虽然 NVLink 主要用于将多个 NVIDIA Tesla P100 加速器连接在一起,但它也可以用作 CPU 到 GPU 的互连。例如,Tesla P100 加速器可以通过 NVIDIA NVLink 技术连接到 IBM 的 POWER8。POWER8 支持四个 NVLink。
NVLINK接口
NVLink接口由三层组成:
物理层Physical Layer (PL)
PL 与 PHY 连接,并将接收到的数据传送到数据链路层,主要负责:
deskew
八个通道
framing
计算每个数据包的开头
scrambling/descrambling
确保足够的位转换密度以支持时钟恢复
极性反转
通道反转
数据链路层Data Link Layer (DL)
数据链路层主要负责数据包在链路上的可靠传输,并将数据发送到事务层 (TL):
传输的数据包使用 25 位 循环冗余校验CRC(Cyclic Redundancy Check)进行保护
传输的数据包存储在重放缓冲区中,直到链路另一端的接收方确认 (ACK) 为止
如果 DL 在传入数据包上检测到 CRC 错误,则不会发送 ACK,并准备接收重新传输的数据
同时,在没有 ACK 的情况下,发送器超时并从重放缓冲区启动数据重传
仅当数据包被确认时,数据包才会从重放缓冲区中移除
25 位 CRC 允许在任何通道上检测多达 5 个随机位错误或多达 25 位突发错误。CRC 是根据当前包头和上一个有效负载(如果有)计算的
DL 还负责链路启动和维护
传输层Transaction Layer (TL)
传输层主要处理:
同步
链路流量控制
虚拟通道
将多个链路聚合在一起,以在处理器之间提供非常高的通信带宽
NVLink 数据包的长度从单个 128 位 flit 到最多 18 个 128 位 flit 不等,以支持 256 字节传输。NVLink传输至少包括一个请求和一个响应(post操作没有响应数据包)以及可选的地址扩展 (AE) flit、字节使能(BE) flit和 0 到 16 个数据有效负载flit。
请求头 flit:
25 位 CRC
83 位传输层字段,包含请求类型、地址、流量控制信用和标签标识符
20 位数据链路 (DL) 层字段,包括确认标识符、数据包长度信息和应用程序编号标记
地址扩展 AE flit 包含请求之间相对静态的信息(sticky bits)、特定于命令的信息或更改命令类型默认值的信息。静态信息在更改时传输,并存储在接收端,以便用于非 AE 数据包。
字节使能BE flit 用于写命令或原子命令,128 个使能位表示要写入的数据字节,最多 128 个字节。BE 不能用于 256 字节传输。
NVLink 使用 NVIDIA 的高速信号技术 (NVHS)
每个信号对以 20 Gbit/s 的速度差分发送数据
每个方向的八个差分对组合成一个链路
单个链路的原始双向带宽为 40 GB/s。信号采用 NRZ(Non-Return to-Zero)
该链路为直流耦合,差分阻抗为 85 欧姆
链路可以容忍极性反转和通道反转,以支持有效的 PCB 布线
在芯片上,数据使用 128 位 Flit(流量控制单位)以 1.25GHz 数据速率从 PHY(physical level circuit)发送到 NVLink 控制器
NVHS使用嵌入式时钟。在接收器上,恢复的时钟用于接收传入数据
GPU里NVLINK
在 GPU 架构里,NVLink 控制器通过另一个称为高速集线器 (HSHUB) 的模块与 GPU 内部进行通信。HSHUB 可以直接访问 GPU 内部crossbar和其他系统模块,例如以 NVLink 峰值速率将数据移入和移出 GPU的高速复制引擎 (HSCE)。下图显示了 NVLink 与 HSHUB 和 GP100 GPU 中一些模块的关系。
NVLINK1
NVLink 是 NVIDIA 用于 GPU 加速计算的新型高速互连技术。它显著提高了 GPU 到 GPU 通信以及 GPU 对系统内存的访问的性能。高性能计算集群的节点中通常使用多个GPU,比较常见的配置是每个节点通常最多有 8 个 GPU,因此,在多处理系统中,强大的互连非常重要。NVLink 旨在为 GPU 创建一个片间互连,该互连将提供比 PCI Express Gen 3 (PCIe) 高得多的带宽,并与 GPU ISA 兼容以支持共享内存多线程任务。使用带 NVLink 的 GPU,应用程序既可以在本地内存上运行,也可以在相连的另一个 GPU 的内存上执行,并且保持内存操作的正确(例如,为 Pascal 的原子操作提供完全支持)。
NVLINK2
与 Pascal 上的 NVLink 相比,V100 上的 NVLink 将信号速率从 20 Gb/s提高到 25 Gb/s。每个链路在每个方向提供 25 GB/s的带宽。并且链路数从 4 个增加到 6 个,将支持的 GPU NVLink 总带宽提升到 300 GB/s。NVLink 2 允许CPU 直接对GPU 的 HBM2 内存进行加载/存储/原子访问。新增加功能包括:
结合新的 CPU 主控功能,NVLink 支持缓存一致性操作,允许从图形内存读取的数据存储在 CPU 的缓存中
NVLink 2 增加了对由 GPU 或 CPU 发起的原子访问的支持。虽然 P100 支持对等的 GPU 原子访问,但不支持通过 NVLink 发送 GPU 原子访问并在目标 CPU 上完成
通过支持地址转换服务 (ATS),GPU 可以直接访问 CPU 的页表
增加链路层低功耗模式,可在链路未大量使用时节省功耗
NVLINK3
在 A100 GPU 中实现的NVLink 3和NVSwitch 显著增强了多 GPU 的可扩展性、性能和可靠性。由于每个 GPU 和交换机的支持的链路更多,NVLink 3 提供了更高的 GPU-GPU 通信带宽,并改进了错误检测和恢复功能。NVLink 3在每个方向上使用四个差分对(通道)来创建单个链路,在每个方向上提供 25 GB/s的有效带宽,NVLink 3的数据速率为每对 50 Gbit/s,几乎是 V100 中 25.78 Gbits/s 速率的两倍。单个 A100 NVLink 在每个方向上提供 25 GB/秒的带宽,与 V100 类似,但与 V100 相比,每个链路仅使用一半的信号对数。A100 中的链路总数增加到 12 个,而 V100 中为 6 个,总带宽为 600GB/s,而 V100 为 300 GB/s。
NVLINK4
NVLink 是 NVIDIA 高带宽、高能效、低延迟、无损的 GPU 到 GPU 互连,包括弹性功能,例如链路级错误检测和数据包重传机制,以确保数据的成功传输。NVLink 4 在 H100 GPU 中实现,与 NVIDIA A100 中使用的之前的NVLink 3相比,可提供 1.5 倍的通信带宽。H100 GPU中一共18个NVLink 4链路,总带宽900 GB/s,用于多 GPU I/O 和共享内存访问。NVLink 4在每个方向上仅使用两个高速差分对来形成单个链路,在每个方向上提供 25 GB/秒的有效带宽。
NVLink-C2C
NVIDIA NVLink-C2C 是 NVIDIA 的用于Grace Hopper 超级芯片的内存一致性、高带宽和低延迟的互连,提供高达 900GB/s的总带宽。
NVLink-C2C 内存一致性可提高开发人员的工作效率、性能和 GPU 可访问的内存容量。CPU 和 GPU 线程现在可以并发和透明地访问 CPU 和 GPU的内存,让开发人员能够集中精力在算法上,而不是显式内存管理。内存一致性允许开发人员只传输他们需要的数据,而不是将整个页面进行迁移。通过支持CPU 和 GPU 原子操作可以实现CPU和GPU 的线程间的轻量级原语。
具有地址转换服务 (ATS) 的 NVLink-C2C 可以允许NVIDIA Hopper DMA 引擎加速跨主机和设备批量分页内存的传输。 NVLink-C2C 允许应用程序能够超额订阅 GPU 的内存,并以高带宽直接利用 NVIDIA Grace CPU 的内存。每个 Grace Hopper 超级芯片具有高达 480GB 的 LPDDR5X CPU 内存,GPU 可以直接访问。结合 NVIDIA NVLink Switch,在 最多 256 个 NVLink 连接的 GPU组成的DGX GH200 上运行的所有 GPU 线程可以访问高达 144TB 的内存。
NVSwitch
NVSwitch 1.0
NVSwitch 是一款 NVLink 交换机芯片,采用TSMC 12FFN工艺,一共20亿晶体管,面积106 mm^2;每个交换机有 18 个 NVLink 端口。在内部是一个全连接的 18 x 18 交叉网络。任何端口都能以50 GB/s 与任何其他端口通信,总聚合带宽为 900 GB/s。提供PCIe进行管理,配置缓冲区分配,使用基于软件的清理的钩子来处理表损坏和错误情况,以及部分复位和队列排空等。每个端口每个方向带宽 25 GB/s。交叉网络是非阻塞的,允许所有端口以完整的 NVLink 带宽与所有其他端口通信。
在高带宽下,数据完整性至关重要。NVLink 本身使用循环冗余编码 (CRC) 进行保护,以检测错误并重传。NVSwitch 的数据路径、路由和状态结构使用纠错码ECC (error-correcting code) 进行保护。NVSwitch 还支持最终hop地址保真度检查以及缓冲区溢出和下溢检查。为了安全起见,NVSwitch 的路由表由NVIDIA fabric manager索引和控制,通过限制应用程序访问范围来提供保护。NVLink 数据包里携带物理地址。
下图展示了16 个 GPU 都以相同的方式连接到 NVSwitch 芯片的拓扑示意图:一个基板上的所有 8 个 GPU 都通过单个 NVLink 连接到所有 6 个 NVSwitche。每个 NVSwitch 上的八个端口用于与另一个基板通信。同一个基板上的 8 个 GPU 中的每一个都能以 300 GB/s 的全带宽与同一基板上的任何其他 GPU 进行通信,而只经过一个NVSwitch的延迟。每个 GPU 还可以以全带宽与另一个基板上的任何 GPU 进行通信,而只需要经过两个NVSwitch延迟。基板之间的双向带宽为 2.4 TB/s(48 个链路,每个方向 25 GB/s)。但是NVIDIA DGX-2 平台仅使用每个交换机的 16 个可用端口。
NVSwitch 2.0
NVSwitch 2.0比之前的版本快两倍,应用在NVIDIA DGX-2 系统。六个 NVSwitch 和NVLink 3 的组合使单个 GPU 到 GPU 的通信达到 600 GB/s 的峰值,能提供双向4.8 TB/s的总带宽。
NVSwitch 3.0
NVSwitch 3.0采用TSMC 4N工艺,251亿晶体管,面积294mm2,提供 64 个NVLink 4链路端口,支持3.2TB/s 全双工带宽。总交换机吞吐量从上一代的 7.2 Tbits/s 增加到 13.6 Tbits/s。下图展示了NVSwitch 3.0的物理规划版图:
NVSwitch 3.0还提供多播和 NVIDIA SHARP in-network reduction硬件集群通信加速,包括all_gather、reduce_scatter和broadcast atomics。与在 A100 上使用 NVIDIA Collective Communications Library (NCCL) 相比,多播和in-network reduction可提供高达 2 倍的吞吐量增益,同时显著降低小数据集群通信的延迟。NVSwitch 集群通信加速显著降低了 SM 上用于集群通信的负担。
NVSwitch 3.0的物理电气接口(PHY) 与 400 Gbps Ethernet和 InfiniBand 兼容。管理控制器支持连接OSFP(Octal Small Formfactor Pluggable)模块,每个笼子有四个 NVLink。使用定制固件,可以支持有源线缆。还添加了额外的前向纠错FEC(forward error correction)模式,以增强 NVLink 网络的性能和可靠性。
NVSwitch 3.0使用 50 Gbaud PAM4 信令,每个差分对的带宽为 100 Gbps,可在 64 个 NVLink 端口(每个 NVLink x2)上提供 3.2 TB/s 的全双工带宽。
NVSwitch 3.0包括许多用于 SHARP 加速的新硬件模块:
SHARP控制器,可以并行管理多达 128 个 SHARP 组
复用 NVIDIA Hopper 架构中的 SHARP 算术逻辑单元(ALU),支持逻辑、最小/最大、加法等多种运算和格式(有符号、无符号整数、FP16、FP32、FP64、BF16), 提供高达 400 GFLOPS 的 FP32 吞吐量
使用嵌入式SRAM支持SHARP计算
NVSwitch 3.0增加的NVLink 相关模块包括:
安全处理器,保护数据和芯片配置免受攻击
分区功能,将端口子集隔离到单独的 NVLink 网络中
管理控制器现在还可以处理连接的 OSFP 电缆
扩展遥测以支持 InfiniBand 式监视
DGX系统
DGX-1 P100
DGX-1 有 8 个 Tesla P100 GPU 加速器,通过 NVLink组成hybrid cube-mesh网络拓扑。DGX-1 与双路 Intel Xeon CPU 和四个 100 Gb InfiniBand 网络接口卡共同组成深度学习训练系统。
DGX-1系统架构
DGX-1 是专为高吞吐量和高互连带宽而设计的深度学习系统,可最大限度地提高神经网络训练性能。系统的核心是:
由 8 个 Tesla P100 GPU 通过NVLink 组成的hybrid cube-mesh网络拓扑
两个 CPU,用于启动、存储管理和协调深度学习框架
DGX-1 内置于3U(three-rack-unit) 机箱中,可提供电源、冷却、网络、多系统互连和 SSD 文件系统缓存。下图显示了 DGX-1 系统组件: Tesla P100 的页面迁移引擎(Page Migration Engine)允许在 GPU 和主机大容量内存之间高带宽、低开销的共享数据。为了扩展到多节点高性能集群,DGX-1 通过 InfiniBand (IB) 网络提供系统到系统高带宽连接。
DGX-1网络拓扑
DGX-1 的 NVLink 网络拓扑设计旨在优化许多因素,包括各种点对点和集合通信可实现的带宽,拓扑结构的灵活性,以及GPU 的性能。hybrid cube-mesh网络拓扑可以认为是:
一个立方体,立方体的角是 GPU,所有 12 条边都通过 NVLink 连接,六个面中的两个也通过对角线连接
也可以被认为是单个 NVLink 连接的两个交织环
DGX-1网络
最新使用多系统扩展的计算工作负载,尤其是深度学习,为了发挥 GPU 性能,需要提供系统内部和系统之间的 GPU 的通信。除了用于 GPU 内部高速通信的 NVLink 外,DGX-1 还使用 Mellanox ConnectX-4 EDR InfiniBand 端口提供系统间通信。 在 DGX-1 中配置的InfiniBand 标准 EDR IB 提供:
对于每个端口,8 个数据通道提供 25 Gb/s 或 200 Gb/s 的带宽(4 个输入通道 (100 Gb/s) 和 4 个输出通道 (100 Gb/s))
低延迟通信和内置集合通信原语,可加速跨多个系统的大型计算
支持高性能网络拓扑,可同时在多个系统之间以最小的冲突传输数据
NVIDIA GPUDirect RDMA 使用InfiniBand,在多个系统的 GPU 之间直接传输数据
DGX-1 配置了四个 EDR IB 端口,可提供 800 Gb/s带宽(400 Gb/s输入和 400 Gb/s 输出),可用于构建 DGX-1 系统的高速集群。四个 EDR IB 端口可平衡节点内和节点间带宽,在某些情况下,这些带宽可以被节点间通信完全占用。在大型多系统集群中与以太网等经典网络技术相比,InfiniBand 能提供 20 倍的带宽和 低4 倍的延迟。DGX-1 多系统集群使用基于fat tree的网络拓扑,提供系统间的可预测、无争用的路由通信:
fat tree是一种树状结构的网络拓扑,其叶子上的系统通过多个交换机连接到中央顶级交换机
fat tree中的每一级有相同数量的链路,提供相等的带宽
fat tree拓扑结构确保了计算和深度学习应用中常见的all-to-all或all-gather集合通信的最高bisection bandwidth和最低延迟
DGX-1 V100
NVIDIA DGX-1 是专为深度学习设计的高吞吐量和高互连带宽的系统,可最大限度地提高神经网络训练性能。该系统的核心是由 8 个 Tesla V100 GPU 通过NVLink组成的hybrid cube-mesh网络拓扑。除了 8 个 GPU 之外,DGX-1 还包括两个 CPU,用于启动、存储管理和深度学习框架协调。DGX-1 内置于3U机箱中,可提供电源、冷却、网络、多系统互连和 SSD 文件系统缓存。
DGX-1 系统架构
DGX-1 配置了以太网和 InfiniBand (IB) 网络接口。两个 10 Gb 以太网接口提供系统的远程访问能力。为了连接多个 DGX-1 系统,每个系统都有四个高带宽、低延迟的 EDR IB(Extended Data Rate InfiniBand)端口,提供 800 Gb/s 的双向通信。DGX-1 系统里每两个 GPU 共享一个 IB 端口。此外,DGX-1 EDR IB 与 NVIDIA GPUDirect RDMA兼容,能够将数据直接从一个系统中的 GPU 内存传输到另一个系统中的 GPU 内存,而无需涉及 CPU 或系统内存。
DGX-1网络拓扑
8 个GPU 组成的hybrid cube-mesh网络可以看作是使用NVLink 连接的三个交织的双向环。以这种方式处理拓扑可确保除all-to-all之外的集合通信的性能在很大程度上是等效的。
深度学习训练时 GPU 间传输使用这三个不同的双向环。每个 Volta GPU有6个NVLink,每个环连接所有八个 GPU。通过这种方法,reduction和broadcast可以以超过 130 GB/s 的速度执行,而在前几代硬件上使用 PCIe 的速度为 10 GB/s。这种性能对于实现深度学习训练的高扩展性至关重要。
DGX-1网络
除了用于 GPU 内部高速通信的 NVLink 外,DGX-1 还使用 Mellanox ConnectX-4 EDR 100Gb InfiniBand 端口提供系统间极低延迟和高带宽的通信,以减少瓶颈。在 DGX-1 中配置的最新 InfiniBand 标准 EDR IB 提供:
四个 EDR IB 端口,为每个 DGX-1 系统提供 400 Gb/s 输入和 400 Gb/s 输出带宽
低延迟通信和内置集合通信原语,可加速跨多个系统的大型计算
支持高性能网络拓扑,可同时在多个系统之间以最小的冲突传输数据
NVIDIA GPUDirect RDMA 使用InfiniBand,在多个系统的 GPU 之间直接传输数据
DGX-1 配置了四个 EDR IB 端口,提供 800 Gb/s 的双向总带宽,可用于构建 DGX-1 系统的高速集群。四个 EDR IB 端口可平衡节点内和节点间带宽,在某些情况下,节点间通信可以完全利用这些带宽。与以太网等经典网络技术相比,即使在大型多系统集群中,InfiniBand 也能提供 20 倍的带宽和 4 倍的更低延迟。
从应用程序的角度来看,GPUDirect RDMA,独特的 NVLink 和 IB 网络设计使任何 GPU 核能够以最小的开销、延迟和争用直接访问网络中任何其他 GPU 的内存。
下图展示了 124 个DGX-1组成的系统,每个一级交换机支持 4 个 DGX-1 系统,最多可配置 32 个一级交换机和 16 个二级交换机,最多支持 128 个系统: 使用的fat-tree拓扑结构可扩展到具有更多交换机的更大配置,同时仍保持 InfiniBand 的高性能。为了扩大规模,将添加第三级交换机,或者将控制器级 IB 交换机用于 2 级交换机。
DGX A100
DGX A100 具有 5 petaFLOPS 的 AI 性能,在所有 AI 工作负载上都表现出色。具体配置如下所示
DGX网络拓扑
标准的DGX A100由8块A100,每块有12根NVLink(第三代)连接,然后通过6个NVSwitch(第二代)进行互联。理论上,可以把DGX A100扩展成支持16个A100+16个NVSwitch的超级计算机。实际上这样的扩展非常强劲,我们只需要其部分能力就能在性能和容量上实现跳跃提升,相较标准DGX A100而言。
DGX网络
除了用于 GPU 内部高速通信的 NVLink 外,DGX A100 还有 8 个单端口 Mellanox ConnectX-6 200Gb/s HDR InfiniBand 端口(也可配置为 200Gb/s 以太网端口),提供 3.2 Tb/s 的峰值带宽,可用于构建 基于DGX A100 系统(如 NVIDIA DGX SuperPOD)的高速集群。可以使用 Mellanox ConnectX-6 ,通过RDMA来进行GPU间数据传输。DGX A100 在 IO 卡和 GPU 之间建立了一对一的连接,每个 GPU 都可以直接与外部通信,而不会阻止其他 GPU 的网络访问。Mellanox ConnectX-6 I/O 卡可配置为 HDR InfiniBand 或 200Gb/s 以太网,因此 NVIDIA DGX A100 可以使用低延迟、高带宽 InfiniBand 或RDMA over Converged Ethernet(RoCE)与其他节点集群一起运行 HPC 和 AI 任务。DGX A100 包括一个额外的双端口 ConnectX-6 卡,可用于高速连接到外部存储器。
NVIDIA DGX SuperPOD
NVIDIA DGX SuperPOD是由DGX A100 组成的集群系统,包括:
140 个 DGX A100 系统
1,120 个 NVIDIA A100 GPU
170 个 Mellanox Quantum 200G InfiniBand 交换机
15Km光缆
4PB 高性能存储
DGX SuperPod架构
DGX SuperPOD 的基本单元是 SU,单个 SU由 20 个 DGX A100 系统组成,算力 48 PFLOPS。DGX A100 系统具有 8 个用于计算流量的 HDR (200 Gbps) InfiniBand 主机通道适配器HCA(host channel adapters)。每对 GPU 都有一对关联的 HCA。为了实现最高效的网络,有八个网络平面,每个平面一个叶交换机和 一个HCA,一共使用 8 个叶交换机进行连接(下图中一共有8个Pool,为了简洁,只画出了2个)。这些平面通过主干交换机在网络的第二层互连。每个SU都具有完整的bisection bandwidth,以确保最大的应用灵活性。每个 SU 都有一个专用的管理机架,叶交换机集中放置在管理机架中。
DGX SuperPOD 的其他设备(例如二级主干交换机或管理服务器)可能位于 SU 管理机架的空白空间或单独的机架中,具体取决于数据中心布局。
DGX SuperPod网络架构
DGX SuperPOD 有四个网络:
计算网络
每个 DGX A100 系统通过单独的网络平面连接8 个 NVIDIA HDR 200 Gb/s ConnectX-6 HCA
存储网络
通过 CPU 连接的两个双端口 ConnectX-6 HCA,每个提供一个端口
带内管理
使用 DGX A100 系统上的两个 100 Gbps 端口连接到专用以太网交换机
带外管理
每个 DGX A100 系统上的基板管理控制器(BMC)端口连接到其他以太网交换机
下图展示了DGX A100系统的各类网络接口:
DGX SuperPod计算网络
计算网络设计最大限度地提高 AI 任务的典型通信流量的性能,并在发生硬件故障时提供冗余,最大限度地降低成本。
DGX SuperPod计算网络里使用到的InfiniBand 交换机分为以下几类:
叶交换机(leaf switch)
每个 SU 有 8 个叶交换机。SU 中的 DGX A100 系统连接到每个叶交换机,每个系统中所有相同的 HCA 都连接到同一个叶交换机
脊柱组SG(Spine group)
10 个 QM8790 交换机组成 SG,用于优化网络。由于每个 DGX A100 系统有 8 个 InfiniBand 模块,因此需要 8 个 SG
核心组CG (Core group)
14 个 QM8790 交换机组成 CG,用于连接 SG。140 个节点需要两个 CG
每个 SU 的第一个叶交换机连接到 SG1 中的每个交换机,每个 SU 的第二个枝叶交换机连接到 SG2 中的每个交换机,依此类推。需要第三层交换才能完成fat-tree拓扑:
每个 SG 里奇数交换机连接到CG1
每个 SG 里偶数交换机连接到CG2
下图展示了140 节点 DGX SuperPOD 的计算拓扑结构:
三层Fat-Tree结构
下图展示了80 节点 DGX SuperPOD 的计算拓扑结构:
两层Fat-Tree结构
DGX SuperPod存储网络
存储网络采用 InfiniBand 网络以提供高带宽支持。因为DGX SuperPOD 的每个节点的 I/O 必须超过 40 GBps,而InfiniBand为存储网络提供了高带宽和高级网络管理功能(如拥塞控制和自适应路由)。
带内管理网络InBand Management Network
带内以太网网络具有以下几个重要功能:
连接管理集群的所有服务
允许访问主文件系统和存储池
为集群内服务(如 Slurm)以及与集群外部的其他服务(如 NGC 注册表、代码仓库和数据源)提供连接
带外管理网络Out-of-Band Management Network
带外以太网网络用于通过 BMC 进行系统管理,并提供连接以管理所有网络设备。带外管理对于群集的运行至关重要,它提供了低使用率路径,可确保管理流量不会与其他群集服务冲突。
带外以太网交换机的上行链路可以连接到带内叶交换机,也可以连接到客户的带外网络。所有以太网交换机都通过串行连接连接到数据中心的现有控制台服务器。发生网络故障时这些连接提供了与交换机连接的最后手段。
DGX H100
NVIDIA DGX H100 是基于最新 NVIDIA H100 Tensor Core GPU 的 DGX 系统,包含:
8 个 NVIDIA H100 Tensor Core GPU,具有 640GB 总 GPU 内存
4 个NVIDIA NVSwitch 3.0
18 个 NVLink 网络 OSFP
由 72 个 NVLink 提供 3.6 TB/s 的全双工 NVLink 网络带宽
8 个 NVIDIA ConnectX-7 以太网/InfiniBand 端口
2 个双端口 BlueField-3 DPU
2 个Sapphire Rapids CPU
支持 PCIe Gen 5
在 DGX H100 中,每个 H100 Tensor Core GPU 连接到所有NVSwitch 3.0,流量通过四个不同的交换机平面发送,从而实现链路的聚合,以实现系统中 GPU 之间的all-to-all带宽。
DGX H100 SuperPod
DGX H100 SuperPOD由DGX H100作为基本单元组成:
有8个计算机架,每个机架有四台 DGX H100
共有 32 个 DGX H100 节点,包含 256 个 NVIDIA H100 Tensor Core GPU
提供高达 1 exaflop 的峰值性能
NVLink 网络提供了256 个 GPU间 57.6 TB/s 的bisection带宽 。此外,32 个 DGX里的 ConnectX-7 和关联的 InfiniBand 交换机提供了 25.6 TB/s 的全双工带宽,可在 Pod 内使用或横向扩展多个 SuperPOD。
结合新的 NVLINK 网络拓扑和NVSwitch 3.0,NVIDIA 能够构建高带宽的大规模 NVLink 交换网络。节点通过 NVLink 交换机模块中的第二级 NVSwitch 连接在一起,这些模块位于计算节点外部,并将多个节点连接在一起。NVLink 交换机系统最多支持 256 个 GPU。连接的节点可以提供 57.6 TB 的all-to-all 带宽,并可以提供1 exaFLOP FP8 稀疏性能。
下图显示了基于 A100 和 H100 的 32 个节点、256 个 GPU DGX SuperPOD 的比较。基于 H100 的 SuperPOD 内DGX 节点使用新的 NVLink 交换机来互连。
NVLink 网络互连采用 2:1 锥形fat tree拓扑结构,可将bisection带宽惊人地增加 9 倍(例如,用于all-to-all交换),并且与上一代 InfiniBand 系统相比,all-reduce吞吐量增加了 4.5 倍。DGX H100 SuperPOD的 NVLINK 交换机系统作为可选项。
Grace Hopper Superchip
NVIDIA Grace Hopper Superchip架构通过内存一致性的NVLink-C2C将 NVIDIA Hopper GPU与 NVIDIA Grace CPU 的结合在一起,组合成单个超级芯片,并支持新的 NVIDIA NVLink 交换机系统。下图展示了NVIDIA Grace Hopper 超级芯片逻辑框图:
NVLink-C2C 是NVIDIA 内存一致性、高带宽和低延迟的超级芯片互连。它是 Grace Hopper 超级芯片的核心,可提供高达 900 GB/s 的总带宽。NVLink-C2C 内存一致性可提高开发人员的工作效率和性能,并使 GPU 能够访问大量内存。CPU 和 GPU 线程现在可以同时透明地访问 CPU 和 GPU 驻留的内存,开发人员能够专注于算法,而不是显式内存管理。
内存一致性可以仅传输所需的数据,而不是将整个页面迁移到 GPU 或从 GPU 迁移整个页面;还可以通过 CPU 和 GPU 的原子操作,提供跨 GPU 和 CPU 线程轻量级同步原语。NVLink-C2C支持ATS(Address Translation Services)NVIDIA Hopper DMA引擎可以利用ATS来加速主机和设备之间可分页内存的批量传输。
NVLink-C2C 使应用程序能够超额订阅 GPU 的内存,并以高带宽直接访问 NVIDIA Grace CPU 的内存。每个 Grace Hopper 超级芯片的CPU有512 GB的 LPDDR5X 内存 。结合 NVIDIA NVLink 交换机系统,在多达 256 个通过NVLink 连接的 GPU 上运行的所有 GPU 线程现在都可以在高带宽下访问高达 150 TB 的内存。NVLink 4 支持使用直接加载、存储和原子操作访问对端内存,使加速应用程序能够更轻松地解决更大的问题。
NVIDIA Grace Hopper 超级芯片的主要特性如下:
NVIDIA Grace CPU:
72 个 Arm Neoverse V2 内核,每个内核支持Armv9.0-A ISA 和 4×128 位 SIMD 单元
117 MB 的 L3 缓存
512 GB 的LPDDR5X内存,提供高达 546 GB/s 的内存带宽
64 个 PCIe Gen5 通道
NVIDIA SCF(Scalable Coherency Fabric) 片上互联和分布式缓存,带宽 3.2 TB/s
单个 CPU NUMA 节点,提高开发人员的工作效率
NVIDIA Hopper GPU:
144 个 SM,配备第四代 Tensor Core、Transformer Engine、DPX
96 GB 的 HBM3 内存,提供 3000 GB/s 的速度
60 MB 二级缓存
NVLink 4 和 PCIe 5
NVIDIA NVLink-C2C:
提供Grace CPU 和 Hopper GPU 之间的硬件一致性互连
900 GB/s 的总带宽,450 GB/s/dir
扩展 GPU 内存功能,Hopper GPU 能够将所有 CPU 内存作为 GPU 内存进行寻址。每个 Hopper GPU 可以在超级芯片可访问 608 GB 的内存
NVIDIA NVLink 交换机系统:
使用 NVLink 4 连接 256 个 NVIDIA Grace Hopper 超级芯片
每个NVLink 连接的 Hopper GPU 都可以寻址网络中所有超级芯片的HBM3 和 LPDDR5X 内存,一共150 TB 的 GPU 可寻址内存
NVIDIA 开发了两个平台来满足不同的客户需求:
NVIDIA MGX GH200
单个节点624GB 的内存,可以运行各种工作负载;当与 NVIDIA 网络解决方案(Connect-X7、Spectrum-X 和 BlueField-3 DPU)结合使用时,使用传统的 HPC/AI 集群网络架构,易于管理和部署
NVIDIA MGX 采用 InfiniBand 网络,每个节点包含一个 Grace Hopper 超级芯片和一个或多个 PCIe 设备,如 NVMe 固态硬盘和 BlueField-3 DPU、NVIDIA ConnectX-7 NIC 或 OEM 定义的 I/O。NDR400 InfiniBand NIC 利用16 个 PCIe Gen 5 通道,可提供100GB/s 的总带宽。
NVIDIA DGX GH200
通过NVLink 连接的256个 GPU的所有线程能够以900GB/s 的总带宽、450GB/s 的all-reduce带宽和 115.2TB/s 的bisection带宽访问144TB 的内存
NVIDIA DGX GH200则采用NVSwitch交换网络, 每个 Hopper GPU 能够以 900GB/s 的总带宽与 NVLink网络中的任何其他 GPU 进行通信。NVLink TLB 使单个 GPU 能够寻址所有 NVLink 连接的内存,即NVLink 连接的 256 个节点系统的144TB内存。一个 Pod 中最多可使用 NVLink 连接 256 个超级芯片,InfiniBand NIC 和交换机将多个超级芯片 Pod 连接在一起。NVLink-C2C 和 NVLink 交换机系统在 NVLink 网络内的所有超级芯片之间提供硬件一致性。