Lookahead Prefetching with Signature Path

Existing data prefetchers speculate on spatial and temporal locality by tracking past memory accesses. Relying on the past memory accesses restricts the scope of prefetching and potentially further performance improvement. In this paper, we propose a lookahead prefetching algorithm called Signature Path Prefetching (SPP) that accurately predicts the next memory access pattern and exploits this future access to initiate lookahead prefetching. Unlike prior lookahead algorithms, SPP is purely based on the memory access stream and does not require additional support from branch history, PC, or metadata to lookahead future memory access. Within a 32KB storage limit, we evaluate SPP under different memory constrained scenarios and find SPP outperforms the previous competition winner AMPM prefetcher by 4% performance improvement.

[1]  Samira Manabi Khan,et al.  Sampling Dead Block Prediction for Last-Level Caches , 2010, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture.

[2]  Mayank Agarwal,et al.  PaCo: Probability-based path confidence prediction , 2008, 2008 IEEE 14th International Symposium on High Performance Computer Architecture.

[3]  S. Stall,et al.  Improving Cache Performance by Exploiting Read-Write Disparity , 2014 .

[4]  Onur Mutlu,et al.  Runahead execution: an alternative to very large instruction windows for out-of-order processors , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[5]  Kei Hiraki,et al.  Access Map Pattern Matching for High Performance Data Cache Prefetch , 2011, J. Instr. Level Parallelism.

[6]  Shlomit S. Pinter,et al.  Tango: a hardware-based data prefetching technique for superscalar processors , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[7]  Reena Panda,et al.  B-Fetch: Branch Prediction Directed Prefetching for Chip-Multiprocessors , 2014, 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture.