NV Switch 深度解析与性能剖析

news2024/9/23 3:26:00

ac94592b6b2f8af0078ba14d73373857.jpeg

NV Switch 深度解析与性能剖析

   在当今高性能计算领域,英伟达(NVIDIA)的GPU技术犹如璀璨明星般闪耀。随着人工智能和机器学习技术的迅猛发展,对计算能力的需求不断攀升,实现GPU间的高效互联互通变得至关重要。正因如此,英伟达推出了NVLink协议及其基于此技术的多GPU互联解决方案——NV Switch,为高性能计算领域注入强大动力。

深度剖析NV Switch的发展历程、运行机制,以及其在构建高性能服务器集群中的决定性影响。揭秘这一科技背后的秘密,让读者领略其无限魅力。

为什么需要NV Switch

f569469bb03b716c7f1218b1093b0b29.jpeg

PCle互联

为了实现对其他GPU的HBM2访问,必须通过PCIe接口。然而,传统PCIe接口在数据传输速率和带宽方面存在限制,这往往导致GPU之间的通信成为性能瓶颈。为解决这一问题,英伟达推出了NVLINK技术,其带宽是PCIe的10倍。借助NVLINK,单个服务器内的8个GPU可以通过点对点网络连接,构建混合立方体网格。这一创新技术不仅提高了数据传输效率,还为高性能计算领域带来了新的突破。

NVLINK技术,以其独特的优势,颠覆了传统的CPU分配和调度机制,实现了GPU间的直接数据交换。这一设计不仅显著降低了数据传输延迟,更大幅度提升了系统吞吐量。借助NVlink GPCs,我们能轻松访问卡间HBM2内存数据,甚至对其他GPU内的HBM2数据进行操作。这就是NVLINK技术,让数据处理更迅速,更高效。

在多GPU环境中,NVLINK扮演着XBARs的角色,作为不同GPU间的连接纽带,确保数据自由流通。巧妙规避了与PCIe总线的冲突,让NVLINK与PCIe能和谐共存,互补提供所需的数据传输力,共同推动系统性能提升。

NV Switch进一步升级,实现全互联GPU系统无阻运行。通过增设更多NVLINK接口,消除中间GPU跳跃,扩大GPU互联规模,打造更强大的计算集群。让数据处理更高效,性能更卓越。

NV Switch的出现

在NVIDIA的历程中,Pascal架构首次引入了NVLink,如开辟高速通道,显著提升GPU间通信效率。而真正的技术突破,则在后续Volta架构中与NVSwitch同步实现。

NVSwitch,如同网络数据传输中的智能枢纽,支持更多NVLink链路并实现多GPU全互联,显著提升数据交换效率与灵活性。

929303bf08d5538c3adfdf59af2e6bad.jpeg

NV Switch 演进

如上图所示,NVIDIA的Volta架构中,GPU间的通信速度已达到300GB/s,而在更先进的Hopper架构中,这一速度更是提升至900GB/s。这一突破性的进展,得益于NVLink链路数的显著增长,从Volta的6路扩展到Hopper的18路。这就像是在原有的高速公路上增设了立交桥和环岛,使得数据流能够更加迅速、高效地在各个GPU之间穿梭,为高性能计算和大规模并行处理提供了强大的支持。

7210585367f04164b3ca7aa86c87d183.jpeg

NVLink 与 NVSwitch 相关的服务器

上图展示的是DGX服务器GPU芯片互联的架构图,如图所示,在DGX-1 P100中有8张GPU卡,每张GPU卡支持4条NVLink链路,这些链路允许GPU之间进行高速通信。在DGX-1 P100中,GPU卡被组织成两个cube mesh,每个cube包含4个GPU(GPU 0~3和GPU 4~7)。在每个cube内部,GPU之间可以直接通过NVLink或通过PCIe Switch进行通信。然而,跨cube的通信(例如GPU 0和GPU 4)需要通过其他GPU间接进行。

