Skip to main content

The Case for Speculative Multithreading on SMT Processors

  • Conference paper
  • First Online:
High Performance Computing (ISHPC 2000)

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

Included in the following conference series:

  • 616 Accesses

Abstract

Simultaneous multithreading (SMT) processors achieve high performance by executing independent instructions from different programs simultaneously [1]. However, the SMT model doesn’t help single-thread applications and performs at its full potential only when executing multithreaded applications or multiple programs. Moreover, to minimize the total execution time of one selected high priority thread, that thread has to run alone. Recently, several speculative multithreading architectures have been proposed that exploit far away instruction level parallelism in single-thread applications. In particular, the dynamic multithreading or DMT model [2] uses hardware mechanisms to fork speculative threads at procedure and loop boundaries along the execution path of a single program, and executes these threads on a multithreaded processor. In this paper, we explore the performance scope of an SMT architecture in which spare thread contexts are used to support the DMT execution of procedure and loop threads. We show two significant advantages of this approach: (1) it increases processor utilization and total execution throughput when few programs are running, and (2) it eliminates or reduces the performance degradation of one selected high priority program when running simultaneously with other programs, without reducing total SMT throughput.

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. D. M. Tullsen, S. J. Eggers and H. M. Levy. Simultaneous Multithreading: Maximizing on-Chip Parallelism. The 22nd International Symposium on Computer Architecture, June 1995.

    Google Scholar 

  2. H. Akkary and M.A. Driscoll. A Dynamic Multithreading Processor. The 31st International Symposium on Microarchitecture, November 1998.

    Google Scholar 

  3. D. M. Tullsen, S. J. Eggers, J. S. Emer, H. M. Levy, J. L. Lo and R. L. Stamm. Exploiting Choice: Instruction Fetch and Issue on an Implementable Simultaneous Multithreading Processor. The 23rd International Symposium on Computer Architecture, May 1996.

    Google Scholar 

  4. M. Franklin. The Multiscalar Architecture. Ph.D. Thesis, University of Wisconsin-Madison, November 93.

    Google Scholar 

  5. G. S. Sohi, S. E. Breach, and T.N. Vijaykumar. Multiscalar Processors. The 22nd International Symposium on Computer Architecture, June 1995.

    Google Scholar 

  6. J. Y. Tsai, Z. Jiang, E. Ness, and P.-C. Yew. Performance Study of a Concurrent Multithreaded Processor. The 4th International Symposium on High-Performance Computer Architecture, January 1998.

    Google Scholar 

  7. J. G. Steffan and T. C. Mowry. The Potential for Using Thread-Level Data Speculation to Facilitate Automatic Parallelization. The 4th International Symposium on High-Performance Computer Architecture, January 1998.

    Google Scholar 

  8. S. Wallace, B. Calder, and D. M. Tullsen. Threaded Multiple Path Execution. The 25th International Symposium on Computer Architecture, June 1998.

    Google Scholar 

  9. P. Marcuello, A. González, and J. Tubella. Speculative Multithreaded Processors. International Conference on Supercomputing’98, July 1998.

    Google Scholar 

  10. V. Krishnan and J. Torrellas. Hardware and Software Support for Speculative Execution of Sequential Binaries on a Chip-Multiprocessor. International Conference on Snupercomputing’98, July 1998.

    Google Scholar 

  11. L. Hammond, M. Willey, and K. Olukotun. Data Speculation support for a chip multiprocessor. International Conference on Architectural Support for Programming Languages and Operating Systems, October 1998.

    Google Scholar 

  12. M. Tremblay. Magic: Microprocessor Architecture for Java Computing. Presentation at HotChips’99, August 1999.

    Google Scholar 

  13. L. Codrescu and D. S. Wills. Architecture of the Atlas Chip-Multiprocessor: Dynamically Parallelizing Irregular Applications. The 1999 International Conference on Computer Design, VLSI in Computers & Processors (ICCD’99), October 1999.

    Google Scholar 

  14. H. Akkary. A Dynamic Multithreading Processor. Ph.D. Thesis, Portland State University, June 1998.

    Google Scholar 

  15. D. Burger and T. M. Austin. The SimpleScalar Tool Set, Version 2.0. Computer Architecture News, Vol. 25, No. 3, pp. 13–25, June 1997.

    Article  Google Scholar 

  16. D. Lee, P. Crowley, J.-L. Baer, T. Anderson and B. Bershad. Execution Characteristics of Desktop Applications on Windows NT. The 25th International Symposium on Computer Architecture, June 1998.

    Google Scholar 

  17. A.S. Palacharla, N.P. Jouppi, and J.E. Smith. Complexity-Effective Superscalar Processors. The 24th International Symposium on Computer Architecture, June 1997.

    Google Scholar 

  18. A. Seznec, S. Jourdan, P. Sainrat, and P. Michaud. Multiple-Block Ahead Branch Predictors. International Conference on Architectural Support for Programming Languages and Operating Systems, October 1996.

    Google Scholar 

  19. S. Hily and A. Seznec. Standard Memory Hierarchy Does Not Fit Simultaneous Multithreading. In Proceedings of Workshop on MultiThreaded Execution, Architecture and Compilation, held in conjunction with HPCA-4, Colorado State Univ. Technical Report CS-98–102, January 1998.

    Google Scholar 

  20. S.E. Raasch and S.K. Reinhardt. Applications of Thread Prioritization in SMT Processors. In Proceedings of Workshop on MultiThreaded Execution, Architecture and Compilation, held in conjunction with HPCA-5, January 1999.

    Google Scholar 

  21. S. Patel, D. Friendly, and Y. Patt. Critical Issues Regarding the Trace Cache Fetch Mechanism. University of Michigan Technical Report CSE-TR-335-97, 1997.

    Google Scholar 

  22. E. Rotenberg, S. Bennett, and J. E. Smith. Trace Cache: a Low Latency Approach to High Bandwidth Instruction Fetching. The 29th International Symposium on Microarchitecture, December 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Akkary, H., Hily, S. (2000). The Case for Speculative Multithreading on SMT Processors. In: Valero, M., Joe, K., Kitsuregawa, M., Tanaka, H. (eds) High Performance Computing. ISHPC 2000. Lecture Notes in Computer Science, vol 1940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39999-2_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-39999-2_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41128-4

  • Online ISBN: 978-3-540-39999-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics