For over a decade, processor design has focused on implementing sophisticated policies for various components of the out-of-order pipeline, including cache replacement and prefetching. The prevailing design philosophy has been to build processors with a single, static selection of policies across these different mechanisms. This paper investigates a fundamental question: do different workloads, or even different execution phases within the same workload, benefit from different policy combinations? We present a comprehensive analysis exploring whether a hypothetical processor capable of dynamically selecting from multiple policies could significantly outperform traditional static-policy processors. Using ChampSim-based simulation across 49 benchmarks segmented into 490 execution phases of 20M instructions each, we evaluate performance across multiple policy combinations for cache replacement and prefetching. Our findings reveal that significant performance headroom exists: the best static policy achieves optimal performance for only 19.18\% of execution phases and incurs a mean IPC loss of 1.54\% compared to an oracle. Moreover, 85 phases (17.35\%), spanning 14 of the 49 applications, exhibit more than 2.5\% IPC loss relative to the oracle. Furthermore, we demonstrate that a processor capable of dynamically switching between two carefully chosen policies can achieve a 13.6$\times$ reduction in mean IPC loss (from 1.54\% to 0.11\%) and match oracle performance 52.65\% of the time. These results suggest that dynamic policy selection represents a promising avenue for unlocking single-thread performance improvements that have become increasingly difficult to achieve.
翻译:过去十余年间,处理器设计专注于为乱序流水线的各个组件(包括缓存替换与预取)实现复杂的策略。主流设计理念始终是采用单一静态策略组合构建处理器。本文探讨一个根本性问题:不同工作负载,甚至同一工作负载的不同执行阶段,是否能从不同的策略组合中获益?我们通过全面分析,探究一种能够从多种策略中动态选择的假想处理器,是否能够显著超越传统静态策略处理器。基于ChampSim模拟器,我们对49个基准测试程序(每程序分割为490个20M指令的执行阶段)在多种缓存替换与预取策略组合下的性能进行评估。研究发现存在显著的性能提升空间:最优静态策略仅在19.18%的执行阶段达到最优性能,且与最优参照(oracle)相比平均IPC损失达1.54%。此外,在49个应用程序中有14个的85个阶段(占17.35%)相对最优参照的IPC损失超过2.5%。进一步实验表明,能够动态切换两种精心选择策略的处理器,可将平均IPC损失降低13.6倍(从1.54%降至0.11%),并在52.65%的情况下达到最优参照性能。这些结果表明,动态策略选择为突破日益难以实现的单线程性能提升提供了富有前景的研究方向。