DGX-2引入了英伟达的第一代NVSwitch技术,这是一次重大突破,因为它使得GPU之间的通信更为高效。在Volta架构中,每张GPU卡现在支持6条NVLink链路,相比之前的4条有了显著提升。更重要的是,通过引入6个NVSwitch,所有服务器内的GPU卡都能实现全面互联,同时支持8对GPU进行并行通信,无需任何中间GPU跳数,实现了直接且高速的通信。这一创新大大提升了数据传输效率和整体计算性能,为用户带来前所未有的体验。

DGX-A100采用尖端的第二代NVSwitch技术,与首代相比,其通信带宽提升显著且延迟更低。在A100架构中,每块GPU卡均能支持12条高速NVLink(第三代)链路,配合6个NVSwitch,构建出全连接的网络拓扑。尽管标准的DGX A100配置仅包含8块GPU卡,但其强大的可扩展性允许用户添加更多A100 GPU卡和NVSwitch,助力打造更大规模的超级计算机。

DGX-H100使用的是第三代NVSwitch和第四代NVLink技术,其中每一个GPU卡支持18条NVLink链路。在H100架构中,通过引入了4个NV Switch,采用了分层拓扑的方式,每张卡向第一个NV Switch接入5条链路,第二个NV Switch接入4条链路,第三个NV Switch接入4条链路,第四个NV Switch接入5条链路,总共72 个 NVLink 提供 3.6 TB/s 全双工 NVLink 网络带宽,比上一代提高 1.5 倍。

初代 NVSwitch

NVSwitch设计为英伟达打造全无阻塞互联的GPU系统,对大规模并行处理应用至关重要,实现性能飞跃。

e4d68f1d75b203d906e121fc068f6118.jpeg

NVSwitch 互联

如上图,V100架构的GPU拥有6条NVLink通道,这些通道可连接至NVSwitch,构建高带宽通信网络。在DGX-2系统中,8个V100 GPU通过NVLink与6个NVSwitch相连,打造强大基板。

f232e1ea596596c6d6f2519212f44329.jpeg

V100芯片基板

第一代NVSwitch引领潮流,采用NVLink 2.0技术,每个接口双通道设计,带宽高达50GB/s。这意味着整个系统可达到惊人的900GB/s总带宽,显著提升数据传输和计算效能。

NVSwitch,采用台积电12nm FinFET FFN工艺制造,凭借此尖端技术,在仅100W功耗下运行,并成功集成了高达2亿晶体管。

NVSwitch在电路IO和封装领域,采用大型BGA芯片,拥有1940个引脚。其中,576个引脚专为支持18路NVLink而设计。其余引脚用于电源及各类I/O接口,如x4 PCIe管理端口、I2C、GPIO等,为系统提供卓越的管理和扩展功能。

其具体的参数如下表所示:

03e8cd7ce3fe1a66960c51cb0fd759cd.jpeg

NV Switch参数

初代 NVSwitch Block

35cb53d2cc2410edcc63224f69c82b39.jpeg

NV Switch Block

如上图所示,GPU XBAR是一款高度专业化的桥接设备,专为NVLink互连环境量身定制。它能够实现数据包在多个GPU之间的流动和交换,同时对外呈现为单个GPU。借助GPU XBAR,客户端应用程序能够充分利用多个GPU的聚合性能,从而降低客户端在GPU间通信管理方面的复杂性。

GPU XBAR采用基于静态随机存取存储器(SRAM)的缓冲技术,实现了无阻礙的数据流传送。此技术确保了数据的连续性和效率,即使在重载状态下也能维持卓越性能。

NVIDIA从V100 GPU开始,再次引入NVLink的IP块和XBAR设计。这一创新不仅确保了各代产品间的无缝对接,也助力NVLink技术的持续升级与优化,同时大幅削减了研发成本和周期。

d1c9f9afdef1bf06d106b3bf6c5b7511.jpeg

NV Switch 物理内存共享

在编程世界中,开发者常与虚拟地址打交道。这些地址由操作系统抽象管理,为各程序提供独立空间。然而,物理内存中数据实际以物理地址存储,它直接指向内存位置,是数据访问基础。虚拟至物理地址的转换,通常由GPU核心或固定功能单元(如内存管理单元)完成。

