数据中心GPU集群高性能组网技术分析

数据中心GPU集群组网技术是指将多个GPU设备连接在一起,形成一个高性能计算的集群系统。通过集群组网技术,可以实现多个GPU设备之间的协同计算,提供更大规模的计算能力,适用于需要大规模并行计算的应用场景。

常用的组网技术:

1.InfiniBand(简称IB):

InfiniBand是一种高性能计算和数据中心互连技术,具有低延迟和高带宽的特点。它支持点对点和多播通信模式,并提供高效的远程直接内存访问(RDMA)功能。InfiniBand通常用于大规模GPU集群的互连。

在这里插入图片描述

InfiniBand网络的一些特点和功能:

低延迟:InfiniBand网络通过在硬件和协议栈中采用一些优化技术,实现了非常低的传输延迟。这对于需要实时数据传输和低延迟响应的应用非常重要,如高性能计算、金融交易和实时数据分析等。高带宽:InfiniBand网络提供了非常高的数据传输带宽,通常以吉比特或每秒更高的速度进行通信。这使得它适用于大规模数据传输和并行计算任务,能够满足对大吞吐量的需求。RDMA支持:InfiniBand网络通过支持RDMA技术,实现了高效的远程内存访问。RDMA允许数据在主机之间直接传输,而无需通过CPU的干预。这种直接内存访问方式可以提供更低的处理延迟和更高的数据吞吐量。点对点和多播通信:InfiniBand网络支持点对点和多播通信模式。点对点通信意味着两个节点之间可以直接通信,而无需经过交换机或路由器。多播通信可以将数据同时传输到多个节点,适用于广播和集体通信操作。可扩展性:InfiniBand网络可以支持数千个节点的集群规模,并提供可扩展性的设计。它包括交换机、网关、适配器等设备,可以灵活地构建各种规模的网络拓扑。

InfiniBand网络通常用于构建高性能计算集群、大规模存储系统、高频交易平台等需要低延迟和高带宽的应用。它提供了一种高效的数据传输解决方案,并在科学研究、金融、能源等领域发挥重要作用。

目前,Nvidia是唯一一家提供高端IB交换机供HPC和AI GPU集群使用的供应商。例如,OpenAI在Microsoft Azure云中使用了10,000个Nvidia A100 GPU和IB交换网络来训练他们的GPT-3模型。而Meta最近构建了一个包含16K GPU的集群,该集群使用Nvidia A100 GPU服务器和Quantum-2 IB交换机(英伟达GTC 2021大会上发布全新的InfiniBand网络平台,具有25.6Tbps的交换容量和400Gbps端口)。这个集群被用于训练他们的生成式人工智能模型,包括LLaMA。值得注意的是,当连接10,000个以上的GPU时,服务器内部GPU之间的切换是通过服务器内的NVswitches完成的,而IB/以太网网络则负责将服务器连接在一起。

在这里插入图片描述

为了应对更大参数量的训练需求,超大规模云服务提供商正在寻求构建具有32K甚至64K GPU的GPU集群。在这种规模上,从经济角度来看,使用以太网网络可能更有意义。这是因为以太网已经在许多硅/系统和光模块供应商中形成了强大的生态系统,并且以开放标准为目标,实现了供应商之间的互操作性

2.Ethernet:

以太网是一种常见的网络技术,也可以用于GPU集群的组网。通过使用高速以太网(如10GbE、40GbE、100GbE),可以提供足够的带宽和低延迟,以满足GPU集群的需求。一些高性能计算网络技术,如RDMA over Converged Ethernet(RoCE)和Data Center Bridging(DCB),可以进一步提高以太网在GPU集群中的性能。

RDMA over Converged Ethernet (RoCE)

RoCE读音类似Ráo kì

是一种基于以太网的远程直接内存访问(RDMA)技术。它允许在以太网上实现高性能、低延迟的数据传输,同时保持以太网的通用性和可扩展性。

