网络层 开放阅读

Shared Buffer

Shared Buffer

概念 ID
shared-buffer
更新时间
2026-05-29
来源数量
待补

Shared Buffer

⚠️ 数据可信度声明:本次联网检索全部失败(HTTP 403),以下内容基于公开技术文献、学术论文及行业共识整理。涉及具体数字时已标注来源口径,无据则采用定性描述或标注[估算]。如需机构级决策,请交叉验证供应链数据。

3 秒看懂

Shared Buffer(共享缓冲区) = 多个端口/计算单元共用一个大的缓冲池,而非各自独立缓冲。

类比:独立缓冲像每户有独立水箱,共享缓冲像小区共用蓄水池——动态调配、利用率高、抗突发能力强。

为什么AI从业者要关注:AI集群网络交换芯片的核心架构选型 + GPU片上协作计算的基石 + 大模型推理KV Cache的工程优化方向,三重场景都绕不开。

3 分钟产业解释

核心问题:缓冲区为什么要”共享”?

在AI训练集群中,数千张GPU通过高速网络互联。交换机的缓冲区架构直接决定了:

  • 突发流量能否被吸收(AllReduce梯度同步的incast场景)
  • 公平性(避免单个流占满缓冲区导致其他流饿死)
  • 时延抖动(影响训练迭代时间的稳定性)

三类主流缓冲区架构

架构类型全称核心特征典型应用
OQOutput Queued每个输出端口独立队列早期低速交换机
IQInput Queued每个输入端口独立队列廉价交换方案
Shared Buffer共享缓冲区所有端口共享一个大缓冲池高端交换芯片、GPU共享内存

产业价值:Shared Buffer架构能在相同硅面积下提供更高的有效带宽利用率,这是AI集群网络追求高吞吐、低丢包的关键技术选择。

三个关键应用场景

┌─────────────────────────────────────────────────────────┐
│                    Shared Buffer                         │
├─────────────────┬─────────────────┬─────────────────────┤
│  网络交换芯片    │   GPU/加速器     │    推理服务系统      │
│                 │                 │                     │
│  交换机共享      │   SM内Shared    │   KV Cache          │
│  缓冲区架构      │   Memory        │   共享池/Paged       │
│                 │                 │   Attention          │
│  场景:AI集群    │   场景:算子内   │   场景:LLM服务     │
│  AllReduce      │   线程协作      │   多请求并发         │
└─────────────────┴─────────────────┴─────────────────────┘

15 分钟专家深入

场景一:网络交换芯片的Shared Buffer

这是AI集群网络基础设施的核心技术选型。

为什么incast场景是噩梦?

大模型训练中的AllReduce、All-to-All通信模式,会导致多对一的流量汇聚(incast):

     GPU 0 ──┐
     GPU 1 ──┼──→ 交换机 ──→ GPU 7  (N:1 流量汇聚)
     GPU 2 ──┘

如果缓冲区容量不足或分配不公,高带宽链路瞬间拥塞,导致:

  • 丢包 → 重传 → 延迟激增
  • 训练吞吐下降

Shared Buffer的核心机制

┌──────────────────────────────────────────────┐
│              Shared Buffer Pool               │
│  ┌───┬───┬───┬───┬───┬───┬───┬───┐           │
│  │ P0│ P1│ P2│ P3│ P4│ P5│ P6│ P7│ ...       │
│  └───┴───┴───┴───┴───┴───┴───┴───┘           │
│     ↑     ↑         ↑                         │
│     │     │         │                         │
│  Port 0  Port 1   Port N                      │
│  (动态分配/抢占/预留)                           │
└──────────────────────────────────────────────┘
  • 动态分配:空闲端口的缓冲区配额可被拥塞端口临时借用
  • 公平性保障:通过加权公平队列(WFQ)或类似机制,防止单流霸占
  • 流量吸收:在微突发(microburst)期间暂时存储,避免直接丢包

关键参数(无精确数据,定性描述)

参数Shared Buffer 优势说明
有效容量利用率高(各端口动态共享)vs. 独立缓冲的利用率通常<50%[估算]
突发吸收能力瞬时带宽可借调其他端口配额
实现复杂度需要高带宽存储介质 + 复杂调度逻辑
硅面积成本通常需要片上大容量SRAM

硬件实现挑战