在利用NVLink传输数据时,如图所示,它依赖的是物理地址而非虚拟地址。这是由于物理地址能直接定位数据的实际存储地点,从而提升数据的检索和访问效率。

NVSwitch,作为NVLink的连接桥梁,不仅提供高带宽通信通道,还管理复杂的路由和缓冲机制。通过物理地址进行NVLink通信,减少在目标GPU上的地址转换需求,降低延迟,提升数据传输速度。这为高性能计算和AI应用——需快速处理大量数据的领域,带来显著优势。

NVSwitch 简化原理与特性

  1. 无NVSwitch的直接GPU间连接

163a2fb22c975e1683e0e6517d9f8ee4.jpeg

无NVSwitch的直接GPU间连接

如图所示,在无NVSwitch配置下,GPU间的连接主要依靠将NVLinks聚合为多个组(Gang)实现。这即表示,多个GPU可通过共享的NVLink链路进行通信。

  1. 引入NVSwitch后的改进

1696ff83edb3f5c37e8e18f626b52609.jpeg

引入NVSwitch后的改进

NVIDIA的NVSwitch技术,为GPU间的通信带来革命性突破。作为高速交换机,它让所有链路数据自如交互,开启新的可能。

在NVSwitch架构下,任意两个GPU间均可直接通信,只要总带宽不超过六条NVLink,即可实现单GPU的无阻传输。这揭示了NVSwitch全互联架构的扩展性:轻松增加更多GPU,而性能不受影响。每个GPU都能通过NVLink获取高带宽,快速完成数据交换。

NVSwitch在解决多GPU间的互联有以下优势和特性:

  1. 扩展性与可伸缩性:

NVSwitch的引入,为GPU集群的扩展性注入强大动力。仅需添加更多NVSwitch,系统便能轻松容纳更多GPU,实现计算能力的倍增提升。

  1. 高效的系统构建:

例如,三个NVSwitch可连接八个GPU,构建出高效互联网络。这种设计让数据在各GPU链路间自由流通,极大提升了数据的灵活性和传输效率。

  1. 全双向带宽利用:

在此配置下,任意两个GPU都能共享高达300GBps的双向带宽进行通信。这确保了高速、低延迟的数据交换,从而显著加速了计算任务的处理速度。

  1. 无阻塞通信:

NVSwitch的交叉开关(XBAR)为数据流提供了点A至点B的独特通道,确保无阻、无干扰的通信过程。此设计提升了数据传输的稳定性与系统性能,实现高效可靠的信息传输。

  1. 优化的网络拓扑:

NVSwitch为大型GPU集群的构建带来优化解决方案,支持灵活配置的多种网络拓扑结构。设计者可根据具体计算需求,巧妙调整GPU间的连接方式。

第三代 NVSwitch

ccc18038ed52ad33c9b7b80c14f1738d.jpeg

第三代 NVSwitch

从上图可洞察,第三代 NVSwitch 采用 TSMC 的先进 4N 工艺打造,其卓越之处在于在晶体管数量庞大、带宽高的情况下,仍能实现低功耗运行。配备64个NVLink 4链路端口,这款产品助力构建包含众多GPU的复杂网络,同时确保各GPU之间的高速通信无阻。更值得一提的是,其全双工带宽高达3.2TB/s,显著提升数据传输速率,让大规模数据集的并行处理更加高效迅捷。

第三代NVSwitch不仅支持连接服务器内的多张GPU卡,还能通过外延扩展构建完整的GPU高速集群。利用此款NVSwitch芯片打造的物理交换机,可轻松组建高达256块H100 GPU集群,实现57.6TB/s的卓越总带宽。

信号技术方面,我们采用了先进的50 Gbaud PAM4信号技术,每个差分对提供高达100 Gbps的带宽。这确保了高速传输和低延迟特性,为您带来卓越的体验。

