Search papers, labs, and topics across Lattice.
This study systematically evaluates the interactions of multiple microarchitectural policies, specifically focusing on L1D and L1I prefetchers and L2 replacement policies across 490 phases from SPEC CPU2006 and SPEC CPU 2017 traces. The authors identify the best global static policy (BGSP), which achieves a 33.47% win rate but still falls short of the phase oracle by 1.33% on average, highlighting significant opportunities for improvement. By framing selector design as an information problem, they demonstrate that executed-performance feedback and passive demand monitoring can recover up to 73.4% of the performance gap without the need for inactive policy execution.
A dynamic selection approach among microarchitectural policies can recover over 70% of performance potential without executing inactive policies.
Modern processors gain performance from interacting policies: prefetchers, predictors, replacement rules, and schedulers. These policies are often evaluated one at a time, yet a policy that wins in one stack may lose in another. To study these effects, we present the first systematic composition study of two L1D prefetchers, two L1I prefetchers, and two L2 replacement policies across 490 phases from 49 SPEC CPU2006 and SPEC CPU 2017 traces. We define the best global static policy (BGSP) by phase-level oracle-win frequency. Gaze/Entangling/Mockingjay is the BGSP, winning 33.47% of phases, yet it remains 1.33% below the phase oracle on average, with 52 phases across eight benchmarks losing more than 2.5%. The opportunity is highly compressible: a Berti/Gaze pair that changes only the L1D prefetcher comes within 0.039% aggregate IPC of the eight-configuration oracle, reducing runtime control to one bit per 200K-instruction window. Given that one-bit interface, we frame selector design as an information problem: what can hardware know before choosing? We evaluate selectors that use only chosen-policy IPC, selectors that passively monitor the demand stream before either prefetcher changes cache state, and an ideal counterfactual observer that exposes the inactive-policy winner signal. The main practical result is that both executed-performance feedback and passive demand monitoring techniques capture much of the two-policy opportunity, recovering 62.4% to 73.4% of the pairwise oracle gap without executing or emulating the inactive prefetcher. The counterfactual study shows that inactive-policy observation must be nearly exact and available within one window to improve on executed-performance or passive demand monitoring. These results suggest a general method for adapting among microarchitectural policies as an additional pathway for processor improvement, distinct from structural resizing.