思科推出Silicon One G200 吹响进军InfiniBand的号角

本周看到思科推出Silicon One G200 ASIC也走出了正确的一步,这些ASIC的设计从一开始就考虑了人工智能训练工作负载

机器学习发生转折时,英伟达(Nvidia)已经在开发大规模并行GPU计算引擎,用于在高性能计算(HPC)模拟和在模型中进行计算,这可以说是一个偶然的巧合。同样, InfiniBand也是个幸运儿,在同一时刻拥有高带宽、低延迟和跨GPU远程直接内存访问的优势。

InfiniBand网络也搭上了GPU计算的顺风车。GPU计算本来是用于人工智能训练,有时也用于人工智能推理。说搭顺风车倒不仅仅是因为英伟达在2020年4月以69亿美元的价格收购了Mellanox Technologies,该公司是数据中心中InfiniBand交换的标准载体。InfiniBand拥有RDMA的低延迟和高信息传输率以及内置的拥堵控制和自适应路由,已经进入了一些也想运行传统HPC应用的超大规模企业和云计算构建商的视野。许多人认为,InfiniBand成为大规模人工智能训练集群的核心已成定论,因为InfiniBand对比各种类型的以太网有很多优势。

但别搞错了。事实上,别一错再错。

首先,超大规模者和云构建商与世界上的一些HPC中心不同,超大规模者和云构建商勉强采用InfiniBand,即便是不可避免地要用InfiniBand。他们想要一个以太网及许多不同的供应商,而不是两种网络,而且其中的一种网络还是来自单一源。其次,其他所有的以太网交换机ASIC供应商(包括博通、思科系统和Marvell)都在向InfiniBand发起冲击。即使英伟达也在试图回避InfiniBand的这个问题。英伟达不会在旗下的Spectrum-4以太网和BlueField-3 DPU中为那些不会部署InfiniBand或根据我们的推测不再想部署的商家打造一个适合人工智能工作负载的“无损以太网”。我们一个月前在英伟达的Spectrum-X发布前报道过有关Spectrum-X的工作。

上面提到有些商家不再想部署,证据是博通公司(Broadcom)推出的“Jericho3-AI”芯片。Jericho3-AI芯片是在4月底被媒体报道的。Jericho3-AI对“Dune”系列的深度缓冲器交换机ASIC进行了一些调整,因此Jericho3-AI比博通公司最新的“Trident”和“Tomahawk”系列的以太网ASIC更适合运行人工智能训练工作负载。我们本周看到思科推出Silicon One G200 ASIC也走出了正确的一步,这些ASIC的设计从一开始就考虑了人工智能训练工作负载。

思科推出Silicon One G200 吹响进军InfiniBand的号角

笔者正在对Spectrum-X架构做更详细的调研,Spectrum-X也是主打人工智能,看起来用了类似的方法但是以完全不同的方式实现。请期待。但如果我们现在一定要总结一下的话,Spectrum-X架构采用51.2Tb/秒的Spectrum-4 ASIC,驱动400Gb/秒和800Gb/秒的端口,配置了相当大的缓冲区及RoCE RDMA支持,在服务器端点用BlueField-3 DPU作为前端,可提供更好的自适应路由和拥堵控制。

思科多年来都无视博通和其他少数商家交换机ASIC制造商的威胁,但八年前思科自己开始走上了成为商家交换机ASIC制造商的道路,结果是在2019年12月推出Q100路由芯片并在2020年10月扩大路由芯片的阵容,将交换机ASIC添加到Silicon One系列里。我们在2021年3月开始认真了解Silicon One项目,思科在这八年中已经在旗下商业芯片上投资了超过10亿美元,思科很乐意将这些芯片出售给任何交换机或路由器制造商以及在自己的交换机或路由器内使用这些芯片。

