Hardware-based profiling: An effective technique for profile-driven optimization

被引:0
作者
Conte, TM [1 ]
Patel, BA [1 ]
Menezes, KN [1 ]
Cox, JS [1 ]
机构
[1] AT&T BELL LABS, GLOBAL INFORMAT SOLUT, DATABASE & COMP TECHNOL, COLUMBIA, SC 29170 USA
关键词
branch handling; profiling; compiler optimization; microarchitecture;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Profile-based optimization can be used for instruction scheduling, loop scheduling, data preloading, function in-lining, and instruction cache performance enhancement. However, these techniques have not been embraced by software vendors because programs instrumented for profiling run significantly slower, an awkward compile-run-recompile sequence is required, and a test input suite must be collected and validated for each program. This paper introduces hardware-based profiling that uses traditional branch handling hardware to generate profile information in real time. Techniques are presented for both one-level and two-level branch hardware organizations. The approach produces high accuracy with small slowdown in execution (0.4%-4.6%). This allows a program to be profiled while it is used, eliminating the need for a test input suite. With contemporary processors driven increasingly by compiler support, hardware-based profiling is important for high-performance systems.
引用
收藏
页码:187 / 206
页数:20
相关论文
共 26 条
[1]   ARCHITECTURE OF THE PENTIUM MICROPROCESSOR [J].
ALPERT, D ;
AVNON, D .
IEEE MICRO, 1993, 13 (03) :11-21
[2]  
[Anonymous], 1991, P 24 ACM IEEE INT S
[3]  
[Anonymous], P 8 ANN S COMP ARCH
[4]  
BALL T, 1993, SIGPLAN NOTICES, V28, P300, DOI 10.1145/173262.155119
[5]  
BALL T, 1991, 1031 U WISC MAD COMP
[6]  
CALDER, 1994, P 21 ANN INT S COMP, P2
[7]   USING PROFILE INFORMATION TO ASSIST CLASSIC CODE OPTIMIZATIONS [J].
CHANG, PP ;
MAHLKE, SA ;
HWU, WMW .
SOFTWARE-PRACTICE & EXPERIENCE, 1991, 21 (12) :1301-1321
[8]  
CHANG PP, 1991, ACM COMP AR, V19, P266, DOI 10.1145/115953.115979
[9]  
Chen Jr W. Y.-W., 1993, THESIS U ILLINOIS UR
[10]  
COX JS, 1995, P 28 HAW INT C SYST, V1, P221