Dynamically Spawning Speculative Threads to Improve Speculative Path Execution.

Meirong Li,Yinliang Zhao,You Tao
DOI: https://doi.org/10.1007/978-3-319-11194-0_15
2014-01-01
Abstract:Branch misprediction, as one of scaling bottlenecks, has a significant effect on the performance of thread-level speculation. Due to ambiguous control and data dependences, it is still hard for the compiler to extract more efficient threads from the hard-to-predict branches by means of either conservative single path-based thread selection or aggressive thread optimization. Thus, this paper proposes a novel dynamic speculative path scheme to dynamically determine the right speculative path at runtime. It relies on compiler to select and optimize all frequent subpaths greedily, and attempts to generate speculative threads on them using the modified FP-growth algorithm. Based on the path-based performance prediction, the best speculative path is always dynamically chosen to parallelize. We have examined our approach using ODLEN benchmarks. Compared to the single speculative path scheme, it can achieve comparable or better performance.
What problem does this paper attempt to address?