共享缓冲区需要同时服务所有端口的读写,对存储介质带宽要求极高。由于交换芯片缓冲区要求纳秒级低延迟随机访问,HBM延迟远高于SRAM,无法满足线速交换需求,实际从未用于交换芯片共享缓冲区,仅可使用片上SRAM。片上SRAM速度快,但容量有限(通常MB级[估算]),硅面积成本高。

⚠️ 具体交换芯片的缓冲区容量、带宽规格等数据因厂商未充分公开披露,无法确认。博通、英伟达等厂商的交换芯片架构细节通常不在公开文档中。

场景二:GPU Shared Memory

这是GPU计算架构中最直接的”Shared Buffer”概念。

架构定位

┌─────────────────────────────────────────┐
│                 GPU SM                   │
│                                         │
│  ┌─────────────────────────────────┐    │
│  │     L1 Cache / Shared Memory    │    │
│  │     (可配置配比)                  │    │
│  └─────────────────────────────────┘    │
│         ↑       ↑       ↑               │
│     Warp 0  Warp 1  Warp N             │
│                                         │
│  ┌─────────────────────────────────┐    │
│  │        Register File            │    │
│  └─────────────────────────────────┘    │
└─────────────────────────────────────────┘
         ↕ 通过SM内互连
┌─────────────────────────────────────────┐
│           L2 Cache (跨SM共享)           │
└─────────────────────────────────────────┘
         ↕
┌─────────────────────────────────────────┐
│              HBM / 显存                  │
└─────────────────────────────────────────┘

核心机制

  • Block级共享:一个Thread Block内的所有线程可访问同一块Shared Memory
  • Bank冲突:Shared Memory被划分为多个bank(通常32个),同一bank的并发访问会串行化
  • 容量有限:每个SM的Shared Memory通常为几十KB到百KB量级(具体取决于架构世代和L1/Shared配置比)

为什么对AI重要?

  • 矩阵分块计算:GEMM等核心算子通过将大矩阵切分为小块加载到Shared Memory,实现数据复用,减少全局内存访问
  • Warp级协作:同一Warp的线程通过Shared Memory交换中间结果

⚠️ 各代GPU(A100/H100/B100)的Shared Memory具体容量、bank数等因厂商未充分公开完整技术规格,无法确认精确数值。

场景三:推理服务中的KV Cache管理

大模型推理中的KV Cache共享是近年来的重要工程优化方向。

问题背景

大模型自回归解码时,每个token的生成需要访问历史所有token的Key-Value状态。多请求并发时,KV Cache成为显存瓶颈。

共享缓冲区思路

技术核心思想来源
PagedAttention将KV Cache分页管理,类似操作系统虚拟内存vLLM项目[公开论文]
KV Cache共享prefix相同的请求复用同一份KV Cache多个推理框架实现[公开信息]
连续批处理动态调度不同进度的请求共享计算资源多篇公开论文

工程价值:在相同GPU数量下,提升推理服务的吞吐量(QPS)和降低单请求延迟。


技术原理

1. 网络交换芯片Shared Buffer架构

核心设计思想

在传统Output Queued(OQ)交换机中,每个输出端口有独立的缓冲区。问题在于:

  • 交换机内部需要以N倍线速向输出缓冲区写入(N=端口数),硬件难以实现
  • 各端口缓冲区相互隔离,利用率低

Shared Buffer架构的核心创新:

传统OQ:                          Shared Buffer:
┌────┐  ┌────┐  ┌────┐           ┌───────────────────┐
│Port│  │Port│  │Port│           │                   │
│ 0  │  │ 1  │  │ 2  │           │  Shared Buffer    │
│Buf │  │Buf │  │Buf │           │      Pool         │
└────┘  └────┘  └────┘           │                   │
  互不相通                         └───────────────────┘
                                    ↕ ↕ ↕
                                Port 0  1  2
                                (共享访问)

关键机制:动态配额分配

缓冲区分配策略示意(概念性):

总容量 = 100 units(假设值)

┌─────────────────────────────────────────┐
│  Reserved (每端口最低保障)               │
│  Port0: 5  Port1: 5  ...  Port7: 5     │
│  = 40 units                             │
├─────────────────────────────────────────┤
│  Shared Pool (动态分配) = 60 units      │
│                                         │
│  分配逻辑:                             │
│  if (Port_i拥塞 && Port_j空闲):         │
│      Port_i可借用Port_j的配额            │
│                                         │
│  if (所有端口拥塞):                      │
│      按权重公平分配                       │
└─────────────────────────────────────────┘

