跳到主要内容

Google TPU ICI(芯片间互联)

Google ICI(Inter-Chip Interconnect)是 TPU 专用的高速芯片间互联总线,直接在多个 TPU 芯片之间形成 2D 或 3D Torus 拓扑,无需外部交换机。与 NVLink 依赖 NVSwitch 实现全连接不同,ICI 采用直连近邻(direct-neighbor)方式,每个 TPU 只与空间上相邻的少数芯片建立物理链路,通过 Torus 环绕消除网络直径,以超低延迟和极高的带宽可预测性支撑超大规模 TPU Pod 的集合通信。

TPU 代际 ICI 规格

TPU 代际发布年每芯片 ICI 带宽(双向聚合)ICI 端口数/芯片支持拓扑Pod 规模
TPU v22017~500 Gbps42D Torus256 chips
TPU v32018~656 Gbps62D Torus1024 chips
TPU v42022~4.8 Tbps63D Torus + OCS4096 chips
TPU v5e2023~1.6 Tbps42D Torus256 chips(per slice)
TPU v5p2023~4.8 Tbps63D Torus8960 chips
Ironwood(TPU v7)2025~9.6 Tbps(1200 GB/s)4(物理 OSFP 端口;3D Torus 逻辑邻居为 6)3D Torus9216 chips

注:TPU v5e 面向推理场景,端口数少、成本低;TPU v5p 和 Ironwood 面向大规模训练。带宽数字为双向聚合,各代产品因物理链路数和编码效率不同,口径略有差异。

直连 Torus 拓扑设计

基本原理

ICI 不依赖交换芯片,每个 TPU 的 ICI 端口直接连接空间上相邻的 TPU。多个 TPU 在 X/Y/Z 三个维度上排列,首尾相连形成环(Torus):

2D Torus(TPU v3,4x4 示意):

[T00] - [T01] - [T02] - [T03]
| | | |
[T10] - [T11] - [T12] - [T13]
| | | |
[T20] - [T21] - [T22] - [T23]
| | | |
[T30] - [T31] - [T32] - [T33]

行、列首尾相连(T00-T03 连接,T00-T30 连接),构成环形
3D Torus(TPU v4):
X 维度:同行相邻 TPU 直连
Y 维度:同列相邻 TPU 直连
Z 维度:不同层相邻 TPU 直连
每个 TPU 有 6 个 ICI 端口(+X/-X/+Y/-Y/+Z/-Z 各一个)

无交换机的优势

  • 延迟极低:数据在相邻 TPU 间传输不经过交换芯片,单跳延迟在百 ns 量级(vs InfiniBand Switch 的 ~100-200 ns 端口延迟累积)
  • 带宽可预测:ICI 链路独占,无共享竞争,集合通信时间可精确建模
  • 线性扩展:Pod 规模扩大时,每个 TPU 的 ICI 端口数不变,仅增加芯片数量

直连的代价

  • 拓扑固定:物理连线决定通信路径,无法像 Fat-tree 那样任意重构
  • 非全连接:非相邻 TPU 通信需要多跳(最大跳数 = 维度大小的一半),远距离通信延迟较高
  • 布线复杂度:3D Torus 在机架布局中需要跨机架长距离线缆,这是引入 OCS 的动机

TPU v4 的 OCS 光交换创新

背景问题

3D Torus 的物理布线要求 Z 维度的相邻 TPU 必须在物理上"相邻",但机架的空间布局使得 Z 维度的连接往往需要穿越整个数据中心机房,普通铜缆无法支撑,光纤又固定了拓扑。

OCS 解决方案

OCS(Optical Circuit Switch,光回路交换机)在机架间引入可重配置的光交换层:

  • 每个机架的 TPU 通过光纤连接到 OCS 端口
  • OCS 按需在任意两个端口之间建立光路,等价于"这两个机架的 TPU 在 Torus 的 Z 维度上相邻"
  • 重配置时间:OCS 切换光路约需数十毫秒,适合按任务静态配置

对拓扑的实质影响

OCS 使 3D Torus 的 Z 维度连接关系变为可编程:

  • 不同训练任务可以配置不同的机架-机架映射,每次任务用最优的 3D Torus 形状
  • 等价于"可重构的 3D Torus",而非固定物理接线的 Torus
  • 机架间不再需要按照固定顺序物理相邻,数据中心机架排布自由度大幅提升

集合通信优化