RoCE通过在以太网协议栈上引入RDMA功能,实现了RDMA在以太网上的使用。RDMA是一种数据传输方式,它允许数据在内存之间直接传输,而无需通过CPU进行数据拷贝和处理。这种直接内存访问方式可以提供低延迟、高带宽和高效能的数据传输。

RoCE技术的主要特点包括以下几点:

无损以太网:RoCE在以太网上实现了无损传输,即保证数据的可靠性和完整性。它通过使用带有流量控制和拥塞管理机制的数据包传输,确保数据在传输过程中不会丢失或损坏。
网络内部的一个丢包,这个端到端的通信的时延,没有损失,以前的网络,是可能会丢包,然后他这个时延,也有有各种的样的一个损失。0丢包低时延,高吞吐
基于标准以太网:RoCE技术基于标准以太网协议栈,不需要额外的硬件或专用网络设备。这使得RoCE可以在现有以太网基础设施上部署,无需进行大规模的网络改造。低延迟和高带宽:RoCE利用RDMA技术的特性,在以太网上实现了低延迟和高带宽的数据传输。它可以提供与传统InfiniBand类似的性能水平,适用于对延迟和带宽要求较高的应用场景。

RoCE通常用于数据中心和云计算环境中构建高性能计算和存储系统。它可以与现有的以太网设备和协议兼容,并提供低延迟、高带宽的数据传输能力。通过采用RoCE技术,可以在以太网上实现高效能的远程直接内存访问,提高数据传输效率和系统性能。

高端以太网交换机ASIC的主要供应商可以提供高达51.2Tbps的交换容量,配备800Gbps端口,其性能是Quantum-2((英伟达GTC 2021大会上发布全新的InfiniBand网络平台,具有25.6Tbps的交换容量和400Gbps端口))的两倍。这意味着,如果交换机的吞吐量翻倍,构建GPU网络所需的交换机数量可以减少一半。

以太网还能提供无丢包传输服务,通过优先流量控制(PFC)实现。PFC支持8个服务类别,每个类别都可以进行流量控制,其中一些类别可以指定为无丢包类别。在处理和通过交换机时,无丢包流量的优先级高于有丢包流量。在发生网络拥塞时,交换机或网卡可以通过流量控制来管理上游设备,而不是简单地丢弃数据包。

此外,以太网还支持RDMA(远程直接内存访问)通过RoCEv2(RDMA over Converged Ethernet)实现,其中RDMA帧被封装在IP/UDP内。当RoCEv2数据包到达GPU服务器中的网络适配器(NIC)时,NIC可以直接将RDMA数据传输到GPU的内存中,无需CPU介入。同时,可以部署如DCQCN等强大的端到端拥塞控制方案,以降低RDMA的端到端拥塞和丢包。

在这里插入图片描述

RDMA over Converged Ethernet (RoCE)和RoCEv2都是基于以太网的远程直接内存访问(RDMA)技术,用于在以太网上实现高性能、低延迟的数据传输。它们之间的主要区别在于以下几个方面:协议版本:RoCE和RoCEv2是不同的协议版本。RoCE是早期的协议版本,而RoCEv2是对RoCE协议进行改进和扩展后的新版本。IP支持:RoCE和RoCEv2在IP支持方面有所不同。RoCEv2可以在IP网络中运行,支持使用IPv4或IPv6地址进行通信。而RoCE则需要在以太网之上建立专用的InfiniBand子网,不直接使用IP。网络层:RoCE和RoCEv2在网络层的实现方式上有所区别。RoCE在以太网上直接封装InfiniBand的传输层协议(IBTA RDMA)进行数据传输。而RoCEv2使用UDP/IP封装RDMA数据,从而在IP网络上实现RDMA。扩展性:RoCEv2在扩展性方面有所改进。RoCEv2引入了更灵活的路由和多路径功能,可以支持更大规模的网络拓扑和部署。它还提供了更多的配置选项,如网址控制信息(GID)和服务级别(SL),以支持不同应用需求。需要注意的是,RoCE和RoCEv2虽然有一些区别,但它们的基本原理和目标都是实现在以太网上的高性能、低延迟的RDMA。具体选择使用哪个版本取决于具体应用的需求、网络环境和设备兼容性等因素。

