读《High Performing Cache Hierarchies for Server Workloads》
May 1st, 2026
No comments
背景
在介绍这篇论文前,先抛出一个问题:Intel平台Haswell到Skylake-SP一个比较重要的变化就是将原来的Inclusive Cache改换为Exclusive Cache,这种调整是出于什么考虑?所以不禁让人想像由于什么原因需要使用Exclusive Cache?当然微架构中的很多问题都是权衡。这篇15年的论文中介绍的背景以及实验就可以理解该演变的其中原因之一。当然先阅读“伴读:Ring Bus VS Mesh”节开胃也未尝不可。
一段Inclusive Cache与Exclusive Cache描述:
- 包含式Cache(Inclusive Cache):拿L1 L2来举例说明,L1的数据一定在L2中,但L2中的数据不一定在L1中。优点是设计复杂度低,是一个天然的Snoop Filter,缺点是会造成空间浪费,需要保证L2/LLC比例;
- 独占式Cache(Exclusive Cache):L1和L2中的数据不重叠。设计复杂,同时需要单独设计一个模块充当Snoop Filter;
- 非包含非独占 NI/NE(Non-inclusive Non-exclusive):没有绝对的Exclusive Cache,表达成Non-inclusive Cache更准确些。
关于NI/NE较详细的说明,这里有一份资料可以参考:http://yuhaozhu.com/CacheMemory.pdf
论文摘要
...