05. SG2262 C2C 拓扑与互联
互联架构分层
单层互联 vs 两层互联
[DOC] SG2262 C2C 互联分为两种架构模式:
| 架构 | 描述 | 适用规模 |
|---|---|---|
| 单层互联 | 所有芯片在同一网络层互联 | 最多 1024 芯片 (clos) 或 8 芯片 (cube) |
| 两层互联 (L1 + L2) | L1 形成 cluster,L2 连接 cluster | 总规模可达 1024 芯片 |
[DOC] 两层互联的分层定义:
- L1 (Layer 1):cluster 内互联。支持任意拓扑(all2all / torus / ring / mesh / cube / clos),单 cluster 最多 32 芯片
- L2 (Layer 2):cluster 间互联。仅支持交换机 (clos) 拓扑
[DOC] 路由原则:先做 L2 路由,再做 L1 路由。原因:L2 流量更加均匀,L1 交换机路由表更容易配置;对于低成本拓扑,设计更简单。
[PPT] CLE (Chip Address Lookup Engine) 状态机按以下顺序执行:
- 识别二层网络 chipid,判断目标是否在同一 cluster
- 若在同一 cluster -> 走 L1 路由(查找表或 itlv)
- 若不在同一 cluster -> 判断本芯片是否能做 L2 转发 -> 走 L2 路由(itlv)
系统模式
[DOC] SG2262 定义两种系统模式,均走同一套 spc.c2c 协议:
| 系统 | 描述 | 规模 |
|---|---|---|
| 系统一 | 通过交换机互联 | 最多 1024 芯片 |
| 系统二 | 通过 Ethernet 点对点互联 | 小规模直连 |
六种拓扑详解
拓扑总览
[DOC] SG2262 支持六种互联拓扑,按架构类型分为两大类:
单层互联拓扑:
| 拓扑 | 描述 | 最大规模 | 交换机需求 |
|---|---|---|---|
| clos | 所有芯片通过交换机互联,交换机可由多层 clos 组成 | 1024 芯片 | 需要交换机(可多层) |
| cube | 低成本服务器形态,芯片直连 | 8 芯片 | 无(芯片间直连) |
两层互联拓扑 (L1 + L2):
| 拓扑 | L1 (cluster 内) | L2 (cluster 间) | 特点 |
|---|---|---|---|
| all2all + clos | all2all / torus / ring / mesh | 交换机 | 标准两层互联 |
| clos + clos | 交换机 | 交换机 | 全交换机方案 |
| 低成本 all2all + clos | all2all / torus / ring / mesh | 单轨交换机 | L2 带宽受限,成本低 |
| 低成本 clos + clos | 交换机 | 单轨交换机 | 全交换机低成本方案 |
[推导] 关键架构选择:
- L1 cluster 内:支持任意点对点直连或交换机拓扑,最多 32 芯片
- L2 cluster 间:仅支持交换机 (clos) 拓扑,无直连选项
- 低成本变体通过限制 L2 为单轨交换机降低成本,代价是 L2 带宽受限
clos 拓扑
[DOC] clos 是最基础的单层互联拓扑。
网络结构:
- 每颗芯片的 8 组 x4 C2C Link 均连接到交换机
- 交换机负责基于 macid 做二层转发
- 路径唯一:同 src macid + 同 dst macid + 同 hash value 时,交换机路径固定且严格保序
- 交换机内部可由多层交换机组成 clos 网络(交换机内部拓扑不在 C2C 方案讨论范围)
规模与约束:
- 最大支持 1024 芯片
- macid 最长 10bit,分为三段:L2 高位 + L1 中位 + dieid 低位
- 同时支持 DMAP 和 CMAP
[DOC] CLE 路由配置:
- DMAP 场景:每个 die 出 c2c port 连接 switch,CLE 用 itlv 模式分配 portid
- CMAP 场景:chip 的所有 c2c port 连接 switch,CLE 用 itlv 模式分配 portid
cube 拓扑
[DOC] cube 是低成本服务器形态,芯片之间直连,无需交换机。
网络结构:
- 最多 8 颗芯片组成 3D cube(2x2x2)
- 每颗芯片 8 条 C2C Link,部分用于直连邻居芯片,部分用于跨维度通信
- 芯片本身可做转发(chip forwarding),数据可通过中间芯片中继
[PPT] EP8 场景需优先走红色链路(即优先维度的直连路径)。
规模与约束:
- 最大支持 8 芯片
- 仅支持 CMAP
- 仅支持单层互联
[DOC] CLE 路由配置:使用查找表模式(非 itlv),根据 chipid 直接索引到 portid,实现点对点路由。
all2all + clos 拓扑
[DOC] 标准两层互联拓扑。L1 cluster 内芯片通过直连互联,L2 cluster 间通过交换机连接。
网络结构:
- L1:cluster 内最多 32 芯片,采用 all2all(可换为 torus / ring / mesh)直连
- L2:cluster 间通过交换机互联
- 每颗芯片的 8 条 C2C Link 在两层之间分配:x 条用于 L1,(8-x) 条用于 L2
[PPT] L1 流量通过芯片直连传输;L2 流量需要先经过 cluster 内有 L2 Link 的芯片转发到交换机,或直接从本芯片的 L2 Link 发出。CLE 中的 L2_PORT_EXIST 寄存器标识本芯片是否有 L2 Link,L2_SW_CAP_PORT 指向本 cluster 中有 L2 Link 的芯片。
规模与约束:
- L1 cluster 内最多 32 芯片
- L2 支持多 cluster 互联,总规模可达 1024 芯片
- 仅支持 CMAP
- 路由表最多 32 表项,itlv 粒度支持:1, 2, 3, 4, 6, 8, 12, 16
clos + clos 拓扑
[DOC] 全交换机两层拓扑。L1 和 L2 均通过交换机互联。
网络结构:
- L1:cluster 内最多 32 芯片,通过 L1 交换机互联
- L2:cluster 间通过 L2 交换机互联
- 芯片的 8 条 C2C Link 分别连接 L1 交换机和 L2 交换机
规模与约束:
- 总规模可达 1024 芯片
- 仅支持 CMAP
- L1 和 L2 均使用 itlv 模式路由
低成本 all2all + clos 拓扑
[DOC] 与标准 all2all + clos 相同的架构,区别在于 L2 交换机为单轨,用于低成本互联场景。
网络结构:
- L1 与标准 all2all + clos 相同
- L2 交换机为单轨:每颗芯片只用少量 Link(甚至只有 1 条)连接 L2 交换机
- cluster 内部分芯片可能不具备 L2 Link,需依赖同 cluster 内有 L2 Link 的芯片做转发
[DOC] CLE 中 L2_PORT_EXIST 为 false 的芯片,其 L2 流量发给 L2_SW_CAP_PORT 指向的芯片中转。
规模与约束:
- L2 带宽受限于单轨交换机
- 仅支持 CMAP
- 适用于对 L2 带宽需求不高的场景
低成本 clos + clos 拓扑
[DOC] 全交换机方案的低成本变体。
网络结构:
- L1 通过交换机互联,与标准 clos + clos 相同
- L2 交换机为单轨
规模与约束:
- 与低成本 all2all + clos 类似,L2 带宽受限
- 仅支持 CMAP
拓扑建立过程
静态配置 vs 动态建立
[DOC] SG2262 支持两种拓扑建立方式:
| 方式 | 描述 | 适用场景 |
|---|---|---|
| 静态配置 | 预配置所有路由表和 MAC ID 映射 | 固定拓扑、部署确定性要求高 |
| 动态建立 | 通过广播发现芯片,自动建立路由 | 灵活部署、热插拔场景 |
动态建立注意事项
[DOC] 动态建立阶段的 MAC ID 广播需解决报文过滤问题:
- 广播阶段需过滤不属于本 chip / cluster 的报文
- 从交换机来的报文一定属于本 chip / cluster(交换机保证了 domain 隔离)
- 必须防止错误报文造成系统错误
链路聚合 (Link Aggregation)
基本概念
[PPT] Link Aggregation 是将多条物理 C2C Link 聚合为一个逻辑通道的机制。同一聚合组内的多条 Link 视为一个整体,共用一个 RN/SN。
设计规则
[PPT] 关键规则:
- 同一 aggregation 组共用 RN/SN:aggregation 组内的多条 Link 在 NoC 层面表现为单一节点
- 流量 interleave 分散:CDMA 发出的流量通过 CLE 的 itlv 机制,在 aggregation 组内的多条 Link 之间做 interleave,分散带宽负载
[DOC] itlv 支持的粒度:1, 2, 3, 4, 6, 8, 12, 16。每项查找表最多支持 4 个 port 做 itlv。
独立 Link vs Link Aggregation 对比
[推导]
| 特性 | 独立 Link | Link Aggregation |
|---|---|---|
| RN/SN | 每条 Link 独立 | 组内共用 |
| 流量分配 | CDMA 指定具体 Link | itlv 自动分散 |
| 带宽 | 单条 Link 带宽 | 组内 Link 带宽之和 |
| 隔离性 | 完全隔离 | 组内共享,组间隔离 |
[PPT] 隔离设计原则:每个 CDMA 和每个 C2C 各自独立出 RN/SN,防止不同 layer 间的反压和带宽不均衡互相影响;Link Aggregation 组内共用一个 RN/SN(组间仍隔离)。完整的 RN/SN 分离策略表见 02_cdma.md §2。
MAC ID 映射与拓扑兼容性
MAC ID 编址方案、DMAP/CMAP 行为与 VMACID 映射的完整描述见 01_mac-id-routing.md。本节仅汇总与拓扑选择直接相关的兼容性结论。
[DOC] 各拓扑对 DMAP 和 CMAP 的兼容性:
| 拓扑 | CMAP | DMAP |
|---|---|---|
| clos | Y | Y |
| cube | Y | N |
| all2all + clos | Y | N |
| clos + clos | Y | N |
| 低成本 all2all + clos | Y | N |
| 低成本 clos + clos | Y | N |
[DOC] CMAP 支持全部六种拓扑(通用方案);DMAP 仅在单层 clos 下有效,优势是可避免 D2D 冗余流量。兼容性差异的详细原因见 01_mac-id-routing.md §2-4。
C2C Link 物理层
物理链路配置
[DOC] 每颗 SG2262 芯片的物理链路配置:
- 8 组 x4 C2C Link(每组 4 lane,每 lane 支持 56G / 112G SerDes)
- 1 组 x16 PCIe Link
MAC + SerDes 延迟模型
[DOC] C2C Link 物理层由 MAC 和 SerDes 两级组成,关键参数:
| 参数 | 说明 |
|---|---|
| mac_latency_ns | MAC 封装/拆包延迟 |
| serdes_latency_ns | SerDes 编解码延迟 |
| mtu_bytes | 1536 (1.5 KB MTU) |
[推导] 数据传输过程:
- 报文拆分:大于 MTU 的数据拆分为 ceil(data_bytes / mtu_bytes) 个 MAC 帧
- per-frame 延迟:每帧经历 MAC 延迟 + SerDes 延迟 + 线上传输时间
- 多帧流水传输:多个 MAC 帧以流水方式发送,不需等前一帧到达再发下一帧
- 8 link 均匀分配:通过 itlv 机制将帧均匀分散到 8 条 C2C Link(均匀 interleave)
CLE 路由表与拓扑配置
CLE 路由引擎的完整规格(寄存器、查找表结构、状态机、interleave 粒度)见 01_mac-id-routing.md §5。本节仅列出不同拓扑下的 CLE 配置差异。
[DOC] 不同拓扑下的 CLE 配置差异:
| 拓扑 | L1 模式 | L2 模式 | 转发策略 |
|---|---|---|---|
| clos (DMAP) | itlv | - | 无转发 |
| clos (CMAP) | itlv | - | 无转发 |
| cube | 查找表 | - | 芯片转发 |
| all2all + clos | 查找表 (L1) + itlv (L2) | itlv | 优先转发 L2 |
| clos + clos | itlv (L1) + itlv (L2) | itlv | 优先转发 L2 |
| 低成本 all2all + clos | 查找表 (L1) + itlv (L2) | itlv | 优先转发 L2,无 L2 Link 的芯片走 L2_SW_CAP_PORT |
| 低成本 clos + clos | itlv (L1) + itlv (L2) | itlv | 优先转发 L2,无 L2 Link 的芯片走 L2_SW_CAP_PORT |
[PPT] CLE 核心决策已确认:优先转发 L2。即当一笔请求需要跨 cluster 时,CLE 优先做 L2 路由选择,再做 L1 路由。方案二(优先转发 L1)因 L1 匹配的节点未必有 L2 port,状态机更复杂,被排除。