iWARP(Internet Wide Area RDMA Protocol)是一种基于以太网的远程直接内存访问(RDMA)协议。它允许在以太网上实现低延迟、高带宽的数据传输,提供了与传统的基于 InfiniBand 的 RDMA 相似的性能和效果。

iWARP 是通过在以太网上的 TCP/IP 协议栈上添加 RDMA 支持来实现的。它在以太网的传输层以上添加了 RDMA 协议,通过在数据传输过程中绕过操作系统内核的数据拷贝和处理,实现了零拷贝和低延迟的数据传输。这使得应用程序可以直接在远程主机的内存中读写数据,从而提供了高效的数据交换。

iWARP 提供了多种功能和特性,包括传输层卸载(TOE),数据完整性保护,流量控制,错误恢复等。它使用标准的以太网硬件和协议,无需专用的高速网络设备,因此更容易部署和使用。

iWARP 技术的优势在于它可以在现有的以太网基础设施上实现高性能和低延迟的数据传输。它被广泛应用于需要大数据量、低延迟、高吞吐量的应用场景,如数据中心、云计算、存储系统、高性能计算等领域。

iWARP和RoCE(RDMA over Converged Ethernet)都是基于以太网的远程直接内存访问(RDMA)协议,但它们在实现和特性上有一些区别

技术实现:iWARP使用TCP/IP协议栈来实现RDMA,而RoCE使用UDP/IP协议栈。因此,iWARP利用TCP的可靠性和流量控制机制,而RoCE则利用UDP的低延迟和多播特性。软硬件支持:iWARP通常需要特定的网卡和驱动程序来实现,而RoCE可以在标准的以太网硬件上实现,但需要支持RDMA的网络适配器。性能和延迟:iWARP通常在吞吐量和延迟方面具有更好的性能。它使用了更复杂的协议堆栈和流量控制机制,可以提供更稳定和可预测的性能。RoCE则更加注重低延迟,可以实现更快的数据传输速度。部署和兼容性:由于iWARP使用TCP/IP协议栈,它可以与现有的以太网基础设施兼容,并且易于部署。RoCE需要支持RDMA的网络适配器,并且对交换机和路由器的支持有一定的要求。

选择使用iWARP还是RoCE取决于具体的应用需求和环境条件。如果你的应用需要更好的吞吐量和稳定性,或者正在使用现有的以太网基础设施,那么iWARP可能是一个更好的选择。如果你的应用对低延迟有更高的要求,并且有适当的硬件支持,那么RoCE可能更适合你的需求。

Data Center Bridging(DCB)

是一组标准和技术,旨在提供在数据中心网络中传输数据时的高可靠性、低延迟和带宽保证。

DCB 主要解决了在传统以太网网络中面临的一些挑战,包括数据传输的可靠性、带宽利用率和延迟控制等问题。DCB 引入了以下关键技术和标准:

Priority-based Flow Control(PFC):PFC 用于解决数据包丢失和拥塞的问题。它基于 IEEE 802.1Qbb 标准,允许交换机根据流的优先级进行流量控制,确保高优先级的流量不会被低优先级的流量阻塞。Enhanced Transmission Selection(ETS):ETS 用于提供带宽保证。它基于 IEEE 802.1Qaz 标准,允许网络管理员将可用带宽分配给不同的流量类别,并根据优先级和带宽需求进行流量管理。Data Center Bridging Exchange(DCBX):DCBX 是一种交换机和终端设备之间的协议,用于在连接建立时交换关于 DCB 支持和配置的信息。DCBX 可以确保网络中的所有设备都能够遵守相同的 DCB 配置,从而实现更好的互操作性和一致性。

DCB 技术通常用于数据中心网络中的存储交换机、以太网交换机、服务器和存储设备之间的连接。它可以为关键应用程序提供低延迟、高可靠性和带宽保证的网络环境,从而提高数据中心的性能和可靠性。

