Trace-Based Optimization for Precomputation and Prefetching

Madhusudan Raman · TSpace (University of Toronto) · 2006

Memory latency is an important barrier to performance in computing applications. With the advent of Simultaneous Multithreading, it is now possible to use idle thread contexts to execute code that prefetches data, thereby reducing cache misses and improving performance. TOPP is a system that completely automates the process of detecting delinquent loads, generating prefetch slices and executing prefetch slices in a synchronized manner to achieve speedup by data prefetching. We present a detailed description of the components of TOPP and their interactions. We identify tradeoffs and significant overheads associated with TOPP and the process of prefetching. We evaluate TOPP on memory-intensive benchmarks and demonstrate drastic reductions in cache misses in all tested benchmarks, leading to significant speedups in some cases, and negligible benefits in others.

Read the paper · More papers on PaperTik