思科最新的Silicon One ASICs也是在做类似的事情,但Silicon One ASICs不是用DPU去分流 GPU节点和Spectrum-4交换机的模型。世界上最大的交换机制造商思科正以预定结构嵌入到模块化交换机的灵感为契机,在具有不同程度性能和数据包行为的主干/叶子(Spine/leaf)网络上将这些交换机进行虚拟化。模块化交换机指的是那些服务提供商和一些超大规模公司和云构建商购买的大块头。

与Jericho3-AI方法一样,Silicon OneASIC系列中新的51.2 Tb/秒 G200和25.6 Tb/秒 G202可以实现所谓的数据包喷洒,进而提供一个全预定以太网结构。标准以太网中常用等成本多路径(ECMP)负载平衡技术寻找在端点集群之间传递数据包的最佳方式,这些端点可以进行最佳路径的计算。全预定以太网结构与之相比具有明显的性能优势。

思科推出Silicon One G200 吹响进军InfiniBand的号角 

这其实与在以太网上支持人工智能工作负载的扩展和架构无关,但Silicon One G200和G202有一点很重要,值得指出来,而且还表明思科对从事商业晶片业务以及身为基于Silicon One的交换机和路由器本身的供应商是多么认真。思科第一次成立了工程师团队设计自己的SerDes通信电路,工程师团队已经能够设计出具有43分贝的信噪比的100Gb/秒的PAM4 SerDes(和其他PAM4一样在扣除编码开销之前的运行速度为112Gb/秒)。思科院士、Silicon One ASIC系列架构师Rakesh Chopra告诉记者,这意味着PAM4 SerDes能够驱动超过2倍于IEEE标准的无源数模转换器(DAC)。这意味着PAM4 SerDes可以通过4米长的电缆传输信号。

思科推出Silicon One G200 吹响进军InfiniBand的号角 

G200和G202芯片和博通的Tomahawk5及Jericho3-AI开关芯片中使用的“Peregrine”SerDes类似。G200和G202芯片像两款博通芯片一样可以用于交换机与相应终端或网络其他节点之间的各种铜缆和光缆的连接,包括共封装光模块(CPO),博通表示这可以推动旗下交换机的最佳价格和热效率。业界对CPO用于交换持怀疑态度,但对CPO用于系统中更多的通用I/O则少一些怀疑,但我们认为CPO用于网络是不可避免的,因为技术在不断发展,随着每一代的带宽翻倍,交换机内部的电线不断减少。

很难相信思科以前没有做自己的SerDes,但思科显然要跟上博通,先别说打败博通,这意味着要像博通那样完全控制IP栈。

看看G200内部

与博通的Tomahawk5和英伟达的Spectrum-4一样,G200 ASIC的总吞吐量为51.2 Tb/秒。G200及其搭档G202的额定吞吐量为25.6Tb/秒,刻蚀采用台湾半导体制造有限公司的5纳米工艺,比之前的Silicon One交换机和路由器ASIC使用的7纳米工艺减了一个节点。目前还没有同等级的P200路由芯片,但有理由期待很快就会有。P200的额定速度为19.2Tb/秒或25.6Tb/秒。现在,每个人都热衷于展示他们的以太网或InfiniBand如何用于人工智能工作负载,人工智能训练或推理尚无真正的路由用例,所以可以等一阵。

G200配有512个100Gb/秒的SerDes,SerDes配有PAM4信号系统,可以将原生的50Gb/秒的I/O通道加倍。与一些256个MAC地址的51.2Tb/秒架构不同的是, Chopra称思科能够在G200上放置512个MAC,从而保持与SerDes之间的1:1比例,可以保持所有的平衡,并允许在芯片上实现基数排序的最大规模化,100Gb/秒,512个端口以及任何较低的速度,如50Gb/秒、40Gb/秒、25Gb/秒和10Gb/秒传统模式。

思科推出Silicon One G200 吹响进军InfiniBand的号角 

