Mixed Model Universal Software Thread-Level Speculation

被引:9
作者
Cao, Zhen [1 ]
Verbrugge, Clark [1 ]
机构
[1] McGill Univ, Sch Comp Sci, Montreal, PQ H3A 0E9, Canada
来源
2013 42ND ANNUAL INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING (ICPP) | 2013年
关键词
Thread-Level Speculation; Parallelization; Forking Model; PARALLELIZATION; PROGRAMS; !text type='JAVA']JAVA[!/text;
D O I
10.1109/ICPP.2013.79
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:651 / 660
页数:10
相关论文
共 19 条
[1]  
Bhattacharyya A., 2012, PACT 12, P483
[2]   The Jrpm system for dynamically parallelizing Java']Java programs [J].
Chen, MK ;
Olukotun, K .
30TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 2003, :434-445
[3]   Exploiting method-level parallelism in single-threaded Java']Java programs [J].
Chen, MK ;
Olukotun, K .
1998 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1998, :176-184
[4]  
Cui H., 2010, OSDI 10
[5]   Software behavior oriented parallelization [J].
Ding, Chen ;
Shen, Xipeng ;
Kelsey, Kirk ;
Tice, Chris ;
Huang, Ruke ;
Zhang, Chengliang .
ACM SIGPLAN NOTICES, 2007, 42 (06) :223-234
[6]   A cost-driven compilation framework for speculative parallelization of sequential programs [J].
Du, ZH ;
Lim, CC ;
Li, XF ;
Yang, C ;
Zhao, QY ;
Ngai, TF .
ACM SIGPLAN NOTICES, 2004, 39 (06) :71-81
[7]  
Garcia-Yaguez A., 2013, IEEE T COMPUT, P247
[8]  
Liu W., 2006, PPOPP 06 P ACM SIGPL, P158
[9]  
Oancea CE, 2009, SPAA'09: PROCEEDINGS OF THE TWENTY-FIRST ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, P223
[10]  
Oancea CosminE., 2008, IWMSE 08, P23, DOI DOI 10.1145/1370082.1370090