DocumentCode
3355165
Title
TEST: a Tracer for Extracting Speculative Threads
Author
Chen, Michael ; Olukotun, Kunle
Author_Institution
Stanford Univ., CA, USA
fYear
2003
fDate
23-26 March 2003
Firstpage
301
Lastpage
312
Abstract
Thread-level speculation (TLS) allows sequential programs to be arbitrarily decomposed into threads that can be safely executed in parallel. A key challenge for TLS processors is choosing thread decompositions that speedup the program. Current techniques for identifying decompositions have practical limitations in real systems. Traditional parallelizing compilers do not work effectively on most integer programs, and software profiling slows down program execution too much for real-time analysis. Tracer for Extracting Speculative Threads (TEST) is hardware support that analyzes sequential program execution to estimate performance of possible thread decompositions. This hardware is used in a dynamic parallelization system that automatically transforms unmodified, sequential Java programs to run on TLS processors. In this system, the best thread decompositions found by TEST are dynamically recompiled to run speculatively. The paper describes the analysis performed by TEST and presents simulation results demonstrating its effectiveness on real programs. Estimates are also provided that show the tracer requires minimal hardware additions to our speculative chip-multiprocessor (< 1% of the total transistor count) and causes only minor slowdowns to programs during analysis (3-25%).
Keywords
multi-threading; multiprocessing systems; program diagnostics; TEST; TLS processors; Tracer for Extracting Speculative Threads; dynamic parallelization system; hardware support; integer programs; minimal hardware additions; parallelizing compilers; program execution; real-time analysis; sequential program execution; sequential programs; software profiling; speculative chip multiprocessor; thread decompositions; thread-level speculation; total transistor count; unmodified sequential Java programs; Analytical models; Hardware; Hazards; Java; Performance analysis; Performance evaluation; Program processors; Sequential analysis; System testing; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization, 2003. CGO 2003. International Symposium on
Print_ISBN
0-7695-1913-X
Type
conf
DOI
10.1109/CGO.2003.1191554
Filename
1191554
Link To Document