SAC - ISCA 23
2025/3/27大约 5 分钟
1. Abstract
todo
2. Memory-Side versus SM-Side LLC
下图是一个 mutli-chip GPU, 由四个 GPU 芯片组成。每个芯片包含 64 个流多处理器( SM),每个 SM 配有 128KB 的私有一级缓存( L1 缓存),具有 4MB 的末级缓存( LLC)容量,以及 8 个内存控制器(图中每个 chip 画出了一个)。
The Network-on-Chip (NoC) connects 32 SM clusters (two SMs share one network port) to 16 LLC slices with a total bisection bandwidth of 4 TB/s.
2.1. NOC 是什么?
片上网络(NoC) 主要用于实现多芯片 GPU 系统内各组件之间的高效通信,对系统性能、数据传输和缓存管理有着关键作用。
- 连接组件:片上网络( NoC)连接 32 个 SM 集群和 16 个 LLC 切片,让 SM 产生的请求能传至 LLC,确保数据在计算核心与缓存间流通,如 SM 的 L1 缓存未命中时,请求经 NoC 到 LLC 查找数据。连接芯片的内存控制器,使 LLC 与内存可交互, LLC 未命中时,能通过 NoC 从内存获取数据。连接不同芯片间的 NoC,借助类似 NVLink 的片间链路,实现跨芯片数据传输,支持多芯片协同工作。
- 保障带宽:拥有 4TB/s 的总二分带宽,为数据传输提供基础,让系统各部分数据交互有充足带宽资源。片间链路双向带宽达 64GB/s,在多芯片数据交互时,保证数据快速传输,降低延迟,提高系统整体效率。
- 支持缓存管理:为不同 LLC 组织方式提供数据传输支持,内存侧或 SM 侧 LLC 组织下, NoC 依据路由策略将请求准确路由,确保数据能被正确缓存和访问。配合 SAC 技术,根据工作负载和数据共享情况,调整路由策略,实现 LLC 动态配置,优化系统性能。
2.2. 三种 LLC 组织方式
下图展示了多芯片 GPU 中三种不同的末级缓存( LLC)组织方式,分别为内存侧 LLC 组织、 SM 侧 LLC 组织和共享感知缓存( SAC) LLC 组织,具体如下:
- 图(a)内存侧 LLC 组织: GPU 芯片包含多个 SM 及其私有 L1 缓存,通过片上网络( NoC)与 LLC 切片相连。 LLC 切片缓存来自本地内存模块的数据,为本地和远程的 SM 提供服务。 LLC 切片与内存控制器直接连接,数据可直接从内存读取或写入, NoC 负责 SM 与 LLC 切片间的数据传输,以及与其他芯片的连接。
- 图(b)SM 侧 LLC 组织:同样有多个 SM 和 L1 缓存通过 NoC 连接到 LLC 切片。但此方式下, LLC 切片缓存的是本地 SM 访问的数据,与内存控制器之间需经过另一个 NoC 进行连接通信。这种组织允许本地 SM 快速访问缓存数据,缺点是跨芯片数据访问可能更复杂。
- 图(c)SAC LLC 组织:相比前两者更为复杂,包含可配置的路由策略组件,由 SAC 控制器管理。缓存切片旁有选择逻辑和旁路路径,通过多路复用器( MUX)控制数据流向。这种设计可根据工作负载和数据共享情况,动态切换类似内存侧或 SM 侧的 LLC 组织方式,灵活优化系统性能。

2.3. LLC 和 SM 的关系
在 GPU 中,流处理器(SM)与末级缓存(LLC)存在紧密的协作关系,主要体现在以下方面:
数据供给关系:
- 缓存支持计算: SM 负责执行计算任务(如浮点运算、逻辑操作),需频繁读取数据。 LLC 作为共享缓存,存储从显存中提取的高频访问数据。当 SM 的私有 L1 缓存未命中时,会通过片上网络(NoC)向 LLC 请求数据。例如,在图形渲染或深度学习计算中, LLC 为 SM 快速提供纹理数据、模型参数等,减少 SM 对高延迟显存的直接访问,提升计算效率。
- 数据回写: SM 处理后的数据也可能先写回 LLC,再由 LLC 同步至显存。这一过程依赖 LLC 的缓存机制,优化数据读写的整体性能。
架构协作关系:
- 物理连接: SM 与 LLC 通过片上网络(NoC)连接。例如,在内存侧 LLC 组织中, SM 通过 NoC 直接访问本地 LLC 切片;在 SM 侧 LLC 组织中, LLC 切片位于 SM 与 NoC 之间,需额外 NoC 连接显存控制器。这种架构设计确保 SM 能高效获取 LLC 中的数据。
- 共享与调度: LLC 为多个 SM 共享,需协调不同 SM 的访问请求。例如,当多个 SM 同时请求同一缓存行时, LLC 通过缓存一致性机制(如硬件目录协议)确保数据一致性,保障 SM 计算的正确性。
性能优化关系:
- 提升数据局部性: LLC 通过缓存 SM 频繁访问的数据,增强数据局部性。例如,当 SM 处理连续内存区域的数据时, LLC 缓存相应数据块,使后续访问直接命中 LLC,减少延迟。
- 适配不同工作负载:针对 SM 的计算特性, LLC 的组织方式(如内存侧、 SM 侧)动态调整。例如,在 SM 侧 LLC 组织中, LLC 专门缓存本地 SM 访问的数据,减少片内通信竞争,优化 SM 密集型任务(如并行计算)的性能。