3.NVLink:

NVLink是NVIDIA开发的一种高速互连技术,专门用于连接多个GPU设备。它提供高带宽、低延迟的点对点连接,并支持共享内存和直接内存访问。NVLink通常用于构建NVIDIA GPU的集群系统,以实现更高的GPU计算性能和数据传输效率。

NVLink 交换系统

用于连接 GPU 服务器中的 8 个 GPU 的 NVLink 交换机也可以用于构建连接 GPU 服务器之间的交换网络。Nvidia 在 2022 年的 Hot Chips 大会上展示了使用 NVswitch 架构连接 32 个节点(或 256 个 GPU)的拓扑结构。由于 NVLink 是专门设计为连接 GPU 的高速点对点链路,所以它具有比传统网络更高的性能和更低的开销。

在这里插入图片描述

第三代 NVswitch 配备 64 个 NVLink 端口,提供高达 12.8Tbps 的交换容量,同时支持多播和网络内聚合功能。网络内聚合能够在 NVswitches 内部汇集所有工作 GPU 生成的梯度,并将更新后的梯度反馈给 GPU,以便进行下一次迭代。这一特点有助于减少训练迭代过程中 GPU 之间的数据传输量。

据 Nvidia 介绍,在训练 GPT-3 模型时,NVswitch 架构的速度是 InfiniBand 交换网络的 2 倍,展现出了令人瞩目的性能。然而,值得注意的是,这款交换机的带宽相较于高端交换机供应商提供的 51.2Tbps 交换机来说,要少 4 倍。

若尝试使用 NVswitches 构建包含超过 1000 个 GPU 的大规模系统,不仅成本上不可行,还可能受到协议本身的限制,从而无法支持更大规模的系统。此外,Nvidia 不单独销售 NVswitches,这意味着如果数据中心希望通过混合搭配不同供应商的 GPU 来扩展现有集群,他们将无法使用 NVswitches,因为其他供应商的 GPU 不支持这些接口。

4.PCIe:

PCI Express(PCIe)是一种常见的计算机总线技术,也可以用于GPU集群的组网。通过将多个GPU设备插入到主机上的不同PCIe插槽中,可以将它们连接在一起,并通过软件和驱动程序进行协同计算。然而,相比于其他高性能互连技术,PCIe的带宽和延迟较高,适合中小规模的GPU集群。

GPU集群组网技术的选择取决于具体的应用需求、预算和可用资源。不同的技术对网络拓扑、设备支持和软件兼容性等方面有不同的要求,因此在选择和部署GPU集群组网技术时,需要综合考虑各种因素,并结合具体需求做出决策。

5.DDC全调度网络

DDC(Distributed Data Center)全调度网络是一种用于数据中心互连的网络架构。它是基于全调度算法的网络设计,旨在提供高性能、低延迟的数据传输和资源调度能力。

在传统的数据中心网络架构中,通常采用分层结构,例如经典的三层结构(核心层、汇聚层和接入层)。这种分层结构可能导致数据传输的延迟较高和资源利用率较低的问题。

DDC全调度网络通过将网络交换机配置为全调度模式,即所有交换机都能直接通信,消除了分层结构带来的瓶颈和延迟。它采用集中式的全局调度算法,根据数据中心内的实时负载情况和通信需求,动态地分配网络资源和优化数据流。

DDC全调度网络的关键特点包括:

低延迟:由于所有交换机都能直接通信,DDC全调度网络可以减少数据传输的跳数和排队延迟,从而实现低延迟的数据传输。高带宽:DDC全调度网络提供高带宽的数据传输能力,可以满足大规模数据中心的高吞吐量需求。灵活性:DDC全调度网络具有灵活的资源调度能力,可以根据实际需求动态分配网络带宽和处理能力,实现资源的最优利用。可扩展性:DDC全调度网络设计为可扩展的结构,支持逐步扩展和添加更多的交换机和节点,以适应不断增长的数据中心规模。