调度算法要点

  1. 入队策略:新到达的数据包如何选择缓冲区位置
  2. 出队策略:多个端口竞争读取时的优先级
  3. 丢弃策略:缓冲区满时的Tail Drop/WRED等机制

2. GPU Shared Memory机制

内存层次中的位置

带宽 ↑
     │  ┌──────┐
     │  │Reg   │  ~TB/s级别(最快,最小)
     │  ├──────┤
     │  │SMEM  │  ~TB/s级别(片上,Block共享)
     │  ├──────┤
     │  │L2    │  数TB/s(跨SM共享)
     │  ├──────┤
     │  │HBM   │  数TB/s(全局,容量最大)
     │  └──────┘
     └──────────────────→ 容量

Bank冲突原理

Shared Memory = 32 个 Bank(典型值,未精确确认)

Bank布局(概念性):
Bank 0: [addr 0, 128, 256, ...]
Bank 1: [addr 4, 132, 260, ...]
Bank 2: [addr 8, 136, 264, ...]
...
Bank 31: [addr 124, 252, 380, ...]

无冲突:32个线程访问32个不同Bank → 1个周期完成
有冲突:多个线程访问同一Bank → 串行化,延迟增加

3. 推理KV Cache共享机制

PagedAttention核心思想

传统KV Cache:
┌─────────────────────────────────┐
│  Request A: [KV0|KV1|KV2|...|KVn]  → 连续内存分配,有内部碎片
│  Request B: [KV0|KV1|...|KVm]      → 长度不一,浪费严重
└─────────────────────────────────┘

PagedAttention:
┌──────────────────────────────────────────────┐
│  物理KV块池                                   │
│  ┌───┬───┬───┬───┬───┬───┬───┬───┬───┐      │
│  │ B0│ B1│ B2│ B3│ B4│ B5│ B6│ B7│...│      │
│  └───┴───┴───┴───┴───┴───┴───┴───┴───┘      │
│      ↑       ↑       ↑                       │
│  Page Table A: [B0, B2, B5]                   │
│  Page Table B: [B1, B4, B7]                   │
│  (可共享): 若A/B有相同prefix → 指向相同物理块  │
└──────────────────────────────────────────────┘

关键优势

  • 消除内部碎片
  • 支持Copy-on-Write式的prefix共享
  • 物理块可跨请求复用

技术演进史

网络交换缓冲区架构演进

年代阶段关键变化
1990sOQ为主每端口独立缓冲,低速场景可行
2000sIQ兴起降低成本,但HOL阻塞问题
2000s-2010sShared Buffer成熟片上SRAM容量增长,高端交换芯片标配
2020sAI集群驱动InfiniBand/RoCE高性能交换,Shared Buffer成为刚需

GPU Shared Memory演进

架构世代变化趋势说明
Kepler/Maxwell基础Shared Memory容量有限,独立于L1
Pascal/VoltaL1/SMEM可配灵活分配比例
Ampere容量增长更大SMEM支持更复杂算子
Hopper进一步增强支持更大Shared Memory配置(具体容量[未充分披露])

⚠️ 各世代具体容量数据因厂商规格书未完全公开,无法确认精确数值。

推理KV Cache优化演进

阶段技术解决问题
早期固定长度KV Cache分配简单但浪费严重
2023PagedAttention(vLLM)分页管理,消除碎片
2024+Prefix Caching / 多级缓存进一步复用,降低成本

技术路线对比

网络缓冲区架构对比

维度Output QueuedInput QueuedShared Buffer
有效带宽需N倍线速,硬件限制大存在HOL阻塞高,动态共享
突发吸收各端口独立,容量受限各端口独立,容量受限强,可借用
公平性隔离好但利用率低可能不公平需要调度算法保障
实现复杂度
成本高(需要大容量高速缓冲)
AI集群适用性

GPU片上存储对比

存储类型容量量级带宽量级共享范围典型用途
Register每SM数百KB最高单线程变量、临时计算
Shared Memory每SM几十~百KB级极高Block内线程数据复用、协作
L2 Cache数十MB级跨SM热数据缓存
HBM数十GB级数TB/s全局模型参数、数据

