Title :
Tuning memory performance of sequential and parallel programs
Author :
Martonosi, Margaret ; Gupta, Anoop ; Anderson, Thomas E.
Author_Institution :
Princeton Univ., NJ, USA
fDate :
4/1/1995 12:00:00 AM
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
Keywords :
cache storage; data structures; parallel programming; software performance evaluation; software tools; statistics; storage management; system monitoring; MemSpy performance-monitoring tool; cache-miss causes; cache-miss frequency; code segment interactions; code structures; data structure; data-reference patterns; memory bottlenecks; memory hierarchy; memory-referencing behavior; parallel programs; program memory performance tuning; program transformations; sequential programs; static analysis; statistics; Computer bugs; Data structures; Delay; Frequency; Information analysis; Interference; Performance analysis; Programming profession; Statistics;