首页 > 其他分享 >[转帖]IB和RoCE,谁更适合AI数据中心网络?

[转帖]IB和RoCE,谁更适合AI数据中心网络?

时间:2024-02-23 18:58:36浏览次数:36  
标签:InfiniBand AI IP 网络 转帖 拥塞 RoCE

https://zhuanlan.zhihu.com/p/668576216

 

超高带宽、超低延迟、超高可靠,这是大模型训练对于网络的要求。

多年来,TCP/IP协议一直是互联网通信的支柱,但对于AI网络来说,TCP/IP 在某些方面存在着致命的缺点。TCP/IP协议的时延较高,通常在数十微秒左右,同时还会对CPU造成严重的负载。RDMA能直接通过网络接口访问内存数据,无需操作系统内核的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。

RDMA技术有四种实现:InfiniBand、RoCEv1、RoCEv2和iWARP。其中,RoCEv1已被弃用,iWARP也不太常用。目前业界常用的网络解决方案是InfiniBand和RoCEv2。

那么,InfiniBand和RoCE,谁更适合AI数据中心网络?

HPC/AI 工作负载对网络有什么要求?

目前数据中心大多采用二层网络架构,而AI 集群是为执行复杂的大规模 AI 任务构建的超级计算机。计算机工作负载在多个 GPU 上并行运行,需要得到高度利用。因此,相较于传统数据中心网络,AI数据中心网络面临着额外的复杂性:

并行计算:AI 工作负载是运行相同应用程序/计算任务的多台机器的统一基础设施。

规模:HPC/AI任务的规模可以达到数千个计算引擎(如GPU、CPU、FPGA 等)。

作业类型:不同的任务在大小、运行持续时间、需要考虑的数据集大小和数量、需要生成的答案类型以及用于编码应用程序的不同语言和它运行的硬件类型等方面有所不同,这都会导致为运行HPC/AI工作负载而构建的网络内流量模式不断地变化。

无损:在传统数据中心中,丢失的消息会重传,而在AI 工作负载中,丢失消息意味着整个计算要么错误,要么被卡住。因此,AI 数据中心需要一个无损的网络。

带宽:高带宽流量需要在服务器之间运行,以便应用程序能够获取数据。在现代部署中,AI 或其他高性能计算功能的每个计算引擎的接口速度达到 400Gbps。

这些复杂性都对AI 网络提出了重大挑战,因此AI 数据中心网络需要具有高带宽、低延迟、无抖动、无数据包丢失和长期稳定等特点。

从TCP/IP到RDMA

对于HPC/AI等低延迟、高I/O并发的应用,现有的TCP/IP软硬件架构无法满足应用需求。传统的TCP/IP网络通信使用内核来发送消息,这种通信模式具有较高的数据移动和数据复制开销。比如,在典型的 IP 数据传输中,当一台计算机上的应用程序向另一台计算机上的应用程序发送数据时,接收端会发生以下操作:

1、内核必须接收数据。

2、内核必须确定数据属于应用程序。

3、内核唤醒应用程序。

4、内核等待应用程序对内核执行系统调用。

5、应用程序将数据从内核内存空间复制到应用程序提供的缓冲区中。

此过程意味着,如果主机适配器使用直接内存访问 (DMA),则大多数网络流量都会在系统主内存中复制。此外,计算机还执行一些上下文切换以在内核和应用程序之间进行切换。这些上下文切换可能会导致更高的 CPU 负载和高流量,同时减慢其他任务的速度。

与传统的IP通信不同,RDMA通信绕过了通信过程中的内核干预,允许主机直接访问另一个主机的内存,减少了 CPU 开销。RDMA 协议使主机适配器能够在数据包进入网络后决定哪个应用程序应该接收它,以及将其存储在该应用程序内存空间中的位置。主机适配器不是将数据包发送到内核进行处理并将其复制到用户应用程序的内存中,而是直接将数据包内容放入应用程序缓冲区中。

RDMA传输降低了所涉及的CPU周期数,有助于提高吞吐量和性能。换句话说,RDMA的本质,是对于大规模分布式计算存储的场景,让网卡绕开CPU,配合远端服务器直接存取内存,加速服务器之间的交互,降低时延,把宝贵的CPU资源用于高价值的计算与逻辑控制上。

与传统TCP/IP网络相比,InfiniBand和RoCEv2绕过了内核协议堆栈,延迟性能可以提高几个数量级。在同一集群内的通信可以在单跳中实现的情况下,实验测试表明,绕过内核协议堆栈后,应用层的端到端延迟可以从50us (TCP/IP) 减少到5us (RoCE) 或 2us (InfiniBand)。

 

 

Infiniband网络简介

Infiniband网络通过Infiniband适配器或交换机而不是以太网来实现数据传输。特定类型的以太网交换机的端口到端口延迟为 230 ns,而具有相同端口数量的 InfiniBand 交换机的延迟为 100 ns。

