Software Value Prediction for Speculative Parallel Threaded Computations

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]  Mikko H. Lipasti,et al.  Value locality and load value prediction , 1996, ASPLOS VII.

[2]  Antonia Zhai,et al.  Compiler optimization of scalar value communication between speculative threads , 2002, ASPLOS X.

[3]  Antonio González,et al.  A quantitative assessment of thread-level speculation techniques , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[4]  James E. Smith,et al.  Modeling program predictability , 1998, ISCA.

[5]  Todd M. Austin,et al.  Compiler controlled value prediction using branch predictor based confidence , 2000, MICRO 33.

[6]  Glenn Reinman,et al.  Selective value prediction , 1999, ISCA.

[7]  Kai Wang,et al.  Highly accurate data value prediction using hybrid predictors , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[8]  Manoj Franklin,et al.  Using dataflow based context for accurate value prediction , 2001, Proceedings 2001 International Conference on Parallel Architectures and Compilation Techniques.

[9]  Antonio González,et al.  Value prediction for speculative multithreaded architectures , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[10]  Thomas M. Conte,et al.  Value speculation scheduling for high performance processors , 1998, ASPLOS VIII.

[11]  Avi Mendelson,et al.  Can program profiling support value prediction? , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[12]  José González,et al.  The potential of data value speculation to boost ILP , 1998, ICS '98.

[13]  Rajiv Gupta,et al.  Global context-based value prediction , 1999, Proceedings Fifth International Symposium on High-Performance Computer Architecture.