DDC全调度网络是一种新型的数据中心网络架构,它通过全调度算法和直接通信的方式提供了高性能、低延迟的数据传输和资源调度能力。这种网络架构被广泛应用于大规模数据中心、云计算和超级计算等领域,以提升系统性能和应用效率。

RoCE 和 FC测试对比

测试来自华为

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

1209. 带分数 刷题笔记

思路 暴力匹配 读入目标数 n 看n是否与ab/c相等 因为c里面的除法是整除 我们将 nab/c 转换为 c*na*cb 那么如何获得a,b,c 依题意 a,b,c三个数由1-9九个数字组成 且每个数字只能出现一次 由此 我们可以搜出123456789的全部排列方式…

我做的app上架应用市场一天,快破400下载量,0差评

上集说到,我做了一个叫QB音乐的安卓app,经过一段时间的自我使用与测试终于算发布了。我昨天顺便把它上架了奇妙应用市场,截止目前3月1号过去了一天,下载量快到400,0差评。看来还是能正常使用的。 一、为什么做这个ap…

CleanMyMac X2024免费Mac电脑清理和优化工具

CleanMyMac X是一款专业的 Mac 清理和优化工具,它具备一系列强大的功能,可以帮助用户轻松管理和维护他们的 Mac 电脑。以下是一些关于 CleanMyMac X 的主要功能和特点: 智能清理:CleanMyMac X 能够智能识别并清理 Mac 上的无用文件…

深入剖析k8s-Pod篇

为什么需要Pod? 进程是以进程组的方式组织在一起。受限制容器的“单进程模型”, 成组调用没有被妥善处理(资源调用有限),使用资源囤积则导致复杂度上升。 在k8s项目中,Pod的实现需要使用一个中间容器——…

css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)

两者功能效果相同&#xff0c;实现方式不同 效果预览 两侧宽度固定&#xff0c;中间宽度自适应&#xff08;三栏布局&#xff09;中间部分优先渲染允许三列中的任意一列成为最高列 圣杯布局 通过左右栏填充容器的左右 padding 实现&#xff0c;更多细节详见注释。 <!DOCTYP…

《无线网络技术》考试版笔记

第一章 无线网络介绍 什么是多径效应&#xff0c;如何去克服&#xff1a; 在发射机和接收机之间没有明显的直线路径时&#xff0c;就会产生多径传播。如果两个信号彼此叠加&#xff0c;那么接收设备就无法正确解调信号&#xff0c;无法还原为它的原始数据形式。 可以稍微调整接…

【leetcode热题】求根到叶子节点数字之和

难度&#xff1a; 中等通过率&#xff1a; 40.6%题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个二叉树&#xff0c;它的每个结点都存放一个 0-9 的数字&#xff0c;每条从根到叶子节点的路径都代表一个数字。 例如&#xff0c;从根到叶子…

Linux包管理dpkg、apt和snap

dpkg、apt和snap都是Ubuntu系统中用于软件管理的工具&#xff0c;但它们在功能和使用上有一些区别。 dpkg: dpkg是Debian包管理系统的底层工具&#xff0c;也是apt和其他高级包管理工具的基础。主要功能是用于安装、卸载、配置和构建Debian软件包&#xff08;.deb文件&#xff…

vue面试题:Computed 和 Watch 的区别?

Computed 和 Watch 的区别? 对于Computed&#xff1a;对于Watch&#xff1a;immediate&#xff1a;组件加载立即触发回调函数deep&#xff1a;深度监听&#xff0c;发现数据内部的变化&#xff0c;在复杂数据类型中使用&#xff0c;例如数组中的对象发生变化。需要注意的是&am…

USLE模型-LS因子的计算

目录 计算坡度计算填洼计算流向计算水流长度计算水平投影![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/75e015b2d6874ce9b6652f2b8730b90f.png)计算可变的坡度指数m计算坡长因子L计算坡度因子S计算LS因子参考视频 计算坡度 准备好30米分辨率的dem 计算填洼 计…

速看!深夜悄悄分享一个电力优化代码集合包!

