ACM Home Page
Please provide us with feedback. Feedback
The STAMPede approach to thread-level speculation
Full text PdfPdf (1.72 MB)
Source ACM Transactions on Computer Systems (TOCS) archive
Volume 23 ,  Issue 3  (August 2005) table of contents
Pages: 253 - 300  
Year of Publication: 2005
ISSN:0734-2071
Authors
J. Gregory Steffan  University of Toronto, Ontario, Canada
Christopher Colohan  Carnegie Mellon University, Pittsburgh, PA
Antonia Zhai  University of Minnesota, Minneapolis, MN
Todd C. Mowry  Carnegie Mellon University, Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 36,   Downloads (12 Months): 212,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1082469.1082471
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
 
4
Breach, S. E., Vijaykumar, T. N., Gopal, S., Smith, J. E., and Sohi, G. S. 1996. Data memory alternatives for multiscalar processors. Tech. Rep. CS-TR-1997-1344, Computer Sciences Department, University of Wisconsin-Madison.
5
6
7
 
8
 
9
Emer, J. 2001. Ev8: The post-ultimate alpha (keynote address). In International Conference on Parallel Architectures and Compilation Techniques.
10
 
11
Frank, M., Moritz, C., Greenwald, B., Amarasinghe, S., and Agarwal, A. 1999. Suds: Primitive mechanisms for memory dependence speculation. Tech. Rep. MIT/LCS Technical Memo LCS-TM-591. January.
 
12
 
13
 
14
 
15
 
16
17
 
18
Kahle, J. 1999. Power4: A Dual-CPU processor chip. Microprocessor Forum '99.
19
 
20
 
21
22
 
23
24
25
26
27
 
28
 
29
Palacharla, S., Jouppi, N. P., and Smith, J. E. 1996. Quantifying the complexity of superscalar processors. Tech. Rep. CS-TR-1996-1328, University of Wisconsin-Madison.
30
31
32
33
 
34
 
35
 
36
Rundberg, P. and Stenstrom, P. 2000. Low-cost thread-level data dependence speculation on multiprocessors. In Fourth Workshop on Multithreaded Execution, Architecture and Compilation.
37
 
38
SPEC. 2000. The SPEC Benchmark Suite. Tech. rep., Standard Performance Evaluation Corporation. http://www.spechbench.org.
 
39
 
40
 
41
42
 
43
Tjiang, S., Wolf, M., Lam, M., Pieper, K., and Hennessy, J. 1992. Languages and Compilers for Parallel Computing. Springer-Verlag, Berlin, Germany, 137--151.
 
44
Tremblay, M. 1999. MAJC: Microprocessor Architecture for Java Computing. HotChips '99.
45
 
46
Veenstra, J. 2000. MINT+ mips emulator. Personal communication.
 
47
 
48
49
 
50
 
51
 
52
53
 
54

CITED BY  7

Collaborative Colleagues:
J. Gregory Steffan: colleagues
Christopher Colohan: colleagues
Antonia Zhai: colleagues
Todd C. Mowry: colleagues