Skip to main content

Return-Address Prediction in Speculative Multithreaded Environments

  • Conference paper
  • First Online:
High Performance Computing — HiPC 2002 (HiPC 2002)

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

Included in the following conference series:

Abstract

There is a growing interest in the use of speculative multithreading to speed up the execution of sequential programs. In this execution model, threads are extracted from sequential code and are speculatively executed in parallel. This makes it possible to use parallel processing to speed up ordinary applications, which are typically written as sequential programs. This paper has two objectives. The first is to highlight the problems involved in performing accurate return address predictions in speculative multithreaded processors, where many of the subroutine call instructions and return instructions are fetched out of program order. A straightforward application of a return address stack popular scheme for predicting return addresses in single-threaded environments does not work well in such a situation. With out-of-order fetching of call instructions as well as return instructions, pushing and popping of return addresses onto and from the return address stack happen in a somewhat random fashion. This phenomena corrupts the return address stack, resulting in poor prediction accuracy for return addresses. The second objective of the paper is to propose a fixup technique for using the return address stack in speculative multithreaded processors. Our technique involves the use of a distributed return address stack, with facilities for repair when out-of-order pushes and pops happen. Detailed simulation results of the proposed schemes show significant improvements in the predictability of return addresses in a speculative multithreaded environment.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Akkary and M. A. Driscoll. A dynamic multithreading processor. In Proc. 31st Int’l Symposium on Microarchitecture, 1998. 609, 611

    Google Scholar 

  2. R. Alverson, D. Callahan, D. Cummings, B. Koblenz, A. Porterfield, and J. B. Smith. The tera computer system. In Proc. International Conference on Supercomputing, pages 1–6, 1990. 610

    Google Scholar 

  3. A. Bhowmik and M. Franklin. A general compiler framework for speculative multithreading. In Proc. ACM Symposium on Parallel Algorithms and Architectures (SPAA), August 2002. 611

    Google Scholar 

  4. M. Franklin. Multiscalar Processors. Kluwer Academic Publishers, 2002. 609, 611, 613

    Google Scholar 

  5. L. Hammond, B. Nayfeh, and K. Olukotun. A single-chip multiprocessor. IEEE Computer, 1997. 609

    Google Scholar 

  6. S. Jourdan, J. Stark T-H. Hsing, and Y. N. Patt. The effects ofmispredicted-path execution on branch prediction structures. In Proc. Int’l Conference on Parallel Architectures and Compilation Techniques (PACT), October 1996. 610

    Google Scholar 

  7. D. R. Kaeli and P. G. Emma. Branch history table prediction of moving target branches due to subroutine returns. In Proc. 18th Int’l Symposium on Computer Architecture, 1991. 610, 611

    Google Scholar 

  8. V. Krishnan and J. Torrellas. Executing sequential binaries on a clustered multithreaded architecture with speculation support. In Proc. Int’l Symposium on High Performance Computer Architecture (HPCA), 1998. 611

    Google Scholar 

  9. P. Marcuello and A. Gonzalez. Clustered speculative multithreaded processors. In Proc. Int’l Conference on Supercomputing, pages 20–25, 1999. 609

    Google Scholar 

  10. E. Rotenberg, Q. Jacobson, Y. Sazeides, and J. E. Smith. Trace processors. In Proc. 30th Annual Symposium on Microarchitecture (Micro-30), pages 24–34, 1997. 609, 611

    Google Scholar 

  11. K. Skadron, P. S. Ahuja, M. Martonosi, and D. W. Clark. Improving prediction for procedure returns with return-address-stack repair mechanisms. In Proc. 31st Int’l Symposium on Microarchitecture, pages 259–271, 1998. 610

    Google Scholar 

  12. G. S. Sohi, S. E. Breach, and T. N. Vijaykumar. Multiscalar processors. In Proc. 22nd Int’l Symposium on Computer Architecture (ISCA22), pages 414–425, 1995. 609, 611

    Google Scholar 

  13. J. G. Steffan and T. C. Mowry. The potential for using thread-level data speculation to facilitate automatic parallelization. In Proc. Int’l Symposium on High Performance Computer Architecture, pages 2–13, 1998. 610

    Google Scholar 

  14. J-Y. Tsai, J. Huang, C. Amlo, D. J. Lilja, and P-C. Yew. The superthreaded processor architecture. IEEE Transactions on Computers, 48(9):881–902, 1999. 611

    Article  Google Scholar 

  15. D. M._Tullsen, S. Eggers, and H. M. Levy. Simultaneous multithreading: Maximizing on-chip parallelism. In Proc. 22th Int’l Symposium on Computer Architecture, 1995. 610

    Google Scholar 

  16. M. Zahran and M. Franklin. Hierarchical multi-threading for exploiting parallelism at multiple granularities. In Proc. 5th Workshop on Multithreaded Execution, Architecture and Compilation (MTEAC-5), 2001. 611

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zahran, M., Franklin, M. (2002). Return-Address Prediction in Speculative Multithreaded Environments. In: Sahni, S., Prasanna, V.K., Shukla, U. (eds) High Performance Computing — HiPC 2002. HiPC 2002. Lecture Notes in Computer Science, vol 2552. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36265-7_57

Download citation

  • DOI: https://doi.org/10.1007/3-540-36265-7_57

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00303-8

  • Online ISBN: 978-3-540-36265-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics