TY - GEN
T1 - Translation-triggered prefetching
AU - Bhattacharjee, Abhishek
N1 - Publisher Copyright:
© 2017 ACM.
PY - 2017/4/4
Y1 - 2017/4/4
N2 - We propose translation-enabled memory prefetching optimizations or TEMPO, a low-overhead hardwaremechanism to boost memory performance by exploiting the operating system's (OS') virtual memory subsystem. We are the first to make the following observations: (1) a substantial fraction (20-40%) of DRAM references in modern bigdata workloads are devoted to accessing page tables; and (2) when memory references require page table lookups in DRAM, the vast majority of them (98%+) also look up DRAM for the subsequent data access. TEMPO exploits these observations to enable DRAM row-buffer and onchip cache prefetching of the data that page tables point to. TEMPO requires trivial changes to the memory controller (under 3% additional area), no OS or application changes, and improves performance by 10-30%and energy by 1-14%.
AB - We propose translation-enabled memory prefetching optimizations or TEMPO, a low-overhead hardwaremechanism to boost memory performance by exploiting the operating system's (OS') virtual memory subsystem. We are the first to make the following observations: (1) a substantial fraction (20-40%) of DRAM references in modern bigdata workloads are devoted to accessing page tables; and (2) when memory references require page table lookups in DRAM, the vast majority of them (98%+) also look up DRAM for the subsequent data access. TEMPO exploits these observations to enable DRAM row-buffer and onchip cache prefetching of the data that page tables point to. TEMPO requires trivial changes to the memory controller (under 3% additional area), no OS or application changes, and improves performance by 10-30%and energy by 1-14%.
KW - Cache prefetching
KW - DRAM
KW - Virtual memory
UR - https://www.scopus.com/pages/publications/85022055662
UR - https://www.scopus.com/pages/publications/85022055662#tab=citedBy
U2 - 10.1145/3037697.3037705
DO - 10.1145/3037697.3037705
M3 - Conference contribution
AN - SCOPUS:85022055662
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 63
EP - 76
BT - ASPLOS 2017 - 22nd International Conference on Architectural Support for Programming Languages and Operating Systems
PB - Association for Computing Machinery
T2 - 22nd International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2017
Y2 - 8 April 2017 through 12 April 2017
ER -