针对传统LRU替换策略无法感知包含式缓存时间局部性的问题,提出一种适用于包含式缓存的共享末级缓存(SLLC)管理策略. 通过提前将无用数据存储于一个开销较小的旁路缓存,可以避免其与复用频率较高数据对SLLC的资源竞争,同时维护了包含属性. 为进一步寻找复用性最低的数据作为替换对象,构建一种局部性检测电路,有助于将此类数据尽早驱逐出SLLC,文中提出一种统一的管理算法,受益于两种预测器的相互校准,从而达到无用块旁路和低重用块替换的目的. 实验结果表明,所提策略将SLLC缺失率平均降低21.67%,预测精度提升至72%,而硬件开销不到SLLC的1%.
For the problem that the traditional LRU replacement is unaware of the temporal locality in inclusive cache, a shared last-level cache (SLLC) management policy was presented for inclusive cache. With a cost-less bypass buffer stored the useless data beforehand, the policy could avoid the resource competition in SLLC between these data and highly reused data, while it still maintains the inclusion property. To further find out the least reused blocks to replace, a temporal locality detector applied was helpful to evict these blocks from SLLC as early as possible. Finally, benefited from adjustment mutually between two predictors, a unified management algorithm was proposed to bypass the useless blocks and replace the less reused blocks. Test results show that the approach reduces miss rate by 21.67% on average and improves the prediction accuracy up to 72%, while requiring less than 1% overhead of SLLC.