Loop recreation for thread-level speculation

9 years 5 months ago
Loop recreation for thread-level speculation
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.
Lin Gao 0002, Lian Li 0002, Jingling Xue, Tin-Fook
Added 03 Jun 2010
Updated 03 Jun 2010
Type Conference
Year 2007
Authors Lin Gao 0002, Lian Li 0002, Jingling Xue, Tin-Fook Ngai
Comments (0)