公众号记得加星标⭐️,第一时间看推送不会错过。

谷歌一位网络专家晋升为负责这家搜索引擎、广告以及如今人工智能模型巨头的架构开发的高层,这几乎肯定不是巧合。尤其考虑到谷歌几乎肯定也开发了我们十多年来一直强调的那种解耦式数据中心架构。

在这样一个解耦且可组合的世界中,网络始终处于一切的核心地位。我们始终需要一个不仅经过优化,而且专为特定任务或一组任务量身打造的网络,其卓越性能甚至足以证明构建一个独立网络的必要性。这一点在以下情况下尤为重要:原本独立的系统组件被拆分并安装在机架中,从而可以构建各种计算/内存、I/O、加速器和存储配置的虚拟系统,这些系统可以根据需要运行从处理大量任务的小型系统组合到处理单个大型任务的大型集群。这并非简单地将一堆PCI-Express交换机和计算/内存、I/O及存储设备放置在机架的托盘中那么简单。

网络和协议的激增不仅遍及传统的分布式计算和存储领域,覆盖整个数据中心,更扩展到跨数据中心区域乃至全球的连接。以下仅举几例。谷歌于 2019 年发布了其自主研发的基于 Linux 的网络操作系统 Snap 及其配套的 Pony Express 数据平面引擎 ,并自 2016 年左右开始在生产环境中使用。四年前,谷歌宣布开发了Aquila 协议,旨在为规模相对较小、紧密耦合的集群提供类似 InfiniBand 的低延迟,并推出了一款配套的机架顶部网络接口卡 (TiN) 芯片,用于为拥有 1000 个节点、采用蜻蜓式全连接拓扑结构的集群实现定制网络。此外,谷歌还与英特尔合作,为“埃文斯山”分布式处理器 (DPU) 设计了低延迟网络接口传输协议 Falcon 。

在上周谷歌发布TPU 8系列产品时,我曾提到我们会回顾一下谷歌新推出的芯片间互连(Inter-Chip Interconnect)的Boardfly配置。该配置旨在将TPU AI计算引擎集群化,并保证这些计算引擎之间一定程度的内存一致性(具体程度尚不明确)。此外,我还想深入探讨一下谷歌新开发的“Virgo”横向扩展数据中心级以太网架构,该架构用于连接包括但不限于TPU pod在内的各种设备机架。

正如我在最初发表于 TPU 8 计算引擎文章中的那张巨型表格(为了方便起见,我将其重新印在下面)所示,之前的几代 TPU 集群都采用了二维环面互连,或者对于计算单元中包含数千个 TPU 的超大规模机器,则采用三维环面互连。请看:

打开网易新闻 查看精彩图片

顾名思义,环面拓扑结构具有多个维度,并已在一些超级计算机架构中得到广泛应用——例如,IBM 的 BlueGene 大规模并行计算机采用了三维环面拓扑结构,而富士通的“K”和“富岳”超级计算机则采用了六维“豆腐”互连结构。环面拓扑结构非常适合连接大量设备,但很难向其中添加新的机器。二维环面拓扑结构最多只能连接 256 个加速器,而谷歌在“Ironwood”TPU v7e 上使用的三维环面拓扑结构则将连接上限提升至 9,216 个加速器。借助全新的“Sunfish”TPU 8t 训练集群,这一上限已扩展至单个系统映像中通过三维环面拓扑结构连接的 9,600 个 TPU。

环面拓扑结构虽然适合分布式处理,但设备间存在大量跳转,导致延迟较高。这对于训练来说尚可接受,但对于推理而言则不然,因为推理的唯一目标是降低推理成本。推理涉及大量的全归约和全对全通信,尤其是在目前市面上主流的授权模型和API服务中,专家混合(MoE)推理模型占据主导地位。

这就是为什么“斑马鱼”TPU 8i采用了全新的Boardfly拓扑结构,该结构可以在单个内存和计算空间内扩展到1152个互连的TPU 8i设备,并将跳数从类似容量的3D环面结构的16跳减少到Boardfly配置的7跳。这意味着新的

Boardfly拓扑结构——其灵感源自过去十五年来在超级计算领域日益普及的蜻蜓拓扑结构——使谷歌能够在大幅提升ICI网络推理规模的同时,将网络直径降低56%,从而进一步降低数据传输的尾部延迟。谷歌表示,在Boardfly架构下,推理工作负载的数据传输延迟平均比3D环面拓扑低50%。

