存储器山

概念

存储器山(Memory Mountain)是 CSAPP 中用来可视化存储器层次结构性能的二维图形。

两个维度

  • 空间局部性(x 轴:步长 stride) -小步长 良好的空间局部性 -大步长 差的空间局部性
  • 时间局部性(y 轴:工作集大小) -小工作集 良好的时间局部性(能放入缓存) -大工作集 差的时间局部性(超出缓存容量)

读带宽

读带宽 = f(时间局部性, 空间局部性)
  • 读带宽以 MB/s 度量
  • 作为三维图中的 z 轴(高度)

山的形状

  • 山峰:小步长 + 小工作集(L1 缓存命中)
  • 山脊:小步长 + 中等工作集(L2/L3 缓存命中)
  • 山谷:大步长 + 大工作集(主存访问 + 差局部性)
  • 从山顶到山谷的悬崖标志着不同缓存级别之间的过渡

实际应用

  • 通过存储器山可以直观了解:不同的缓存友好程度如何影响实际带宽
  • 为等算法优化提供理论依据

相关笔记:

链接到