Loop recreation for thread-level speculation

被引:0
作者
Gao, Lin [1 ]
Li, Lian [1 ]
Xue, Jingling [1 ]
Ngai, Tin-Fook [2 ]
机构
[1] Univ New S Wales, Sydney, NSW 2052, Australia
[2] Intel, Microprocessor Technol Lab, Santa Clara, CA USA
来源
2007 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, VOLS 1 AND 2 | 2007年
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
For some sequential loops, existing techniques that form speculative threads only at their loop boundaries do not adequately expose the speculative parallelism inherent in them. This is because some inter-iteration dependences, which translate into inter-thread dependences at run time, are too costly to synchronize or speculate. This paper presents a novel compiler technique, called loop recreation, to transform a loop into a prologue, a kernel loop - formed with instructions from two adjacent iterations, and an epilogue so that the inter-iteration dependences in the kernel are less costly to enforce at run time than those in the original loop. We prove the concept by giving an algorithm for finding an optimal loop recreation with respect to a simple misspeculation cost model and by demonstrating performance advantages of loop recreation over two recent techniques for speculative multi-core systems running four irregular applications with indirect array accesses.
引用
收藏
页码:337 / +
页数:2
相关论文
共 50 条
[41]   Speculative synchronization:: Applying thread-level speculation to explicitly parallel applications [J].
Martínez, JF ;
Torrellas, J .
ACM SIGPLAN NOTICES, 2002, 37 (10) :18-29
[42]   Set-Congruence Dynamic Analysis for Thread-Level Speculation (TLS) [J].
Oancea, Cosmin E. ;
Mycroft, Alan .
LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2008, 5335 :156-171
[43]   Dual-thread Speculation: A Simple Approach to Uncover Thread-level Parallelism on a Simultaneous Multithreaded Processor [J].
Fredrik Warg ;
Per Stenstrom .
International Journal of Parallel Programming, 2008, 36 :166-183
[44]   Using Hardware-Transactional-Memory Support to Implement Thread-Level Speculation [J].
Salamanca, Juan ;
Amaral, Jose Nelson ;
Araujo, Guido .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2018, 29 (02) :466-480
[45]   OpenPro : A Dynamic Profiling Tool Set for Exploring Thread-Level Speculation Parallelism [J].
Wang, Yaobin ;
An, Hong ;
Liang, Bo ;
Wang, Li ;
Guo, Rui .
ICCEE 2008: PROCEEDINGS OF THE 2008 INTERNATIONAL CONFERENCE ON COMPUTER AND ELECTRICAL ENGINEERING, 2008, :256-+
[46]   The Effects of Parameter Tuning in Software Thread-Level Speculation in Java']JavaScript Engines [J].
Martinsen, Jan Kasper ;
Grahn, Hakan ;
Isberg, Anders .
ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2014, 11 (04)
[47]   Dual-thread speculation: A simple approach to uncover thread-level parallelism on a simultaneous multithreaded processor [J].
Warg, Fredrik ;
Stenstrom, Per .
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2008, 36 (02) :166-183
[48]   ReEnact: Using thread-level speculation mechanisms to debug data races in multithreaded codes [J].
Prvulovic, M ;
Torrellas, J .
30TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 2003, :110-121
[49]   Performance Evaluation of Thread-Level Speculation in Off-the-Shelf Hardware Transactional Memories [J].
Salamanca, Juan ;
Amaral, Jose Nelson ;
Araujo, Guido .
EURO-PAR 2017: PARALLEL PROCESSING, 2017, 10417 :607-621
[50]   Using software logging to support multi-version buffering in thread-level speculation [J].
Garzarán, MJ ;
Prvulovic, M ;
Viñals, V ;
Llabería, JM ;
Rauchwerger, L ;
Torrellas, J .
12TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 2003, :170-181