为什么在“在组比较大的(CPU)缓存中,使用LRU替换并不实用”?

[图片] 为什么随机替换会是比较好的选择呢?
关注者
57
被浏览
7,734
登录后你可以
不限量看优质回答 私信答主深度交流 精彩内容一键收藏

谢邀。

书上写的有一些问题,一般不是用随机替换,是用pseudo-LRU,也就是伪LRU,也有缩写PLRU的。

LRU极少在cache里面被采用主要是因为实现开销太大,逻辑层数和per-way的访问历史存储要求都远高过其他替换策略,但是效果却没有好多少,我看到的实测数据是,从LRU到纯随机替换,miss rate只有百分之零点几到百分之一点几的区别,实在是没有必要为这个东西大动干戈的,所以一般都是P-LRU,P-LRU也有很多种,轮转啊,二叉树啊,都有人用。

//2016.11 update:

最近注意到一些效果超越LRU 10%~15%的先进替换算法,比如DRRIP(ISCA 2010),打算在我们自己的原型系统上试用一波