Exploiting hardware performance counters with flow and context sensitive profiling

被引:122
作者
Ammons, G
Ball, T
Larus, JR
机构
[1] Dept. of Computer Sciences, University of Wisconsin, Madison, WI
关键词
D O I
10.1145/258916.258924
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:85 / 96
页数:12
相关论文
共 22 条
[1]   Efficient path profiling [J].
Ball, T ;
Larus, JR .
PROCEEDINGS OF THE 29TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE - MICRO-29, 1996, :46-57
[2]   OPTIMALLY PROFILING AND TRACING PROGRAMS [J].
BALL, T ;
LARUS, JR .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (04) :1319-1360
[3]   EFFICIENTLY COUNTING PROGRAM EVENTS WITH SUPPORT FOR ONLINE QUERIES [J].
BALL, T .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (05) :1399-1410
[4]  
BENNETT J, 1996, COMMUNICATION NOV
[5]  
BODIK R, 1997, P SIGPLAN 97 C PROGR
[6]   USING PROFILE INFORMATION TO ASSIST CLASSIC CODE OPTIMIZATIONS [J].
CHANG, PP ;
MAHLKE, SA ;
HWU, WMW .
SOFTWARE-PRACTICE & EXPERIENCE, 1991, 21 (12) :1301-1321
[7]   AN EXECUTION PROFILER FOR MODULAR PROGRAMS [J].
GRAHAM, SL ;
KESSLER, PB ;
MCKUSICK, MK .
SOFTWARE-PRACTICE & EXPERIENCE, 1983, 13 (08) :671-685
[8]  
HALL RJ, 1993, PROCEEDINGS OF THE SUMMER 1993 USENIX CONFERENCE, P1
[9]  
HALL RJ, 1992, P 14 INT C SOFTW ENG, P296
[10]  
JERDING DF, 1997, IN PRESS P 1997 INT