MemSpy: Analyzing memory system bottlenecks in programs

Margaret Martonosi, Anoop Gupta, Thomas Anderson

Research output: Chapter in Book/Report/Conference proceedingConference contribution

89 Scopus citations

Abstract

To cope with the increasing difference between processor and main memory speeds, modem computer systems use deep memory hierarchies. In the presence of such hierarchies, the performance attained by an application is largely determined by its memory reference behavior- if most referemxx hit in the cache, the performance is significantly higher than if most references have to go to main memory. Frequently, it is possible for the programmer to restructure the data or code to achieve better memory reference behavior. Unfortunately, most existing perfommnce debugging tools do not assist the programmer in this component of the overall performance tuning task. This paper describes MemSpy, a prototype tool that helps programmed identify and fix memory bottlenecks in both sequential and parallel programs. A key aspect of MemSpy is that it introduces the notion of data oriented, in addition to code oriented, performance tuning. Thus, for both source level code objects and data objects, Mem- Spy provides information such as cache miss rates, causes of cache misses, and in multiprocessors, information on cache invalidations and local versus remote memory misses. MemSpy also introduces a concise matrix presentation to allow programmers to view both code and data oriented statistics at the same time. This paper presents design and implementation issues for MemSpy, and gives a detailed case study using MemSpy to tune a parallel sparse matrix application It shows how MemSpy helps pinpoint memory system bottlenecks, such as poor spatial locality and interference among data structures, and suggests paths for improvement.

Original languageEnglish (US)
Title of host publicationProceedings of the 1992 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS/PERFORMANCE 1992
EditorsBlaine D. Gaither
PublisherAssociation for Computing Machinery, Inc
Pages1-12
Number of pages12
ISBN (Electronic)0897915070, 9780897915076
DOIs
StatePublished - Jun 1 1992
Externally publishedYes
Event1992 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS/PERFORMANCE 1992 - Newport, United States
Duration: Jun 1 1992Jun 5 1992

Publication series

NameProceedings of the 1992 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS/PERFORMANCE 1992

Other

Other1992 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS/PERFORMANCE 1992
CountryUnited States
CityNewport
Period6/1/926/5/92

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Software

Fingerprint Dive into the research topics of 'MemSpy: Analyzing memory system bottlenecks in programs'. Together they form a unique fingerprint.

  • Cite this

    Martonosi, M., Gupta, A., & Anderson, T. (1992). MemSpy: Analyzing memory system bottlenecks in programs. In B. D. Gaither (Ed.), Proceedings of the 1992 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS/PERFORMANCE 1992 (pp. 1-12). (Proceedings of the 1992 ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems, SIGMETRICS/PERFORMANCE 1992). Association for Computing Machinery, Inc. https://doi.org/10.1145/133057.133079