| Static branch frequency and program profile analysis |
| Full text |
Pdf
(1.26 MB)
|
| Source
|
International Symposium on Microarchitecture
archive
Proceedings of the 27th annual international symposium on Microarchitecture
table of contents
San Jose, California, United States
Pages: 1 - 11
Year of Publication: 1994
ISBN:0-89791-707-3
|
|
Authors
|
|
Youfeng Wu
|
Sequent Computer Systems, Inc., D2-798, 15450 S.W. Koll Parkway, Beaverton, OR
|
|
James R. Larus
|
Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton St., Madison, WI
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 7, Downloads (12 Months): 47, Citation Count: 22
|
|
|
ABSTRACT
Program profiles identify frequently executed portions of a program, which are the places at which optimizations offer programmers and compilers the greatest benefit. Compilers, however, infrequently exploit program profiles, because profiling a program requires a programmer to instrument and run the program. An attractive alternative is for the compiler to statically estimate program profiles. This paper presents several new techniques for static branch prediction and profiling. The first technique combines multiple predictions of a branch's outcome into a prediction of the probability that the branch is taken. Another technique uses these predictions to estimate the relative execution frequency (i.e., profile) of basic blocks and control-flow edges within a procedure. A third algorithm uses local frequency estimates to predict the global frequency of calls, procedure invocations, and basic block and control-flow edge executions. Experiments on the SPEC92 integer benchmarks and Unix applications show that the frequently executed blocks, edges, and functions identified by our techniques closely match those in a dynamic profile.
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.
 |
Ball-92
|
|
 |
Ball-93
|
|
| |
Chang-91
|
|
| |
Chen-92
|
William Y. Chen , Roger A. Bringmann , Scott A. Mahlke , Sadun Anik , Tokuzo Kiyohara , Nancy J. Warter , Daniel M. Lavery , Wen-mei W. Hwu , Richard E. Hank , John C. Gyllenhaal, Using Profile Information to Assist Advaced Compiler Optimization and Scheduling, Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing, p.31-48, August 03-05, 1992
|
| |
Fisher-81
|
Fisher, Joseph A, "Trace Scheduling' A Technique for Global Microcode Compaction." IEEE Trans. Computera, C-30, 7 (July, 1981) pp. 478-490.
|
 |
Fisher-92
|
|
| |
Forman-81
|
|
| |
Graham-83
|
Graham, S.L, P.B. Kessler, and M.K. McKusick, "An Execution Profiler for Modular Programs," Software-Practice and Experience, 13 (1983) pp. 671-685.
|
 |
Hall-92
|
|
| |
Hank-93
|
Richard E. Hank , Scott A. Mahlke , Roger A. Bringmann , John C. Gyllenhaal , Wen-mei W. Hwu, Superblock formation using static program analysis, Proceedings of the 26th annual international symposium on Microarchitecture, p.247-255, December 01-03, 1993, Austin, Texas, United States
|
 |
Hicky-88
|
|
 |
Huelsbergen-94
|
Lorenz Huelsbergen , James R. Larus , Alexander Aiken, Using the run-time sizes of data structures to guide parallel-thread creation, Proceedings of the 1994 ACM conference on LISP and functional programming, p.79-90, June 27-29, 1994, Orlando, Florida, United States
|
 |
Hwu-89
|
|
 |
McFarling-89
|
|
 |
Pettis-90
|
|
 |
Ramamoorthy-65
|
|
 |
Sarkar-89
|
|
| |
Shafer-76
|
Shafer, G., A Mathematwal Theory of Evidence. Princeton University Press, 1976.
|
| |
Spec92
|
SPEC Cint92, Release V 1.1
|
 |
Wagner-94
|
Tim A. Wagner , Vance Maverick , Susan L. Graham , Michael A. Harrison, Accurate static estimators for program optimization, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.85-96, June 20-24, 1994, Orlando, Florida, United States
|
 |
Wall-91
|
|
 |
Wu-92
|
|
CITED BY 22
|
|
Christopher Barton , José Nelson Amaral , Bob Blainey, Should potential loop optimizations influence inlining decisions?, Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research, p.30-38, October 06-09, 2003, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
Brad Calder , Dirk Grunwald , Amitabh Srivastava, The predictability of branches in libraries, Proceedings of the 28th annual international symposium on Microarchitecture, p.24-34, November 29-December 01, 1995, Ann Arbor, Michigan, United States
|
|
|
|
|
Youfeng Wu , Mauricio Breternitz , Justin Quek , Orna Etzion , Jesse Fang, The Accuracy of Initial Prediction in Two-Phase Dynamic Binary Translators, Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, p.227, March 20-24, 2004, Palo Alto, California
|
|
Brad Calder , Dirk Grunwald , Donald Lindsay , James Martin , Michael Mozer , Benjamin Zorn, Corpus-based static branch prediction, ACM SIGPLAN Notices, v.30 n.6, p.79-92, June 1995
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Brad Calder , Dirk Grunwald , Michael Jones , Donald Lindsay , James Martin , Michael Mozer , Benjamin Zorn, Evidence-based static branch prediction using machine learning, ACM Transactions on Programming Languages and Systems (TOPLAS), v.19 n.1, p.188-222, Jan. 1997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|