SEED: A Statically Greedy and Dynamically Adaptive Approach for Speculative Loop Execution

被引:24
作者
Gao, Lin [1 ]
Li, Lian [2 ]
Xue, Jingling [3 ]
Yew, Pen-Chung [4 ]
机构
[1] Univ Queensland, ESSCC, Brisbane, Qld 4072, Australia
[2] Oracle Labs, Brisbane, Qld 4000, Australia
[3] Univ New S Wales, Sch Engn & Comp Sci, Sydney, NSW 2052, Australia
[4] Univ Minnesota Twin Cities, Dept Comp Sci & Engn, Minneapolis, MN 55455 USA
基金
澳大利亚研究理事会; 美国国家科学基金会;
关键词
Loop-level speculation; thread-level speculation; speculative compilation;
D O I
10.1109/TC.2012.41
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Research on compiler techniques for thread-level loop speculation has so far remained on studying its performance limits: loop candidates that are worthy of parallelization are manually selected by the researchers or based on extensive profiling and preexecution. It is therefore difficult to include them in a production compiler for speculative multithreaded multicore processors. In a way, existing techniques are statically adaptive ("realized" by the researchers for different inputs) yet dynamically greedy (since all iterations of all selected loop candidates are always parallelized at run time). This paper introduces a Statically GrEEdy and Dynamically Adaptive (SEED) approach for thread-level speculation on loops that is quite different from most other existing techniques. SEED relies on the compiler to select and optimize loop candidates greedily (possibly in an input-independent way) and provides a runtime scheduler to schedule loop iterations adaptively. To select loops for parallelization at runtime (subject to program inputs), loop iterations are prioritized in terms of their potential benefits rather than their degree of speculation as in many prior studies. In our current implementation, the benefits of speculative threads are estimated by a simple yet effective cost model. It comprises a mechanism for efficiently tracing the loop nesting structures of the program and a mechanism for predicting the outcome of speculative threads. We have evaluated SEED using a set of SPECint2000 and Olden benchmarks. Compared to existing techniques with a program's loop candidates being ideally selected a priori, SEED can achieve comparable or better performance while aututomating the entire loop candidate selection process.
引用
收藏
页码:1004 / 1016
页数:13
相关论文
共 30 条
  • [1] A dynamic multithreading processor
    Akkary, H
    Driscoll, MA
    [J]. 31ST ANNUAL ACM/IEEE INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, PROCEEDINGS, 1998, : 226 - 236
  • [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] Cintra M, 2002, EIGHTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, P43
  • [4] Architecture of the Atlas chip-multiprocessor: Dynamically parallelizing irregular applications
    Codrescu, L
    Wills, DS
    Meindl, J
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2001, 50 (01) : 67 - 82
  • [5] A compiler cost model for speculative parallelization
    Dou, Jialin
    Cintra, Marcelo
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2007, 4 (02) : 12
  • [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] Data speculation support for a chip multiprocessor
    Hammond, L
    Willey, R
    Olukotun, K
    [J]. ACM SIGPLAN NOTICES, 1998, 33 (11) : 58 - 69
  • [8] Min-cut program decomposition for thread-level speculation
    Johnson, TA
    Eigenmann, R
    Vijaykumar, TN
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (06) : 59 - 70
  • [9] Speculative Thread Decomposition Through Empirical Optimization
    Johnson, Troy A.
    Eigenmann, Rudolf
    Vijaykumar, T. N.
    [J]. PROCEEDINGS OF THE 2007 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING PPOPP'07, 2007, : 205 - 214
  • [10] Tight Analysis of the Performance Potential of Thread Speculation using SPEC CPU2006
    Kejariwal, Arun
    Tian, Xinmin
    Girkar, Milind
    Li, Wei
    Saito, Hideki
    Banerjee, Utpal
    Nicolau, Alexandru
    Veidenbaum, Alexander V.
    Polychronopoulos, Constantine D.
    [J]. PROCEEDINGS OF THE 2007 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING PPOPP'07, 2007, : 215 - 225