Title :
Mixed Model Universal Software Thread-Level Speculation
Author :
Zhen Cao ; Verbrugge, Clark
Author_Institution :
Sch. of Comput. Sci., McGill Univ., Montreal, QC, Canada
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.
Keywords :
C++ language; FORTRAN; multi-threading; multiprocessing systems; C-C++ language; FORTRAN language; LLVM intermediate representation; MUTLS; TLS; commodity multicore processors; depth-first search program; divide-and-conquer program; memory intensive applications; mixed forking model universal software; simple thread forking model; software approaches; software thread-level speculation; substantial parallelism; tree-form recursion programs; Context; Hardware; Libraries; Out of order; Parallel processing; Synchronization; Forking Model; Parallelization; Thread-Level Speculation;
Conference_Titel :
Parallel Processing (ICPP), 2013 42nd International Conference on
Conference_Location :
Lyon
DOI :
10.1109/ICPP.2013.79