ACM Home Page
Please provide us with feedback. Feedback
Evidence-based static branch prediction using machine learning
Full text PdfPdf (516 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 19 ,  Issue 1  (January 1997) table of contents
Pages: 188 - 222  
Year of Publication: 1997
ISSN:0164-0925
Authors
Brad Calder  Univ. of Colorado, Boulder
Dirk Grunwald  Univ. of Colorado, Boulder
Michael Jones  Univ. of Colorado, Boulder
Donald Lindsay  Univ. of Colorado, Boulder
James Martin  Univ. of Colorado, Boulder
Michael Mozer  Univ. of Colorado, Boulder
Benjamin Zorn  Univ. of Colorado, Boulder
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 92,   Citation Count: 14
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/239912.239923
What is a DOI?

ABSTRACT

Correctly predicting the direction that branches will take is increasingly important in today's wide-issue computer architectures. The name program-based branch prediction is given to static branch prediction techniques that base their prediction on a program's structure. In this article, we investigate a new approach to program-based branch prediction that uses a body of existing programs to predict the branch behavior in a new program. We call this approach to program-based branch prediction evidence-based static prediction, or ESP. The main idea of ESP is that the behavior of a corpus of programs can be used to infer the behavior of new programs. In this article, we use neural networks and decision trees to map static features associated with each branch to a prediction that the branch will be taken. ESP shows significant advantages over other prediction mechanisms. Specifically, it is a program-based technique; it is effective across a range of programming languages and programming styles; and it does not rely on the use of expert-defined heuristics. In this article, we describe the application of ESP to the problem of static branch prediction and compare our results to existing program-based branch predictors. We also investigate the applicability of ESP across computer architectures, programming languages, compilers, and run-time systems. We provide results showing how sensitive ESP is to the number and type of static features and programs included in the ESP training sets, and we compare the efficacy of static branch prediction for subroutine libraries. Averaging over a body of 43 C and Fortran programs, ESP branch prediction results in a miss rate of 20%, as compared with the 25% miss rate obtained using the best existing program-based heuristics.


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.

1
 
2
ARNOLD, C. N. 1982. Performance evaluation of three automatic vectorizer packages. In Proceedings of the 1982 International Conference on Parallel Processing. IEEE, New York, 235-242.
3
4
 
5
BERRY, M. 1989. The Perfect Club benchmarks: Effective performance evaluation of supercomputers. Int. J. Supercomput. Appl. 3, 3 (Fall), 5-40.
6
7
 
8
 
9
CALDER, B., GRUNWALD, D., AND ZORN, B. 1994. Quantifying behavioral differences between C and C+ + programs. J. Program. Lang. 2, 4. Also available as Tech. Rep. CU-CS-698-94, Univ. of Colorado, Boulder, Colo.
 
10
 
11
 
12
DEMPSTER, A. P. 1968. A generalization of Bayesian inference. J. Roy. Stat. Soc. 30, 205-247.
 
13
FISHER, J.A. 1981. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput. C-30, 7 (July), 478-490.
14
 
15
 
16
HUDSON, C., MACKE, T., DAVIES, J., WOLFE, M., AND LEASURE, B. 1986. The KAP/205: An advanced source-to-source vectorizer for the Cyber 205 supercomputer. In Proceedings of the 1986 International Conference on Parallel Processing. IEEE, New York, 827-835.
17
18
19
 
20
 
21
 
22
SHAFER, G. 1976. A Mathematical Theory of Evidence. Princeton University Press, Princeton, N.J.
 
23
 
24
25
26
27
28

CITED BY  14

Collaborative Colleagues:
Brad Calder: colleagues
Dirk Grunwald: colleagues
Michael Jones: colleagues
Donald Lindsay: colleagues
James Martin: colleagues
Michael Mozer: colleagues
Benjamin Zorn: colleagues