在 OCS 重新配置下,AllReduce 可以选择最优的维度顺序:

  • 对于矩形 Pod(如 4x4x16),先在小维度(4x4)内 AllReduce,再沿大维度(16)AllReduce,总通信量与维度顺序无关但延迟可优化
  • OCS 在不同任务间切换映射,避免多任务共享时的拓扑争抢

集合通信在 ICI Torus 上的实现

DOR 路由(Dimension-Order Routing)

Torus 天然适合 DOR——数据包先沿 X 维度路由到目标 X 坐标,再沿 Y 维度路由到目标 Y 坐标,最后沿 Z 维度完成。DOR 保证无死锁,且路径长度确定(最大跳数 = 各维度半径之和)。

AllReduce 的维度分解

在 3D Torus 上,AllReduce 分解为三个维度的独立操作,每个维度执行 ReduceScatter + AllGather(等价于一次 Ring AllReduce):

AllReduce 分解(3D Torus,X×Y×Z 维度):
步骤 1: X 维度 Ring ReduceScatter -> 每个 Z×Y 面内的 X 环并行执行
步骤 2: Y 维度 Ring ReduceScatter -> 每个 Z×X 面内的 Y 环并行执行
步骤 3: Z 维度 Ring AllGather -> 每个 X×Y 面内的 Z 环并行执行
(实际实现中 ReduceScatter 和 AllGather 维度顺序有多种等效方案)

各维度上的 Ring 独立执行,维度间串行。总通信量与平坦 Ring AllReduce 相同,但 Torus 的并行度更高(多个环同时工作),整体延迟更低。

延迟模型

单次 AllReduce 时间(3D Torus,X×Y×Z,消息大小 M bytes):

T_allreduce ≈ 2 × (X-1)/X × M/BW_x
+ 2 × (Y-1)/Y × M/BW_y
+ 2 × (Z-1)/Z × M/BW_z
+ latency_overhead

其中 BW_x/y/z 为各维度 ICI 链路带宽,latency_overhead 为跳数相关的基础延迟。

与外部互联的分层

TPU 集群的互联分为两层:

层级 1: Pod 内(ICI 直连)
技术: ICI(2D/3D Torus 或 Mesh)
带宽: 每芯片 1.6-9.6 Tbps(取决于代际)
延迟: 百 ns 级
角色: TP/SP 的 AllReduce,大规模 DP 内部的 AllReduce

层级 2: Pod 间(数据中心以太网)
技术: 标准以太网(Ethernet)
带宽: 数十 GB/s 量级(与商用网卡相同)
延迟: us 级
角色: 跨 Pod 的 DP 梯度同步,模型检查点存储

分层 AllReduce:大规模训练中,先在 Pod 内通过 ICI 完成局部 AllReduce(延迟低,带宽高),再跨 Pod 通过以太网汇总(数据量因已局部聚合而大幅减小)。这与 NCCL 的 tree AllReduce 逻辑类似,但 Pod 内完全由 ICI 硬件完成。

与 NVLink/IB 的对比

指标Google ICI(TPU v4)Google ICI(Ironwood/TPU v7)NVIDIA NVLink 4.0(H100)InfiniBand NDR
每芯片带宽(双向)~4.8 Tbps~9.6 Tbps900 GB/s400 Gbps(~50 GB/s)
是否需要交换机否(直连,OCS 可选)否(直连)需要 NVSwitch需要 IB Switch
拓扑3D Torus(可重构)3D Torus全连接(NVL72)Fat-tree
单跳延迟百 ns 级(无交换延迟)百 ns 级~1-2 us~1-2 us(含 Switch)
最大规模(单 Pod/Domain)4096 chips9216 chips576 chips(NVL72 × 多机架)数万端口(Fat-tree)
集合通信实现XLA/JAX 内置,维度分解XLA 内置NCCLNCCL/MPI
异构互联支持否(TPU 专用)是(GPU + CPU,NVLink-C2C)是(通用 RDMA)

核心差异:ICI 以"无交换、超低延迟、超大规模直连"为核心设计目标,代价是拓扑固定、仅适用于 TPU 同构集群;NVLink 以"全连接、高带宽、生态兼容"为目标,借助 NVSwitch 提供全连接但引入交换延迟;InfiniBand 以"通用性和超大规模 Fat-tree"为目标,适合异构混合集群,但节点内带宽远低于 ICI 和 NVLink。