InfiniBand网络的关键组件包括子网管理器(SM)、IB网卡、IB交换机和IB线缆。InfiniBand交换机不运行任何路由协议,整个网络的转发表由集中式子网管理器计算和分发。除了转发表外,SM还负责管理InfiniBand子网中的分区和QoS等配置。InfiniBand网络需要专用线缆和光学模块来互连交换机并将交换机连接到网卡。

本地无损网络

InfiniBand网络利用基于信用令牌机制,从根本上避免缓冲区溢出和数据包丢失。发送端只有在确认接收端有足够的信用来接受相应数量的报文后才会启动分组传输。

InfiniBand网络中的每个链路都有一个预定的缓冲区。发送端不会传输超过接收端可用的预定缓冲区大小的数据。一旦接收端完成转发,就会释放缓冲区,并将当前可用的预定缓冲区大小持续返回给发送端。这种链路级流量控制机制确保了发送端不会发送过多的数据,防止网络缓冲区溢出和数据包丢失。

 

 

网卡扩展能力

InfiniBand的自适应路由基于每包动态路由,确保大规模部署中网络的最佳利用。InfiniBand网络有许多大型GPU集群的例子,如百度人工智能云和微软Azure。

InfiniBand网卡在速度方面一直在快速发展,200Gbps HDR已经大规模部署商用,400Gbps NDR的网卡也开始商业部署。目前,市场上,NVIDIA为主要的InfiniBand网络解决方案和配套设备提供商。下图显示了常用的InfiniBand网卡。

RoCE v2网络简介

RoCE通过以太网实现RDMA功能,可以绕过TCP/IP并使用硬件卸载,从而降低CPU利用率。RoCE有两个主要版本:RoCEv1和RoCEv2。RoCEv1是基于以太网链路层实现的RDMA协议。交换机需要支持PFC等流控技术,以保证物理层的可靠传输。RoCEv2是在以太网TCP/IP协议的UDP层实现的,引入IP协议是为了解决可扩展性问题。

RoCEv2支持在第三层以太网络上传输RDMA路由。RoCEv2将InfiniBand网络层替换成以太网链路层上的IP和UDP报头,这使得在基于IP的传统路由器之间路由RoCE成为可能。

InfiniBand网络在某种程度上是具有SM(子网管理器)的集中管理网络,而RoCEv2网络是一个纯分布式网络,由支持RoCEv1的NIC和交换机组成,通常采用两层体系架构。

RoCE网卡的主要供应商是NVIDIA等。PCIe卡是数据中心服务器网卡的主要形式。RDMA卡的端口PHY速度通常从50Gbps开始,当前可用的商用网卡可以实现高达400Gbps的单端口速度。

 

目前,大多数数据中心交换机都支持RDMA流量控制技术,当该技术与支持RoCE的网卡结合时,可以实现端到端的RDMA通信。

IB vs.RoCE

与InfiniBand相比,RoCE具有更大的通用性和相对较低的成本。它不仅可以用于构建高性能RDMA网络,还可以用于传统以太网。然而,在交换机上配置Headroom、PFC(基于优先级的流量控制)和ECN(显式拥塞通知)等参数可能会很复杂。在大规模部署中,RoCE网络的总体吞吐量性能可能略低于InfiniBand网络。

从技术角度来看,InfiniBand采用了多种技术来提高网络转发性能,减少故障恢复时间,提高可扩展性,并降低操作复杂性。

在业务性能方面,与RoCEv2相比,InfiniBand的端到端延迟较低,因此构建在InfiniBand上的网络在应用程序级业务性能方面具有优势。

在带宽和延迟方面,拥塞和路由等因素会影响高性能网络互连。

拥塞

InfiniBand 使用两种不同的帧中继消息来控制拥塞:前向显式拥塞通知 (FECN) 和后向显式拥塞通知 (BECN)。当网络出现拥塞时,FECN 通知接收设备,而 BECN 则通知发送设备。InfiniBand 将FECN 和 BECN与自适应标记率相结合,以减少拥塞。它提供了粗粒度的拥塞控制。

RoCE 上的拥塞控制使用显式拥塞通知 (ECN),它是 IP 和 TCP 的扩展,可以在不丢弃数据包的情况下启用端点网络拥塞通知。ECN 在 IP 报头上放置一个标记,告诉发送方存在拥塞。对于非 ECN 拥塞通信,丢失的数据包需要重传。ECN 减少了 TCP 连接拥塞造成的数据包丢失,避免了重传。更少的重传可以减少延迟和抖动,从而提供更好的事务和吞吐量性能。ECN 也提供粗粒度拥塞控制,与 InfiniBand 相比没有明显优势。

路由

当网络中出现拥塞时,自适应路由会通过备用路由发送设备,以缓解拥塞并加快传输速度。RoCE v2 运行在 IP 之上。几十年来,IP 一直通过先进的路由算法实现可路由,现在通过 AI 机器学习可以预测拥塞的路由,并自动通过更快的路由发送数据包。在路由方面,以太网和 RoCE v2 具有显著的优势。

