OpenPro: A Dynamic Profiling Tool Set for Exploring Thread-Level Speculation Parallelism
Yaobin Wang, Hong An, Bo Liang, Li Wang, Rui Guo · 2008
Thread-level speculative (TLS) execution can facilitate automatic parallelization of programs that exhibit complicated memory access patterns, which make complete compile-time dependence analysis either impossible or extremely complicated. The decision on where to speculate can make a large difference in the resulting performance. Up to now, we still lack of appropriate dynamic profiling tool used to find and effectively exploit TLS parallelism. In this paper, we proposed a criterion for selecting the region to be speculatively executed and introduce a dynamic profiling tool set "OpenPro" which can be used to explore TLS parallelism for various applications in depth. The OpenPro can be used to analyze the key factors on TLS parallelism, such as inter-thread data dependence, inter-thread control-flow misprediction and inter-thread load imbalance, and to show the potential speedup to evaluate whether a given application or parts of it are suitable for TLS technology. By profiling the SPEC CPU2000 integer benchmark suite, we found that the TLS technology is not suitable for the traditional desktop applications.