【24h】

Proactive instruction fetch

机译:主动获取指令

获取原文

摘要

Fast access requirements preclude building L1 instruction caches large enough to capture the working set of server workloads. Efforts exist to mitigate limited L1 instruction cache capacity by relying on the stability and repetitiveness of the instruction stream to predict and prefetch future instruction blocks prior to their use. However, dynamic variation in cache miss sequences prevents correct and timely prediction, leaving many instruction-fetch stalls exposed, resulting in a key performance bottleneck for servers. We observe that, while the vast majority of application instruction references are amenable to prediction, even minor control-flow variations are amplified by microarchitectural components, resulting in a major source of instability and randomness that significantly limit prefetcher utility. Control-flow variation disturbs the L1 instruction cache replacement order and branch predictor state, causing the L1 instruction cache to randomly filter the instruction stream while the branch predictor and spontaneous hardware interrupts inject the stream with unpredictable noise. Based on this observation, we show that an instruction prefetcher, previously plagued by microarchitectural instability, becomes nearly perfect when modified to operate on the correct-path, retire-order instruction stream. We propose Proactive Instruction Fetch, an instruction prefetch mechanism that achieves higher than 99.5% instruction-cache hit rate, improving server throughput by 27% and nearly matching the performance of a perfect L1 instruction cache that never misses.
机译:快速访问要求排除了构建足够大的L1指令高速缓存以捕获服务器工作负载的工作集的麻烦。存在通过依靠指令流的稳定性和重复性来在使用它们之前预测和预取将来的指令块来减轻有限的L1指令高速缓存容量的努力。但是,高速缓存未命中序列的动态变化会阻止正确和及时的预测,从而导致许多指令获取停顿被暴露出来,从而导致服务器的关键性能瓶颈。我们观察到,尽管绝大多数应用程序指令参考都可以进行预测,但微体系结构组件甚至会放大较小的控制流变化,从而导致不稳定和随机性的主要来源,从而极大地限制了预取器的实用性。控制流变化扰乱了L1指令高速缓存的替换顺序和分支预测器状态,导致L1指令高速缓存随机过滤指令流,而分支预测器和自发的硬件中断给流注入了不可预测的噪声。基于此观察结果,我们表明,以前受微体系结构不稳定性困扰的指令预取器在进行修改以对正确路径,退休指令流进行操作时变得近乎完美。我们建议采用主动式指令提取(Proactive Instruction Fetch),一种指令预取机制,该机制可实现高于99.5%的指令高速缓存命中率,将服务器吞吐量提高27%,并且几乎可以与完美的L1指令高速缓存相媲美。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号