NVSwitch,一款集成了NVIDIA SHARP技术的设备,拥有all_gather、reduce_scatter以及broadcast atomics等操作功能。它为集群通信提供了硬件加速,从而显著提升性能表现。此外,NVSwitch 3.0的物理电气接口与400 Gbps以太网和InfiniBand完美兼容,确保了与现有网络技术的无缝互操作性。

59c2fef80c9ab6ea140eb80b9648feaf.jpeg

第三代 NVSwitch Block

NVIDIA第三代NVSwitch引入创新特性,新SHARP模块与NVLink模块的加入,为GPU间高效通信和数据处理带来显著性能提升,如图展示。

  • 新SHARP模块

智慧之选——新登场的SHARP模块,犹如一位睿智的指挥官,以其卓越的数据处理能力引领着数据的交响乐。它不仅支持多种运算符,从逻辑到算术,无所不能,还兼容FP16和BF16等多元数据格式,为AI与机器学习工作负载注入强大动力。

SHARP控制器设计巧妙,能并行管理多达128个SHARP组,犹如千手观音般同时处理众多任务,大幅提升数据并行处理效率。让大规模数据处理任务如同行云流水,一气呵成,轻松应对各种挑战。

NVSwitch的交叉开关(XBAR)经过精细调整,与SHARP模块的数据传输需求完美契合。这种协同设计如同精密编织的网络,确保GPU间数据传输的高效和低延迟,使系统性能如骏马奔腾,势不可挡。

  • 新NVLink模块

新NVLink模块的整合,犹如坚固的盾牌,为数据和芯片提供双重保护,有效抵御未授权访问及潜在信息泄露,从而大大增强系统的数据安全性。而端口分区功能则如同棋手运筹帷幄,将各端口独立隔离到NVLink网络中,赋予系统更高的灵活性。此设计允许在各网络间进行资源的逻辑划分,优化了多任务处理效能。

控制器对下一代Octal Small Formfactor Pluggable(OSFP)电缆的支持,为未来网络扩展铺设了坚实基石。这种电缆具备高传输速率和低信号衰减特性,适用于长距离高速通信,为未来网络拓展带来无限可能。

新NVLink模块增强了遥测功能,助力系统管理员精准监控和优化网络性能,确保系统稳定运行。集成的前向纠错(FEC)技术犹如一位警觉的守护者,显著提升数据传输的可靠性。面对信号衰减或干扰,它确保数据的完整性和准确性无虞。

IB网络 vs NVLink网络

H100 GPU通过NVLink网络,其速度较A100 GPU的IB网络有了显著提升。以下是DGX A100 256 POD与DGX H100 256 POD的带宽对比:

7c2995781477dd147895ed3862f5748d.jpeg

"探索DGX A100的无限可能:单台A100内部性能高达2400 GB/s,汇聚32台A100 GPU,总计256块强大核心。每台服务器通过8张200Gbps HDR网卡连接,实现高速数据传输。借助TOR交换机的4:1收敛比,整体性能飙升至6400 GB/s,为您的计算需求提供无与伦比的强大动力。"

在DGX H100的内部,每秒可处理的数据量为3600 GB/s。如果使用32个这样的设备,并且收敛比为2:1,那么总的处理速度将达到惊人的57600 GB/s。这就意味着,无论是处理大规模的数据,还是进行复杂的计算任务,DGX H100都能轻松胜任。

与DGX A100相比,DGX H100的带宽提升显著,单节点可实现1.5倍带宽增长和3倍双向带宽提升。若采用32个DGX H100,分带宽将激增9倍,双向带宽更可提升至4.5倍。

b43c421af5a631256754a9a4a13a0ae1.jpeg

小结

在数据驱动的当今时代,高性能计算需求如潮水般翻涌,不断挑战技术极限。NVIDIA的NVSwitch技术,作为GPU间通信的桥梁,凭借卓越性能和创新设计,成为构建高效能计算集群的核心要素。从初代NVSwitch诞生到第三代NVSwitch革新,每一步都展现了NVIDIA在追求极致计算效率上的坚定决心。