虽然许多交换机ASIC设计的数据包缓冲器是以输出队列为前端,以输入队列为后端,因此缓冲器的大小是基于端口容量,但G200的所有SerDes通道和端口都有一个完全共享的数据包缓冲器,这有助于增加通过设备的流量控制,提高人工智能应用性能。G200配有一个可编程数据包处理器,可以使用由谷歌支持并被许多其他公司(AMD的Pensando和英特尔的前Barefoot Networks,仅举两例)采用的P4语言进行编程。

Chopra表示,“我们在所有的Silicon One设备中都配有一个P4可编程NPU,在这里也是如此。但为了追求低延迟,我们已经提出了推出该数据包处理器的演进版本,演进版在本质上是完全确定的,具有非常低的延迟,但仍然每秒发出大量的查询,准确地说,每秒4350亿次查询,这就是该设备在做的转发。这使我们能够实现一些高级功能,如SRv6 Micro SID。因此,演进版并不是精简版、不是不能做数据包处理器之类的。我们可以实现一些功能,我们也可以做到非常低的延迟,可以做到高度的确定性。”

人工智能性能和集群规模

现在来看看性能和规模,性能和规模在分布式计算中显然是相互关联的,如今的人工智能训练全都是分布式计算,我们可以补充一句,高性能计算(HPC)也是如此,而且许多对人工智能有利的东西对HPC也是有利的。笼统地说,HPC的交换ASIC往往需要非常高的信息速率,大量的小块数据移动,而人工智能则需要处理大量的庞大数据流。而且两者都不是像传统的微服务网络应用那样的网络模式。Chopra在下面用一个用于人工智能训练的全对全集体流量模式做了说明:

思科推出Silicon One G200 吹响进军InfiniBand的号角 

左边的网络应用里东西向流量的随机模式几乎在所有时间都趋于平均化后达到稳定状态的负载。但在右边的人工智能训练中,流量数目要少得多,而且需要更高的带宽,在人工智能集群中的几百、几千甚至几万台计算设备之间进行同步,意味着延迟会疯狂地上下跳动,因为每一步所有的GPU必须等待所有其他的GPU完成训练。上面的图显示了网络的一个次优路径可以在多个GPU上拖延人工智能工作负载。

尾部延迟在大型HPC工作负载中很重要,HPC工作负载中的任务在一个分布式系统上运行,但尾部延迟在人工智能工作负载中更重要,许多不同的并发工作负载在同一时间运行,会导致争用,任务完成时间(JCT)由网络的尾部延迟决定。我们还可以补充一点,一个共享的HPC能力集群比一个单个作业的HPC_能力集群表现得更像一个人工智能集群。所以全是取决于各种因素。

思科和其他一些以太网ASIC供应商用到三个级别(下表里的绿黄红)的性能,可以对照InfiniBand及相互衡量一下。思科公司列出了几种网络,如下表:

思科推出Silicon One G200 吹响进军InfiniBand的号角 

思科在表里说InfiniBand的好话不多(表的第一列),只是说InfiniBand在集群上有出色的单项任务性能。带ECMP负载平衡的以太网对各项指标都有帮助(表的第二列),但在多任务共享网络时存在一些问题。增强型以太网从网络中收集的遥测数据改善负载平衡,但以太网的单项任务性能并没有真正改善(表的第三列),而且以太网网络的成本也没有真正改善。

然后是全预定以太网(表的第四列),全预定以太网用到分切流量并尽可能均匀地喷洒在整个结构上的方法,使用所有可用的路径和带宽,试图将所有的流量平均分配并为同时运行的多个任务提供更均匀的性能。下面的基准显示了带有ECMP的普通以太网与全预定以太网的性能:

思科推出Silicon One G200 吹响进军InfiniBand的号角 

这个特定的测试用的是共有192个GPU的系统(左:ECMP的普通以太网;右:全预定以太网)。直方图显示了GPU停滞不前等待数据的比率(由于网络拥堵导致的同步问题),图表中心的两个条形图显示了对混合人工智能工作负载的任务完成时间的总体影响。这些数字(1.62和1.01)是相对于峰值的比例,假定没有争用的情况下理想化互连性能。

