Abstract
A general theoretical framework is developed for the study of branch speculation. The framework yields a systematic way to select the schedule in a given set that, for any (estimated) bias of the branch, minimizes the expected execution time. Among other things, it is shown that in some cases the optimal schedule is neither of those resulting from aggressively speculating on any given outcome of the conditional. Our results can be useful in either static or dynamic approaches. We propose a simple run-time estimator for the bias and discuss how to combine it with schedule selection. A number of examples motivate and illustrate the techniques, and show that our approach yields better performance in the case of highly unpredictable branches.
Supported in part by the ESPRIT III Basic Research Programme of the EC under contract No. 9072 (Project GEPPCOM).
This work supported in part by grants from ONR N00014-93-1-1348 and ARPA MDA904-96-C-1472.
Preview
Unable to display preview. Download preview PDF.
References
G. Bilardi, A. Nicolau, and J. Hummel. A Systematic Approach to Branch Speculation. Technical Report UCI-ICS 97-25, Department of Information and Computer Science, University of California, Irvine, April 1997.
K.Ebcioglu. “A Compilation Technique for Software Pipelining of Loops with Conditional Jumps”. Proceedings of the 20th Annual Workshop on Microprogramming, pp. 69–79, ACM Press, 1987.
J. A. Fisher. “Trace Scheduling: A technique for global microcode compaction”. IEEE Transactions on Computers, No. 7,pp. 478–490, 1981.
R. Graham. “An efficient algorithms for determining the convex hull of a finite planar set”. Information Processing Letters, 1:132–133, 1972.
W. Hwu, S. Mahlke, W. Chen, and P. Chang. “The Superblock — an effective technique for VLIW and superscalar compilation”. Journal of Supercomputing, 7(1–2):229–248, May 1993.
M. Kumar. “Measuring Parallelism in Computation-Intensive Scientific/Engineering Applications”. IEEE Trans. on Computers, Vol 37, No. 9, pp. 1088–1098, September 1988.
A. Nicolau. “Uniform Parallelism Exploitation in Ordinary Programs”. Proceedings of the 1985 International Conference on Parallel Processing, 1985.
A. Nicolau, J. Fisher. “Measuring the parallelism available for VLIW architectures”. IEEE Trans. on Computers, C-33, pp. 968–976, November 1984.
A. Peleg, S. Wilkie, and U. Weiser. “Intel MMX for multimedia PCs”. Communications of the ACM, 40(1):25–38, January 1997.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bilardi, G., Nicolau, A., Hummel, J. (1998). A systematic approach to branch speculation. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032707
Download citation
DOI: https://doi.org/10.1007/BFb0032707
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64472-9
Online ISBN: 978-3-540-69788-6
eBook Packages: Springer Book Archive