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
    Chen, MK
    Olukotun, K
    [J]. 30TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 2003, : 434 - 445
  • [3] Exploiting method-level parallelism in single-threaded Java']Java programs
    Chen, MK
    Olukotun, K
    [J]. 1998 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1998, : 176 - 184
  • [4] Cui H., 2010, OSDI 10
  • [5] Software behavior oriented parallelization
    Ding, Chen
    Shen, Xipeng
    Kelsey, Kirk
    Tice, Chris
    Huang, Ruke
    Zhang, Chengliang
    [J]. ACM SIGPLAN NOTICES, 2007, 42 (06) : 223 - 234
  • [6] A cost-driven compilation framework for speculative parallelization of sequential programs
    Du, ZH
    Lim, CC
    Li, XF
    Yang, C
    Zhao, QY
    Ngai, TF
    [J]. 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