上下游

上游:存储介质与制造

环节关键要素代表玩家
SRAM IP高速片上存储设计Synopsys, Cadence
HBM高带宽存储芯片SK海力士, 三星, 美光
先进制程支持大容量片上SRAM台积电, 三星

中游:芯片设计与系统集成

环节关键要素代表玩家
交换芯片Shared Buffer架构设计博通, 英伟达(Mellanox), 思科
GPU/加速器Shared Memory设计英伟达, AMD
推理引擎KV Cache管理实现vLLM, TensorRT-LLM, SGLang

下游:AI基础设施

环节关键要素代表玩家
云厂商AI集群部署AWS, Azure, GCP, 各大模型公司
推理服务高效推理部署各AI服务提供商

关键指标

网络交换Shared Buffer

指标重要性说明
缓冲区总容量★★★★★决定突发吸收能力,单位通常为MB级(高端芯片)
每端口可用缓冲★★★★单端口可借用的最大容量
缓冲区带宽★★★★需要支撑所有端口的并发读写
调度算法效率★★★★影响公平性和延迟
丢包率★★★★★AI训练对丢包极其敏感

GPU Shared Memory

指标重要性说明
每SM容量★★★★★决定可加载的数据块大小
带宽★★★★★需要匹配计算吞吐
Bank数★★★★影响冲突概率
L1/SMEM配比★★★需要根据算子特性调整

推理KV Cache

指标重要性说明
KV Cache命中率★★★★★Prefix共享的复用效率
显存利用率★★★★★消除碎片后的实际可用容量
支持并发请求数★★★★★直接影响服务吞吐
Copy-on-Write开销★★★共享后修改时的额外成本

供需与市场数据

市场规模(估算/定性)

⚠️ 以下为定性判断,非精确数据。

细分市场规模趋势驱动因素
高端交换芯片快速增长AI集群组网需求激增
GPU/加速器快速增长大模型训练+推理需求
推理优化软件快速增长推理成本压力

供需格局

供给端

  • 高端交换芯片:博通占据主导地位,英伟达(Mellanox)在InfiniBand领域强势
  • GPU共享内存:英伟达引领,AMD紧追
  • 推理优化:开源社区活跃(vLLM, SGLang),商业公司跟进

需求端

  • 万卡级AI训练集群:对网络Shared Buffer性能要求极高
  • 大模型推理:对KV Cache管理效率要求持续提升

代表公司与资本映射

网络交换领域

公司角色Shared Buffer相关上市代码
博通 (Broadcom)交换芯片龙头Memory Switch架构AVGO (NASDAQ)
英伟达 (NVIDIA)AI全栈InfiniBand交换、Spectrum-XNVDA (NASDAQ)
思科 (Cisco)传统网络高端交换平台CSCO (NASDAQ)

GPU/加速器领域

公司角色Shared Memory相关上市代码
英伟达 (NVIDIA)GPU霸主CUDA Shared Memory生态NVDA (NASDAQ)
AMDGPU追赶者ROCm Shared MemoryAMD (NASDAQ)
寒武纪国产AI芯片片上缓存架构688256 (科创板)

推理优化领域

公司/项目角色技术贡献
vLLM (UC Berkeley)开源推理引擎PagedAttention首创者
SGLang推理框架RadixAttention等优化
各云厂商自研推理引擎定制化KV Cache管理

投资逻辑

核心驱动力

  1. AI集群规模扩张 → 网络交换芯片需求激增 → Shared Buffer架构成为高端芯片标配
  2. 大模型参数量增长 → 对GPU片上存储(Shared Memory)的容量和效率要求提升
  3. 推理成本压力 → KV Cache管理优化成为降本关键 → 相关技术和公司受关注

受益链条

AI算力需求增长
    │
    ├──→ 网络基础设施 ──→ 高端交换芯片(Shared Buffer架构)
    │         │
    │         └──→ 受益:博通、英伟达(网络业务)
    │
    ├──→ GPU/加速器 ──→ 片上Shared Memory优化
    │         │
    │         └──→ 受益:英伟达、AMD、国产AI芯片
    │
    └──→ 推理服务 ──→ KV Cache管理优化
              │
              └──→ 受益:推理引擎公司、云厂商

风险点

  • 技术迭代风险:新的架构可能替代现有方案
  • 竞争格局变化:开源方案可能削弱商业公司护城河
  • 宏观需求波动:AI投资周期性

