Abstract
Software value prediction (SVP) is an effective and powerful compilation technique helping to expose thread-level speculative parallelism. With the help of value analysis and profiling, the compiler identifies critical and predictable variable values and generates speculatively parallelized programs with appropriate value prediction and misprediction recovery code. In this paper, we examine this technique in detail, describe a complete and versatile SVP framework and its detailed implementation in a thread-level speculative parallelization compiler, and present our evaluation results with Spec2000Int benchmarks. Our results not only confirm quantitatively that value prediction is essential to thread-level speculative parallelism; they also show that the corresponding value prediction can be achieved efficiently and effectively by software. We also present evaluation results of the overhead associated with software value prediction and the importance of different value predictors in speculative parallel loops in Spec2000Int benchmarks.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Calder, B., Reinman, G., Tullsen, D.: Selective Value Prediction. In: International Symposium on Computer Architecture (1999)
Du, Z.-H., Lim, C.-C., Li, X.-F., Yang, C., Zhao, Q., Ngai, T.-F.: A Cost-Driven Compilation Framework for Speculative Parallelization of Sequential Programs. In: Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, Washington, D.C, June 9-11 (2004)
Fu, C., Jennings, M.D., Larin, S.Y., Conte, T.M.: Value Speculation Scheduling for High Performance Processors. In: 8th International Conference on Architectural Support for Programming Languages and Operating Systems (October 1998)
Fu, C., Jennings, M.D., Larin, S.Y., Conte, T.M.: Software-Only Value Speculation Scheduling. Technical Report, Dept. of Electrical and Computer Engineering, North Carolina State University, Raleigh, NC27695-7911 (June 1998)
Gabbay, F.: Speculative execution based on value prediction. Technical Report 1080, Department of Electrical Engineering, Technion-Israel Institute of Technology (1996)
Gonzalez, J., Gonzalez, A.: The Potential of Data Value Speculation to Boost ILP. In: International Conference on Supercomputing (1998)
Gabbay, F., Mendelson, A.: Can Program Profiling Support Value Prediction. In: International Symposium on Microarchitecture (1997)
Hu, S., Bhargava, R., John, L.K.: The role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism. In: The First Value-Prediction Workshop, San Diego, CA (June 7, 2003)
Li, X.-F., Du, Z.-H., Yang, C., Lim, C.-C., Ngai, T.-F.: Speculative Parallel Threading Architecture and Compilation. In: 4th Workshop on Compile and Runtime Techniques for Parallel Computing, Oslo, Norway (June 2005)
Li, X.-F., Du, Z.-H., Zhao, Q., Ngai, T.-F.: Software value prediction for speculative parallel threaded computations. In: The First Value-Prediction Workshop, San Diego, CA (June 7, 2003)
Lipasti, M., Wilkerson, C., Shen, J.: Value Locality and Load Value Prediction. In: International Conference on Architectural Support for Programming Languages and Operating Systems (1996)
Larson, E., Austin, T.: Compiler Controlled Value Prediction Using Branch Predictor Based Confidence. In: ACM/IEEE 33rd International Symposium on Microarchitecture (MICRO-33) (December 2000)
Marcuello, P., Gonzalez, A.: A Quantitative Assessment of Thread-Level Speculation Techniques. In: Proc. of the 1st. Int. Parallel and Distributed Processing Symposium (IPDPS 2000), Mexico, May 1-4 (2000)
Marcuello, P., Tubella, J., Gonzalez, A.: Value Prediction for Speculative Multithreaded Processors. In: International Symposium on Microarchitecture (1999)
Nakra, T., Gupta, R., Soffa, M.L.: Global Context-Based Value Prediction. In: International Symposium on High-Performance Computer Architecture (1999)
Open Research Compiler, Intel Co. Ltd., http://ipf-orc.sourceforge.net/
Steffan, J.G., Colohan, C.B., Zhai, A., Mowry, T.C.: A scalable approach to thread-level speculation. In: Proceedings of Intl Symp. On Computer Architecture, pp. 1–24 (2000)
Sazeides, Y., Smith, J.: The Predicatibility of Data Values. In: International Symposium on Microarchitecture (1997)
Sazeides, Y., Smith, J.: Modeling Program Predictability. In: International Symposium on Computer Architecture (1998)
Thomas, R., Franklin, M.: Using Dataflow Based Context for Accurate Value Prediction. In: Proc. International Conference on Parallel Architectures and Compilation Techniques, PACT (2001)
Wang, K., Franklin, M.: Highly Accurate Data Value Prediction using Hybrid Predictors. In: International Symposium on Microarchitecture (1997)
Zhai, A., Colohan, C.B., Steffan, J.G., Mowry, T.C.: Compiler Optimization of Scalar Value Communication Between Speculative Threads. In: The Tenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), San Jose, CA, USA, October 7-9 (2002)
Steffan, J.G., Colohan, C.B., Zhai, A., Mowry, C.: Improving Value Communication for Thread-Level Speculation. In: The Eighth International Symposium on High-Performance Computer Architecture (HPCA 2002), Boston, MA, USA, Febraury (2002)
Cintra, M., Torrellas, J.: Eliminating Squashes Through Learning Cross-Thread Violations in Speculative Parallelization for Multiprocessors. In: The Eighth International Symposium on High-Performance Computer Architecture (HPCA 2002), Boston, MA, USA (February 2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Li, XF., Yang, C., Du, ZH., Ngai, Tf. (2005). Exploiting Thread-Level Speculative Parallelism with Software Value Prediction. In: Srikanthan, T., Xue, J., Chang, CH. (eds) Advances in Computer Systems Architecture. ACSAC 2005. Lecture Notes in Computer Science, vol 3740. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572961_29
Download citation
DOI: https://doi.org/10.1007/11572961_29
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29643-0
Online ISBN: 978-3-540-32108-8
eBook Packages: Computer ScienceComputer Science (R0)