Title
Mixed Model Universal Software Thread-Level Speculation
Abstract
Software approaches to Thread-Level Speculation (TLS) have been recently explored, bypassing the need for specialized hardware designs. These approaches, however, tend to focus on source or VM-level implementations aimed at specific language and runtime environments. In addition, previous software approaches tend to make use of a simple thread forking model, reducing their ability to extract substantial parallelism from tree-form recursion programs such as depth-first search and divide-and-conquer. This paper proposes a Mixed forking model Universal software-TLS (MUTLS) system to overcome these limitations. MUTLS is purely based on the LLVM intermediate representation (IR), a language and architecture independent IR that supports more than 10 source languages and target architectures by many projects. MUTLS maximizes parallel coverage by applying a mixed forking model that allows all threads to speculate, forming a tree of threads. We evaluate MUTLS using several C/C++ and Fortran benchmarks on a 64-core machine. On 3 computation intensive applications we achieve speedups of 30 to 50 and 20 to 50 for the C and Fortran versions, respectively. We also observe speedups of 2 to 7 for memory intensive applications. Our experiments indicate that a mixed model is preferable for parallelization of tree-form recursion applications over the simple forking models used by previous software-TLS approaches. Our work also demonstrates that actual speedup is achievable on existing, commodity multi-core processors while maintaining the flexibility of a highly generic implementation context.
Year
DOI
Venue
2013
10.1109/ICPP.2013.79
ICPP
Keywords
Field
DocType
fortran,simple thread forking model,mixed forking model universal software,forking model,mixed model universal software,mutls,depth-first search program,tree-form recursion programs,substantial parallelism,architecture independent ir,universal software-tls,llvm intermediate representation,parallelization,multi-threading,fortran benchmarks,tls,divide-and-conquer program,memory intensive application,software thread-level speculation,mixed forking model,multiprocessing systems,software approaches,c++ language,previous software approach,fortran version,computation intensive application,fortran language,simple forking model,mixed model,commodity multicore processors,thread-level speculation,c-c++ language,memory intensive applications,thread level speculation,multi threading
Multithreading,Programming language,Computer science,Parallel computing,Fortran,Speculative multithreading,Thread (computing),Software,Out-of-order execution,Recursion,Distributed computing,Speedup
Conference
ISSN
Citations 
PageRank 
0190-3918
2
0.37
References 
Authors
14
2
Name
Order
Citations
PageRank
Zhen Cao120.37
Clark Verbrugge241139.15