DocumentCode
81695
Title
Squashing Alternatives for Software-Based Speculative Parallelization
Author
Garcia Yaguez, Alvaro ; Llanos, Diego ; Gonzalez-Escribano, Arturo
Author_Institution
Dept. de Inf., Univ. de Valladolid, Valladolid, Spain
Volume
63
Issue
7
fYear
2014
fDate
Jul-14
Firstpage
1826
Lastpage
1839
Abstract
Speculative parallelization is a runtime technique that optimistically executes sequential code in parallel, checking that no dependence violations arise. In the case of a dependence violation, all mechanisms proposed so far either switch to sequential execution, or conservatively stop and restart the offending thread and all its successors, potentially discarding work that does not depend on this particular violation. In this work we systematically explore the design space of solutions for this problem, proposing a new mechanism that reduces the number of threads that should be restarted when a data dependence violation is found. Our new solution, called exclusive squashing, keeps track of inter-thread dependencies at runtime, selectively stopping and restarting offending threads, together with all threads that have consumed data from them. We have compared this new approach with existent solutions on a real system, executing different applications with loops that are not analyzable at compile time and present as much as 10% of inter-thread dependence violations at runtime. Our experimental results show a relative performance improvement of up to 14%, together with a reduction of one-third of the numbers of squashed threads. The speculative parallelization scheme and benchmarks described in this paper are available under request.
Keywords
data flow analysis; multi-threading; data dependence violation; exclusive squashing; inter-thread dependence violations; inter-thread dependencies; runtime technique; sequential code; software-based speculative parallelization; squashed threads; squashing alternatives; Complexity theory; Data structures; Indexes; Instruction sets; Message systems; Monitoring; Runtime; Thread-level speculation; loop-based parallelization; optimistic parallelization;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2013.46
Filename
6475131
Link To Document