ACM Home Page
Please provide us with feedback. Feedback
Exploiting hardware performance counters with flow and context sensitive profiling
Full text PdfPdf (1.67 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation table of contents
Las Vegas, Nevada, United States
Pages: 85 - 96  
Year of Publication: 1997
ISBN:0-89791-907-6
Also published in ...
Authors
Glenn Ammons  Dept. of Computer Sciences, University of Wisconsin-Madison
Thomas Ball  Bell Laboratories Lucent Technologies
James R. Larus  Dept. of Computer Sciences, University of Wisconsin-Madison
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 145,   Citation Count: 91
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/258915.258924
What is a DOI?

ABSTRACT

A program profile attributes run-time costs to portions of a program's execution. Most profiling systems suffer from two major deficiencies: first, they only apportion simple metrics, such as execution frequency or elapsed time to static, syntactic units, such as procedures or statements; second, they aggressively reduce the volume of information collected and reported, although aggregation can hide striking differences in program behavior.This paper addresses both concerns by exploiting the hardware counters available in most modern processors and by incorporating two concepts from data flow analysis--flow and context sensitivity--to report more context for measurements. This paper extends our previous work on efficient path profiling to flow sensitive profiling, which associates hardware performance metrics with a path through a procedure. In addition, it describes a data structure, the calling context tree, that efficiently captures calling contexts for procedure-level measurements.Our measurements show that the SPEC95 benchmarks execute a small number (3--28) of hot paths that account for 9--98% of their L1 data cache misses. Moreover, these hot paths are concentrated in a few routines, which have complex dynamic behavior.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

Bal94
 
Ben96
Jim Bennett (PureAtria, Inc.). Personal communication, November 1996.
BGS97
BL94
 
BL96
 
CMH91
 
GKM83
S.L. Graham, P. B. Kessler, and M. K. McKusick. An execution profiler for modular programs. Software-Practice and Experience, 13:671-685, 1983.
Hal92
 
HG93
R.J. Hall and A. J. Goldberg. Call path profiling of monotonic program resources in UNIX. In Proceedings of the USENIX Summer 1993 Technical Conference, pages 1- 14., Cincinnati, OH, 1993.
JSB97
 
Knu71
D.E. Knuth. An empirical study of FORTH, AN programs. Software-Practice and Experience, 1(2):I05-133, June 1971.
LS95
 
LW94
 
MR81
E. Morel and C. Renvoise. lnterprocedural elimination of partial redundancies. In S.S. Muchnick and N.D. Jones, editors, Program Flow Analysis: Theory and Applica. lions. Prentice-Hall, Englewood Cliffs, N J, 1981.
 
MRW92
MW95
 
PF88
 
RBDL97
T. Reps, T. Ball, M. Das, and J. R. Larus. The use of program profiling for software maintenance with applica~ tions to the year 2000 problem. In Technical Report 1335, Computer Sciences Department, University of Wiscon. sin, Madison, WI, January 1997.
 
Sof93
Pure Software. Quantify User's Guide. 1993.
 
SP81
Micha Sharir and Amir Pnueli. Two approaches to interprocedural data flow analysis. In Steven S. Muchnick and Nell D. Jones, editors, Program Flow Analysis: Theory and Applications, pages 189-233. Prentice-Hall, 198I.
 
Sun96
Sun Microelectronics. UltraSPARC User's Manual, 1996.
 
WHH80
M. R. Woodward, D. Hedley, and M. A. Hennell. Experience with path analysis and testing of programs. IEEE Transactions on Software Engineering, 6(3):278- 286, May 1980.

CITED BY  91

Collaborative Colleagues:
Glenn Ammons: colleagues
Thomas Ball: colleagues
James R. Larus: colleagues