NVSwitch不仅优化了数据传输带宽和速度,还通过融合SHARP模块和NVLink模块,显著增强了数据处理能力和系统安全性。它的诞生,让多GPU系统能更高效协同,为人工智能、机器学习及大数据分析等领域的迅猛发展注入强大动力。

随着科技日新月异,NVSwitch在高性能计算领域的主导地位将更加稳固。它不仅是NVIDIA创新实力的璀璨标志,更是推动整个行业前行的强大引擎。在NVSwitch的照耀下,我们翘首期盼一个更智能、更高效、更互联的未来。


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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# 实现跨进程条件变量

C# 进程通信系列 第一章 共享内存 第二章 条件变量(本章) 第三章 消息队列 文章目录 C# 进程通信系列前言一、关键实现1、用到的主要对象2、初始化区分创建和打开3、变量放到共享内存4、等待和释放逻辑 二、完整代码三、使用示例1、同步控制2、跨进程控…

通义千问大模型API调用示例

通义千问是由阿里云自主研发的大语言模型,用于理解和分析用户输入的自然语言。 模型概览 模型名称模型简介模型输入/输出限制qwen-turbo通义千问超大规模语言模型,支持中文、英文等不同语言输入模型支持8k tokens上下文,为了保证正常的使用…

Python数据可视化------动态柱状图

一、基础柱状图 # 基础柱状图 # 导包 from pyecharts.charts import Bar from pyecharts.options import *# 构建柱状图 bar Bar() # 添加数据(列表) x_list ["张三", "李四", "王五", "赵六"] y_list [50,…

vue引用js html页面 vue引用js动态效果

要引用的index.html页面&#xff1a;&#xff08;资源来自网络&#xff09;在pubilc下建一个static文件放入js文件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>数字翻转</title><meta con…

基于SpringBoot+Vue的校园志愿者管理系统(带1w+文档)

基于SpringBootVue的校园志愿者管理系统(带1w文档) 基于SpringBootVue的校园志愿者管理系统(带1w文档) 本次设计任务是要设计一个校园志愿者管理系统&#xff0c;通过这个系统能够满足管理员和志愿者的校园志愿者信息管理功能。系统的主要功能包括首页、个人中心、志愿者管理、…

多线程应用

并发与并行 计算机操作系统对于并发性和并行性的概念给出的定义是&#xff1a; 并行性是指两个或多个事件在同一时刻发生&#xff1b; 并发性是指两个或多个事件在同一时间段内发生。 并发是指多个任务(线程)都请求运行&#xff0c;如果系统只有一个CPU,CPU只能按受一个任务&…

java学习--断点调试

可进入调用的方法里看源码

C2W2.Assignment.Parts-of-Speech Tagging (POS).Part1

理论课&#xff1a;C2W2.Part-of-Speech (POS) Tagging and Hidden Markov Models 文章目录 0 Data Sources1 POS Tagging1.1 TrainingTransition countsEmission countsTag countsExercise 01 1.2 TestingExercise 02 理论课&#xff1a; C2W2.Part-of-Speech (POS) Tagging…

创建自己的 app: html网页直接打包成app;在线网页打包app工具fusionapp、pake

1、html网页直接打包成app 主要通过hbuilderx框架工具来进行打包 https://www.dcloud.io/hbuilderx.html 参考&#xff1a; https://www.bilibili.com/video/BV1XG411r7QZ/ https://www.bilibili.com/video/BV1ZJ411W7Na 1&#xff09;网页制作 这里做的工具是TodoList 页面&a…

数据结构——栈的实现(java实现)与相应的oj题

文章目录 一 栈栈的概念:栈的实现&#xff1a;栈的数组实现默认构造方法压栈获取栈元素的个数出栈获取栈顶元素判断当前栈是否为空 java提供的Stack类Stack实现的接口&#xff1a; LinkedList也可以当Stack使用虚拟机栈&#xff0c;栈帧&#xff0c;栈的三个概念 二 栈的一些算…

Android 11 HAL层集成FFMPEG

