The STAMPede approach to thread-level speculation

J. Gregory Steffan, Christopher Colohan, Antonia Zhai, Todd C. Mowry

Research output: Contribution to journalArticlepeer-review

118 Scopus citations

Abstract

Multithreaded processor architectures are becoming increasingly commonplace: many current and upcoming designs support chip multiprocessing, simultaneous multithreading, or both. While it is relatively straightforward to use these architectures to improve the throughput of a multithreaded or multiprogrammed workload, the real challenge is how to easily create parallel software to allow single programs to effectively exploit all of this raw performance potential. One promising technique for overcoming this problem is Thread-Level Speculation (TLS), which enables the compiler to optimistically create parallel threads despite uncertainty as to whether those threads are actually independent. In this article, we propose and evaluate a design for supporting TLS that seamlessly scales both within a chip and beyond because it is a straightforward extension of write-back invalidation-based cache coherence (which itself scales both up and down). Our experimental results demonstrate that our scheme performs well on single-chip multiprocessors where the first level caches are either private or shared. For our private-cache design, the program performance of two of 13 general purpose applications studied improves by 86% and 56%, four others by more than 8%, and an average across all applications of 16%-confirming that TLS is a promising way to exploit the naturally-multithreaded processing resources of future computer systems.

Original languageEnglish (US)
Pages (from-to)253-300
Number of pages48
JournalACM Transactions on Computer Systems
Volume23
Issue number3
DOIs
StatePublished - 2005

Keywords

  • Automatic parallelization
  • Cache coherence
  • Chip-multiprocessing
  • Thread-level speculation

Fingerprint

Dive into the research topics of 'The STAMPede approach to thread-level speculation'. Together they form a unique fingerprint.

Cite this