Tuning Memory Performance of Sequential and Parallel Programs

  • Authors:
  • Margaret Martonosi;Anoop Gupta;Thomas E. Anderson

  • Affiliations:
  • -;-;-

  • Venue:
  • Computer
  • Year:
  • 1995

Quantified Score

Hi-index 4.10

Visualization

Abstract

To improve program memory performance, programmers and compiler writers can transform the application so that its memory-referencing behavior better exploits the memory hierarchy. The challenge in achieving these program transformations is overcoming the difficulty of statically analyzing or reasoning about an application's referencing behavior and interactions. In addition, many performance-monitoring tools collect high-level information that is inadequately detailed to analyze specific memory performance bugs. We describe MemSpy, a performance-monitoring tool we designed to help programmers discern where and why memory bottlenecks occur. MemSpy guides programmers toward program transformations that improve memory performance through detailed statistics on cache-miss causes and frequency. Because of the natural link between data-reference patterns and memory performance, MemSpy helps programmers comprehend data structure and code segment interactions by displaying statistics in terms of both the program's data and code structures, rather than for code structures alone