全预定以太网(可能在某个时候应该有自己的缩写)的人工智能工作负载完成速度快了1.33倍。如果InfiniBand在人工智能工作上的性能比普通以太网高了20%(像英伟达自己所说的那样),那么思科的全预定以太网在实现人工智能工作负载时的性能大概在同一范围内。

我们希望看到一些真正的基准测试,保持计算不变,改变网络进行测试,包括 InfiniBand、Jericho3-AI、FSE思科G200,同时显示不同规模的GPU的人工智能性能,或许在一个包含8到4000个单元不等的集群上进行。这是大家需要了解的范围。我们也想分出快慢来…….

下图显示了随着并发的人工智能任务(都占用网络容量)数量的增加对任务完成情况的影响:

思科推出Silicon One G200 吹响进军InfiniBand的号角 

很明显,随着并发人工智能任务数量的增加,全预定以太网并没有受到很大的影响,但ECMP以太网就则跟不上。在思科给出的最密集测试中,完成所有16个任务需要1.9倍的时间。

现在我们来谈谈规模。超大规模厂商和云计算构建商正在试图将数以万计的GPU连接在一起,用于运行大型语言模型和推荐引擎。下图是思科利用旗下51.2Tb/秒交换机(我们在前面提过)在基数排序上的优势而制定的方案,该交换机可以100Gb/秒的速度跑512个端口运行,竞争对手只能以200Gb/秒的速度跑256个端口,因为他们的ASIC上的MAC地址只有256个:

思科推出Silicon One G200 吹响进军InfiniBand的号角 

G200交换机方案含512个叶子交换机,每个交换机有64个端口,以400Gb/秒的速度接服务器运行,每个GPU有一个端口,链接到总共32,768个GPU。每个交换机还有256个上行链路,以100Gb/秒的速度运行。G200设备两层网络的主干层由256个交换机组成,同时提供多个路径将叶子交换机相互连接起来。

右边大致是一个使用Tomahawk5或Spectrum-4 ASIC的以太网网络,需要一个三层网络,因为这些交换机的基数排序是一半。网络的第一层需要512个交换机,在第二层需要另外512个交换机,另外在第三层需要256个与第二层交叉耦合的交换机。思科公司使用G200的方法需要的交换机减少40%,需要的光缆减少50%,而且还减少了一层网络,因此交叉连接相同的32,768个GPU的链接跳数也减少了。顺便提一下,InfiniBand两层网络中的最多端点数最多比48,000稍多一点,超过这个数则需要扩展到三层。

我们想知道每个GPU从来自服务器的400Gb/秒的端口下调、然后在叶子交换机和第二层骨干交换机的上行链路上逐步下调到100Gb/秒的端口对人工智能工作负载性能的影响。这个网络中的链接跳数较少,但链路上的带宽也较少。

不管怎么样,这就是思科就用于人工智能工作负载的G200 ASIC给出的说法。

最后一点:G200 ASIC比之前的G100的东西多了一倍,由于设计中的这种平衡,G200 ASIC在同样的热包络中具有两倍的性能和两倍的功率效率,这就是从7纳米缩减到5纳米所提供的。G202 ASIC的SerDes数量是G200的一半,其额定总带宽为25.6Tb/秒,可提供256个100Gb/秒端口、128个200Gb/秒端口、64个400Gb/秒端口,或32个800Gb/秒端口。

我们所处的时代和读者中许多人一样,在我们的时代,以800Gb/秒的速度运行的32个端口似乎是非常神奇了。现在想想,单个CPU上的128个内核或单个驱动盘上的20TB也是如此。我们身处未来世界里。

来源:至顶网网络与安全频道

0赞

好文章,需要你的鼓励

2023

06/25

18:59

分享

点赞

邮件订阅