Evaluating the impact of memory system performance on software prefetching and locality optimizations

  • Authors:
  • Abdel-Hameed A. Badawy;Aneesh Aggarwal;Donald Yeung;Chau-Wen Tseng

  • Affiliations:
  • Electrical and Computer Engineering Dept., University of Maryland, College Park;Electrical and Computer Engineering Dept., University of Maryland, College Park;Electrical and Computer Engineering Dept., University of Maryland, College Park;Computer Science Dept., University of Maryland, College Park

  • Venue:
  • ICS '01 Proceedings of the 15th international conference on Supercomputing
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software prefetching and locality optimizations are techniques for overcoming the speed gap between processor and memory. In this paper, we evaluate the impact of memory trends on the effectiveness of software prefetching and locality optimizations for three types of applications: regular scientific codes, irregular scientific codes, and pointer-chasing codes. We find for many applications, software prefetching outperforms locality optimizations when there is sufficient memory bandwidth, but locality optimizations outperform software prefetching under bandwidth-limited conditions. The break-even point (for 1 Ghz processors) occurs at roughly 2.5 GBytes/sec on today's memory systems, and will increase on future memory systems. We also study the interactions between software prefetching and locality optimizations when applied in concert. Naively combining the techniques provides robustness to changes in memory bandwidth and latency, but does not yield additional performance gains. We propose and evaluate several algorithms to better integrate software prefetching and locality optimizations, including a modified tiling algorithm, padding for prefetching, and index prefetching.