然而,InfiniBand 和 RoCE 对于尾部延迟没有做太多处理。尾部延迟对于 HPC 消息应用程序的同步非常重要。

不断增长的市场需求是技术发展的根本驱动力。根据 IDC 的数据,2023 年AI基础设施建设投资将达到1540亿美元,到 2026 年将增长到 3000亿美元。2022 年,AI网络市场已达到 20亿 美元,其中 InfiniBand 贡献了 75% 的收入。

在比较InfiniBand和RoCE时,我们可以看到两者都有各自的优势和适用场景。IB在高性能计算领域表现出色,可提供卓越的性能、低延迟和可扩展性。RoCE则更容易集成到现有以太网基础设施中,并具有较低的成本。

标签:InfiniBand,AI,IP,网络,转帖,拥塞,RoCE
From: https://www.cnblogs.com/jinanxiaolaohu/p/17981934

相关文章

  • 安全生产:AI视频智能分析网关V4如何应用在企业安全生产场景中?
    随着科技的不断进步,视频智能分析技术在安全生产领域中的应用越来越广泛。这种技术通过计算机视觉和人工智能算法,可以对监控视频进行自动分析和处理,以实现多种功能,如目标检测、行为识别、异常预警等。今天我们以TSINGSEE青犀AI视频智能分析网关V4为例,来介绍下视频智能分析技术AI视......
  • [Rust] Exit a program using std::process in Rust
    Inthislessonwe'lllearnhowtoexitaprogramusingthe std::process moduleinRustandit's exit() method. usestd::io;usestd::process;fnmain(){letmutfirst=String::new();io::stdin().read_line(&mutfirst).unwrap()......
  • 部署微信AI机器人
    基于开源项目https://github.com/zhayujie/chatgpt-on-wechat部署微信AI机器人准备1、访问gpt3的APIkey2、可以访问openai.comAPI的网络3、gitclonehttps://github.com/muyiai/chatgpt-on-wechat.git4、安装docker软件5、下载镜像zhayujie/chatgpt-on-wechat:latest6......
  • AI老照片修复
    一、在线修复网站1、ARCARC是腾讯开发的一个网站,有"人像修复、人像抠图、动漫增强"三个主要功能,其中的人像修复和动漫增强可以让模糊图片变清晰。「人像修复」针对的是真人照片修复,「动漫增强」针对的是卡通动漫插图清晰度提升。模糊照片修复效果很好2、jpgHD一款免费......
  • 让 K8s 更简单!8款你不得不知的 AI 工具-Part 2
    在part1中,我们探讨了目前比较流行的四种OpenAI开源工具。在今天的part2中我们将探究另外三种不同的OpenAI开源工具并介绍一些与Appilot相关的内容。 Kubectl-GPTKubectl-GPT是一个kubectl插件,可使用GPT模型从自然语言输入生成kubectl命令。该插件引入了ku......
  • VMware Cloud Director Availability 4.7 | 灾难恢复和迁移 | DRaaS
    VMwareCloudDirectorAvailability4.7|灾难恢复和迁移|DRaaSOnboarding&DisasterRecoveryServices请访问原文链接:https://sysin.org/blog/vmware-cloud-director-availability-4/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwareCloudDirectorAva......
  • 遇到Failed to get response from https://registry.npm.taobao.org/vue-cli-version-
    1.问题在启动vueui时,总是遇到报错,如下图:2.解决参考:vuecli创建项目报错:Failedtogetresponsefrom/vue-cli-version-marker找到你的.vuerc文件:C:\Users\trmbh\.vuerc,这里根据自己的用户名更改然后改为{"useTaobaoRegistry":false,"packageManager":"npm"}第......
  • SciTech-Mathmatics-FourierSeries: Time Domain and Frequency Domain
    TimeDomainandFrequencyDomainFrequencydomain:measuredbySpectrumAnalysiszerTellsushowproperties(amplitudes)changeoverfrequencies:TimeDomain:measuredbyOscilloscopeTellsushowproperties(suchasAmplitude(Power),Phase,andsoon)......
  • ssts-hospital-web-master项目实战记录九:父组件App.vue给子组件main-page*.vue传值ter
    记录时间:2024-02-23一、App.vue详见:App.vue组件实现 【使用“文心一言”提取组件传值逻辑说明和代码】在Vue3中,组件传值通常涉及到props、emits、slots和组件的引用。在提供的代码中,主要关注点是动态组件的渲染和通过props传递数据。下面是对组件传值逻辑的说明和代码......
  • System.net.Mail only supports explicit SSL
    System.net.Mailsometimesfailstobesentunderthesslsmtpserver.Afterawhile,itseemslikethisistheproblem.Sendingmailusingsystem.net.MailwithSSLwillfail:System.net.NetworkcredentialAcred=NewSystem.net.Networkcredential("M......