DocumentCode :
967618
Title :
Mitosis: A Speculative Multithreaded Processor Based on Precomputation Slices
Author :
Madriles, Carlos ; Garcia-Quinones, C. ; Sanchez, Javier ; Marcuello, Pedro ; Gonzalez, Adriana ; Tullsen, Dean M. ; Wang, Hong ; Shen, John P.
Author_Institution :
Intel-UPC Barcelona Res. Center, Intel Corp., Barcelona
Volume :
19
Issue :
7
fYear :
2008
fDate :
7/1/2008 12:00:00 AM
Firstpage :
914
Lastpage :
925
Abstract :
This paper presents the Mitosis framework, which is a combined hardware-software approach to speculative multithreading, even in the presence of frequent dependences among threads. Speculative multithreading increases single-threaded application performance by exploiting thread-level parallelism speculatively, that is, executing code in parallel, even when the compiler or runtime system cannot guarantee that the parallelism exists. The proposed approach is based on predicting/computing thread input values via software through a piece of code that is added at the beginning of each thread (the precomputation slice). A precomputation slice is expected to compute the correct thread input values most of the time but not necessarily always. This allows aggressive optimization techniques to be applied to the slice to make it very short. This paper focuses on the microarchitecture that supports this execution model. The primary novelty of the microarchitecture is the hardware support for the execution and validation of precomputation slices. Additionally, this paper presents new architectures for the register file and the cache memory in order to support multiple versions of each variable and allow for efficient rollback in case of misspeculation. We show that the proposed microarchitecture, together with the compiler support, achieves an average speedup of 2.2 for applications that conventional nonspeculative approaches are not able to parallelize at all.
Keywords :
multi-threading; optimisation; program slicing; software architecture; Mitosis framework; combined hardware-software approach; microarchitecture; optimization techniques; precomputation slices; speculative multithreaded processor; Speculative thread level parallelism; multi-core architecture.; pre-computation slices; thread partitioning;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/TPDS.2007.70797
Filename :
4378366
Link To Document :
بازگشت