常见误读纠偏

误读1:Shared Buffer = 简单的内存共享

纠偏:Shared Buffer在不同场景下有完全不同的技术含义:

  • 网络交换:指交换芯片的缓冲区架构设计,核心是多端口动态共享一个物理缓冲池,涉及复杂的调度和公平性算法
  • GPU:指SM内可供Block内线程协作访问的片上SRAM,有bank冲突等特定约束
  • 推理:指KV Cache等状态的逻辑共享,涉及分页、Copy-on-Write等机制

关键:不能将一个领域的理解直接套用到另一个领域。

误读2:Shared Buffer容量越大越好

纠偏:容量只是参数之一,还需要考虑:

  • 带宽:Shared Buffer需要同时服务多个端口/线程,带宽不足会成为瓶颈
  • 访问延迟:容量增大往往意味着延迟增加
  • 成本/面积:片上SRAM的硅面积成本极高
  • 调度算法:容量再大,调度不当也会导致不公平或低利用率

关键:需要根据应用场景做容量/带宽/延迟/成本的综合权衡。

误读3:PagedAttention解决了所有KV Cache问题

纠偏:PagedAttention是重要创新,但仍有局限:

  • 分页开销:Page Table查找增加了延迟
  • 碎片化管理:分页本身引入了页面管理的复杂性
  • 不适合所有场景:短序列、低并发场景可能不需要
  • Copy-on-Write成本:共享后修改时需要额外拷贝

关键:需要根据具体工作负载特征选择合适的优化策略。


学习路径

入门级(建立概念)

  1. 了解缓冲区基础:操作系统中的缓冲区概念(生产者-消费者、环形缓冲区)
  2. GPU编程基础:学习CUDA Shared Memory的基本用法(NVIDIA官方教程)
  3. 交换机基础:了解以太网交换机的基本工作原理

进阶级(理解机制)

  1. 交换架构论文:阅读Shared Buffer交换机的经典论文(搜索”shared buffer switch architecture”)
  2. CUDA优化:学习Shared Memory的bank冲突、分块矩阵乘法等优化技巧
  3. vLLM论文:阅读PagedAttention原始论文(“Efficient Memory Management for Large Language Model Serving with PagedAttention”)

专家级(深入设计)

  1. 交换芯片架构:研究高端交换芯片的缓冲区设计权衡
  2. GPU微架构:深入理解不同代GPU的Shared Memory特性
  3. 推理系统优化:跟踪KV Cache管理的最新研究进展

推荐资源

资源类型适用阶段
NVIDIA CUDA Programming Guide官方文档入门+进阶
vLLM: Efficient Memory Management…论文进阶
High Performance Switches and Routers (书籍)学术书籍进阶+专家
Hot Chips / ISSCC 会议论文学术会议专家

一句话总结

Shared Buffer的核心价值是”动态共享、按需分配”——在网络交换、GPU计算、推理服务三个AI关键场景中,通过消除资源隔离带来的浪费,显著提升系统效率和吞吐能力。


延伸阅读与来源

技术文献

  1. PagedAttention原始论文:Kwon et al., “Efficient Memory Management for Large Language Model Serving with PagedAttention”, SOSP 2023
  2. Shared Buffer交换机经典研究:搜索关键词 “shared buffer switch architecture”, “memory bandwidth efficient switch”
  3. NVIDIA CUDA文档:https://docs.nvidia.com/cuda/

行业资源

  1. Hot Chips 会议:高端芯片架构的年度盛会
  2. OCP (Open Compute Project):数据中心硬件开源设计
  3. 各交换芯片厂商技术白皮书

数据来源说明

  • 本文中所有精确技术规格(制程、容量、带宽等)因联网检索失败,未引用厂商官方数据
  • 涉及具体数字的内容已标注[估算]或[未充分披露]
  • 投资相关信息不构成任何投资建议

本页最后更新:基于公开技术文献和行业共识整理,具体技术规格请以厂商官方发布为准。

source: 公开披露与公开资料整理 本页仅用于产业链学习、信息检索和研究辅助;不构成投资建议,不预测涨跌,不提供买卖、仓位或目标价建议。
完整概念页 复盘 13 节结构 公司投研页 沿产业链找到受益公司 投资课 把概念转成可跟踪模型