Software Value Prediction for Speculative Parallel Threaded Computations
Xiaofeng Li, Zhao-Hui Du, Qingyu Zhao, Tin‐Fook Ngai · 2003
Despite recent advances in high performance microprocessor architecture and compilation technologies, many integer applications are still hard to speedup their performance. Value prediction and thread-level speculation are two promising techniques to discover and exploit more parallelism in applications. In this paper, we show that value prediction plays an important role in speculative parallel threaded computations. In particular, with good compilation supports, value prediction can be achieved in software without expensive hardware support. We describe this software value prediction technique and how the compiler helps to determine critical and predictable values using selective value profiling. Experiments were performed and showed that selective value profiling is effective and the software value prediction technique boosts the average performance of five speculative parallel threaded SPEC CPU2000 benchmarks by 14.3%, with the average speedup improved from 6.5 % to 21.7%. 1