Skip to main content

A systematic approach to branch speculation

  • Instruction Level Parallelism
  • Conference paper
  • First Online:
Book cover Languages and Compilers for Parallel Computing (LCPC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1366))

  • 103 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. J. A. Fisher. “Trace Scheduling: A technique for global microcode compaction”. IEEE Transactions on Computers, No. 7,pp. 478–490, 1981.

    Google Scholar 

  4. R. Graham. “An efficient algorithms for determining the convex hull of a finite planar set”. Information Processing Letters, 1:132–133, 1972.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. M. Kumar. “Measuring Parallelism in Computation-Intensive Scientific/Engineering Applications”. IEEE Trans. on Computers, Vol 37, No. 9, pp. 1088–1098, September 1988.

    Google Scholar 

  7. A. Nicolau. “Uniform Parallelism Exploitation in Ordinary Programs”. Proceedings of the 1985 International Conference on Parallel Processing, 1985.

    Google Scholar 

  8. A. Nicolau, J. Fisher. “Measuring the parallelism available for VLIW architectures”. IEEE Trans. on Computers, C-33, pp. 968–976, November 1984.

    Google Scholar 

  9. A. Peleg, S. Wilkie, and U. Weiser. “Intel MMX for multimedia PCs”. Communications of the ACM, 40(1):25–38, January 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints 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

Publish with us

Policies and ethics