Evaluating the Impact of Memory System Performance on Software Prefetching and Locality Optimizations
Files
Publication or External Link
Date
Citation
DRUM DOI
Abstract
Software prefetching and locality optimizations
are techniques for overcoming the gap between processor
and memory speeds. Using the SimpleScalar simulator, we
evaluate the impact of memory bandwidth and latency on the
effectiveness of software prefetching
and locality optimizations on three types of applications:
regular scientific codes, irregular scientific codes,
and pointer-based codes. We find software prefetching
hides memory costs but increases instruction count
and requires greater memory bandwidth.
Locality optimizations change the computation
order and data layout at compile or run time
to eliminate cache misses, reducing memory costs
without requiring more memory bandwidth.
Combining prefetching and locality optimizations
can improve performance, but interactions can also
nullify the benefits of prefetching.
We propose several algorithms to better integrate
software prefetching and locality optimizations.
(Also cross-referenced as UMIACS-TR-2000-57)