这意味着 Zebrafish TPU 8i 设备上的新型集体加速引擎 (CAE) 卸载芯片可以持续获得充足的计算资源。更强大的原始计算能力、更扁平的 Boardfly 互连结构以及 CAE 单元的协同作用,使得 GenAI 推理的吞吐量在 Ironwood 和 Zebrafish 之间提升了三倍甚至更多。

以下是 Boardfly 拓扑结构的其中一种渲染图:

打开网易新闻 查看精彩图片

这里还有另一个例子:

打开网易新闻 查看精彩图片

在 Boardfly 系统中,Zebrafish 系统板上的八个 TPU 8i 芯片通过 ICI 端口以全连接配置进行互连。每个设备上都预留了一些 ICI 端口,可用于将八个板连接成更高阶的全连接,从而使该机架级系统中的 32 个 TPU 8i 芯片中的任何一个都能通过一到两跳的链路访问其他任何 TPU,而且仅需使用成本低廉的铜缆。为了实现 1152 个 TPU 互连的全部 36 个 TPU 组,谷歌使用其“Apollo”光路交换机(Jupiter 数据中心网络的一部分)来提供 TPU 组之间的链路。

以下是 Boardfly ICI-Apollo OCS 网络组合的最坏情况下的跳数:

打开网易新闻 查看精彩图片

ICI-OCS组合能够降低跳数的原因很简单:OCS交换机拥有数量惊人的光端口,因此Zebrafish TPU 8i系统板可以容纳更多的光收发器,从而增加板载光导管的数量。(我们不知道具体增加了多少,但32路ICI集群之间的链路数量可能比使用3D环形阵列角落的光链路时增加了4到8倍。)

扩展人工智能训练

人工智能训练的需求不同,除非迫不得已,否则谷歌不想使用OCS设备。(它们比基于博通、思科或英伟达ASIC的以太网交换机贵得多,也稀少得多。)

谷歌对于即将与 TPU 8t 训练集群一同亮相的 Virgo 横向扩展网络的硬件的馈送和速度语焉不详,但它表示,谷歌并没有仅仅关注高端口速度,而是在带宽需求和拥有高基数设备(意味着拥有大量端口)的需求之间寻求平衡,以扁平化网络(意味着再次减少跳数),并降低成本。

打开网易新闻 查看精彩图片

我们知道,最终形成的 Virgo 网络提供了一种扁平化、无阻塞的双层拓扑结构,用于互连加速器机架,这些加速器可以是 GPU 或 TPU。Apollo OCS 交换机并非用于横向扩展 AI 集群,而是用于连接到 Google 数据中心内的其他计算和存储资源。

谷歌表示,Virgo 架构可互连多达 134,000 个 TPU 8t 芯片,并在单个架构中提供 47 Pb/s 的无阻塞双向带宽。该公司在一篇深度分析博客文章中指出,Virgo 网络在 Sunfish TPU 8t 加速器上每个加速器的带宽为 400 Gb/s,是 Ironwood v7e 加速器横向扩展端口提供的 100 Gb/s 带宽的四倍,并且延迟比之前用于 Ironwood 训练集群的横向扩展以太网的架构延迟降低了 40%。

以下是谷歌构建超大型 TPU 训练集群的方法。Sunfish TPU 8t 可以利用 3D 环面中的 ICI 扩展到 9,600 个计算引擎。借助 Virgo 数据中心网络(该网络具备各种 RDMA 增强功能,我们认为它借鉴了 Aquila 协议和 TiN 混合交换机-网卡架构的理念,并扩展了 JAX 和 Pathways AI 框架),谷歌可以在单个 Virgo 架构中扩展到 134,000 个芯片。此外,通过使用 OCS 交换机互连 Virgo 架构,谷歌可以在单个逻辑训练集群中将 TPU 数量扩展到超过 100 万个。

最后但同样重要的是,谷歌正在为 TPU 8t 和网络接口卡添加 RDMA 支持,以创建所谓的 TPUDirect RDMA 和 TPU Direct Storage,考虑到这些功能早已在英伟达 GPU 硬件和软件堆栈中启用,这些名称可能听起来很熟悉:

打开网易新闻 查看精彩图片

这两个新功能无疑会大幅提升人工智能训练速度,但谷歌并未透露具体提升幅度。该公司表示,在其托管的 Lustre 10T 存储服务中使用 TPUDirect Storage,相比未使用该功能在 Ironwood TPU 上,存储访问速度提升了 10 倍。令我惊讶的是,TPU 内存和存储访问竟然还没有 RDMA。

(来源:编译自nextplatform)

*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。

今天是《半导体行业观察》为您分享的第4391内容,欢迎关注。

加星标⭐️第一时间看推送

求推荐