I-SPY: Context-Driven Conditional Instruction Prefetching with Coalescing
1. 摘要:
- 背景:数据中心的应用程序的执行的指令范围(footprints)迅速的扩大,导致了频繁的指令缓存失效,增加了成本,降低了性能和能效
- 现有技术的问题:
- 需要重大的硬件修改
- 需要不切实际的片上存储
- 基于不准确的程序失效行为进行指令预取
- 论文工作:分析指令预取的挑战,提出了一种基于剖视驱动的预取技术,I-SPY
- I-SPY使用了动态的失效剖视分析来驱动对指令缓存失效行为的离线分析,并用于指令预取的决策
- I-SPY提出了条件预取,即仅在程序的上下文会导致缓存失效时才进行预取
- I-SPY提出了预取合并技术,能够将多个不连续的缓存行的多个预取指令合并为一条预取指令,以减少代码膨胀
- I-SPY能够平均提高15.5%的性能,减少95.9%的指令缓存失效