代码集合包如下&#xff1a; 主从博弈的智能小区定价策略及电动汽车调度策略 碳交易机制下的综合能源优化调度 两阶段鲁棒优化算法的微网多电源容量配置 冷热电多能互补综合能源系统优化调度 考虑预测不确定性的综合能源调度优化 考虑柔性负荷的综合能源系统低碳经济优化调度 考…

MySQL深入——24

Join语句到底可不可用 join语句用于两个或多个表当中检索数据。 INNER JOIN或者JOIN 当两个表当中有匹配的值时&#xff0c;返回行 LEFT JOIN或者LEFT OUTER JOIN 返回所有左边的行&#xff0c;即使右表当中没有相匹配的行 RIGHT JOIN或者RIGHT OUTER JOIN 返回所有右边的…

整数的分离与合成

整数是由数字和数位组成的&#xff0c;比如327是一个三位数&#xff0c;它的数字是3、2、7,数位是个数、十位、百位。 经常有些题目考查将一个整数拆分成各个数字&#xff0c;以及将各个数字合成一个整数&#xff0c;下面分别就此讨论。 注&#xff1a;只考虑正整数&#xff…

C语言学生成绩信息管理系统【结构体+文本】

功能描述&#xff1a; 1、录入成绩 2、显示不及格学生信息 3、统计每档学生数量 4、总成绩统计 代码&#xff1a; #include<stdio.h>#define N 30//结构体&#xff1a;typedef struct STUDENT{char id[10];//学号char name[20];//姓名float score[3];//三门成绩,分别代…

Socket网络编程(四)——点对点传输场景方案

目录 场景如何去获取到TCP的IP和Port&#xff1f;UDP的搜索IP地址、端口号方案UDP搜索取消实现相关的流程&#xff1a;代码实现逻辑服务端实现客户端实现UDP搜索代码执行结果 TCP点对点传输实现代码实现步骤点对点传输测试结果 源码下载 场景 在一个局域网当中&#xff0c;不知…

生成式人工智能治理:入门的基本技巧

GenAI 以前所未有的速度调解并扰乱了“一切照旧”&#xff0c;同时带来了令人难以置信的力量&#xff0c;但也带来了不可否认的责任。当然&#xff0c;现代企业非常熟悉技术进步。然而&#xff0c;人工智能的到来&#xff08;和实施&#xff09;无疑引起了相当大的冲击&#xf…

C# 12 中的新增功能

本文内容 主构造函数集合表达式ref readonly 参数默认 Lambda 参数 显示另外 5 个 C# 12 包括以下新增功能。 可以使用最新的 Visual Studio 2022 版本或 .NET 8 SDK 尝试这些功能。 主构造函数 - 在 Visual Studio 2022 版本 17.6 预览版 2 中引入。 集合表达式 - 在 Visu…

ThreeJs同一个场景多个相机的显示

在threeJs开发数字孪生中&#xff0c;我们正常是需要使用一个相机&#xff0c;画面显示的内容也就是这个相机拍摄到的内容&#xff0c;但是是否可以添加多个相机&#xff0c;可以同时从不同角度观察模型呢&#xff0c;实际上是可以的&#xff0c;不过多个相机的拍摄到的画面肯定…

Linux uname命令教程:了解系统信息和配置(附实例详解和注意事项)

Linux uname命令介绍 uname&#xff08;Unix Name&#xff09;命令用于显示系统信息&#xff0c;包括内核名称、网络节点名称、操作系统名称、版本号、硬件名称和处理器类型。它是一个基本的系统管理工具&#xff0c;通常用于识别系统配置。 Linux uname命令适用的Linux版本 …

Linux服务:Nginx反向代理与负载均衡

一、Nginx反向代理 1、什么是反向代理&#xff1f; 代理分为两类&#xff0c;正向代理和反向代理。 ①正向代理&#xff1a;帮助用户访问服务器&#xff0c;缓存服务器内容。 ②反向代理&#xff1a;代理服务器处理用户的请求&#xff0c;决定转发请求给谁处理负载均衡的作…