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 :
بازگشت