← 返回

从 I/O 生命周期推导资源预算

问题

“达到 100 Gbps”不是一个足以指导实现的性能目标。它没有说明数据经过哪些阶段,也没有回答瓶颈会落在 DDR、SRAM、PCIe、网络还是计算流水线上。

当前结论

性能设计应从单个 I/O 的完整生命周期开始:

接收 → 解析 → 查表 → 排队 → 搬运 → 完成 → 回收

对每个阶段分别记录:

  • 每个 I/O 读写多少字节;
  • 占用多少片上状态;
  • 执行多少 Cycles;
  • 最多允许多少并发项;
  • 背压出现在哪里;
  • 失败后由谁释放资源。

一个粗略换算

100 Gbps 的线速约等于 12.5 GB/s。若数据在 DDR 中经历一次写入和一次读取,仅负载数据就需要约 25 GB/s 带宽,还未计入描述符、元数据、缓存行放大和协议开销。

因此,带宽预算至少应写成:

DDR 带宽 = 线速 × 搬运次数 × 放大系数 + 元数据流量

SRAM 预算则应从并发深度推导:

SRAM 占用 = 单 I/O 状态大小 × 最大在途 I/O 数

未决

  • 小包场景中,Cycles 预算是否比带宽预算更早成为瓶颈?
  • 跨 NUMA 访问和 PCIe Read Completion 应如何纳入统一模型?
  • 哪些指标可以在仿真环境与真实硬件上使用同一套采集方法?