Identifying and Exploiting Spatial Regularity in Data Memory References

  • Authors:
  • Tushar Mohan;Bronis R. de Supinski;Sally A. McKee;Frank Mueller;Andy Yoo;Martin Schulz

  • Affiliations:
  • Lawrence Berkeley National Laboratory, Berkeley, CA;Center for Applied Scientific Computing, Livermore, CA;Cornell University, Ithaca, NY;North Carolina State University, Raleigh, NC;Center for Applied Scientific Computing, Livermore, CA;Cornell University, Ithaca, NY

  • Venue:
  • Proceedings of the 2003 ACM/IEEE conference on Supercomputing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The growing processor/memory performance gap causes the performance of many codes to be limited by memory accesses. If known to exist in an application, strided memory accesses forming streams can be targeted by optimizations such as prefetching, relocation, remapping, and vector loads. Undetected, they can be a significant source of memory stalls in loops. Existing stream-detection mechanisms either require special hardware, which may not gather statistics for subsequent analysis, or are limited to compile-time detection of array accesses in loops. Formally, little treatment has been accorded to the subject; the concept of locality fails to capture the existence of streams in a program's memory accesses. The contributions of this paper are as follows. First, we define spatial regularity as a means to discuss the presence and effects of streams. Second, we develop measures to quantify spatial regularity, and we design and implement an on-line, parallel algorithm to detect streams - and hence regularity - in running applications. Third, we use examples from real codes and common benchmarks to illustrate how derived stream statistics can be used to guide the application of profile-driven optimizations. Overall, we demonstrate the benefits of our novel regularity metric as an instrument to detect potential for code optimizations affecting memory performance.