1.集成目录&#xff1a; android/vendor/noch/common/external/NoboMediaCodec 2.文件夹目录 3. Android.mk实现 # Copyright #LOCAL_PATH : $(call my-dir)SF_COMMON_MK : $(LOCAL_PATH)/common.mkinclude $(call first-makefiles-under,$(LOCAL_PATH))4.common.mk实现 # #…

Xilinx FPGA DDR4 接口配置基础(PG150)

1. 简介 1.1 DDR4 SDRAM 控制器主要特点 支持8到80位接口宽度的组件&#xff08;支持 RDIMM、LRDIMM、UDIMM 和 SODIMM&#xff09; 最大组件限制为9&#xff0c;此限制仅适用于组件&#xff0c;不适用于 DIMM。密度支持 最高支持 32 GB 的组件密度&#xff0c;64 GB 的 LRDI…

初识godot游戏引擎并安装

简介 Godot是一款自由开源、由社区驱动的2D和3D游戏引擎。游戏开发虽复杂&#xff0c;却蕴含一定的通用规律&#xff0c;正是为了简化这些通用化的工作&#xff0c;游戏引擎应运而生。Godot引擎作为一款功能丰富的跨平台游戏引擎&#xff0c;通过统一的界面支持创建2D和3D游戏。…

数字集成电路(3)

光刻&#xff08;photolithography&#xff09; 工艺步骤&#xff1a; 扩散和离子注入&#xff1a;900~1100℃ 淀积 刻蚀 平面化 衬底选择&#xff1a;常用&#xff08;100&#xff09;晶面&#xff08;原因&#xff1a;面密度小&#xff0c;界面态少&#xff09; 设计规…

【vue教程】四. Vue 计算属性和侦听器

目录 本章涵盖知识点回顾计算属性&#xff08;Computed&#xff09;创建计算属性计算属性的多样性计算属性的数组过滤计算属性的复杂表达式 计算属性 vs 方法计算属性的实例演示 侦听器&#xff08;Watchers&#xff09;创建侦听器侦听器的高级用法侦听器的深度观察侦听器的立即…

【ffmpeg命令基础】过滤处理

文章目录 前言过滤处理的介绍两种过滤类型简单滤波图简单滤波图是什么简单滤波示例 复杂滤波图复杂滤波是什么区别示例 总结 前言 FFmpeg是一款功能强大的开源音视频处理工具&#xff0c;广泛应用于音视频的采集、编解码、转码、流化、过滤和播放等领域。1本文将重点介绍FFmpe…

mysql存储引擎和备份

索引 事务 存储引擎 概念&#xff1a;存储引擎&#xff0c;就是一种数据库存储数据的机制&#xff0c;索引的技巧&#xff0c;锁定水平。 存储引擎。存储的方式和存储的格式。 存储引擎也属于mysql当中的组件&#xff0c;实际上操作的&#xff0c;执行的就是数据的读写I/O。…

ROC曲线和AUC

ROC曲线能更稳定反映模型的性能&#xff0c;对测试集合中数据分布的变化不敏感 AUC&#xff1a;当随机挑选一个正样本和一个负样本&#xff0c;根据当前的分类器计算得到的score将这个正样本排在负样本前面的概率 从AUC判断分类器&#xff08;预测模型&#xff09;优劣的标准&a…

【QT开发(19)】2023-QT 5.14.2实现Android开发,使用新版SDK,试图支持 emulator -avd 虚拟机

之前的博客【QT开发&#xff08;17&#xff09;】2023-QT 5.14.2实现Android开发&#xff0c;SDK是24.x版本的&#xff0c;虚拟机是32位的&#xff0c;但是现在虚拟机是64位的了&#xff0c;需要升级SDK匹配虚拟机 文章目录 最后的效果1.1 下载最新版 SDK tools (仅限命令行工…

JavaWeb-【3】DOM

笔记系列持续更新&#xff0c;真正做到详细&#xff01;&#xff01;本次系列重点讲解后端&#xff0c;那么第一阶段先讲解前端【续上篇CSS和JavaScript】 目录 1、dom介绍 2、html-dom 3、document 4、应用实例 ①、应用实例1 ②、多选框案例 ③、图片切换案例 ④、添…