An Adaptive Scheme for Dynamic Parallelization
In this paper, we present an adaptive dynamic parallelization scheme which integrates the inspector/executor scheme and the speculation scheme to enhance the capability of a parallelizing compiler and reduce the overhead of dynamic parallelization. Under our scheme, a parallelizing compiler can adaptively apply the inspector/executor scheme or the speculation scheme to a candidate loop that cannot be parallelized statically. We also introduce several techniques which enable dynamic parallelization of certain programs, including SPICE, TRACK and DYFESM in the Perfect Benchmark suite. The experimental results show that our adaptive scheme and techniques are quite effective.
KeywordsAdaptive Scheme Speculative Execution Automatic Parallelization Original Loop Dynamic Parallelization
Unable to display preview. Download preview PDF.
- 2.Derek Bruening, Srikrishna Devabhaktuni, and Saman Amarasinghe. Softspec: Software-based Speculative Parallelism. 3rd ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO-3), December 10, 2000, Monterey, California.Google Scholar
- 3.D. K. Chen, J. Torrellas, and P. C. Yew. An Efficient Algorithm for the Run-Time Parallelization of Do-Across Loops. In Supercomputing’ 94, pp518–527, November 1994.Google Scholar
- 4.Manish Gupta and Rahul Nim. Techniques for Speculative Run-Time Parallelization of Loops. Proceedings of SC’98: High Performance Networking and Computing Conference, November 1998.Google Scholar
- 5.M. Gupta, S. Mukhopadhyay, N. Sinha. Automatic Parallelization of Recursive Procedures. Proceedings of International Conference on Parallel Architectures and Compilation Techniques (PACT), October 1999.Google Scholar
- 6.Hwansoo Han and Chau-Wen Tseng. A Comparison of Parallelization Techniques for Irregular Reductions. 15th International Conference on Parallel and Distributed Computing(IPDPS’01), San Francisco, CA, April 2001.Google Scholar
- 7.S. Midkiff and D. Padua. Compiler algorithms for synchronization. IEEE Trans. on Computers, C-36(12), December 1987.Google Scholar
- 10.J. Saltz, R. Mirchandaney, and K. Crowley. Run-time parallelization and scheduling of loops. IEEE Trans. Comput., 40(5), May 1991.Google Scholar
- 11.Michael J. Voss and Rudolf Eigenmann. High-Level Adaptive Program Optimization with ADAPT. In Proc. of PPOPP’01, Symposium on Principles and Practice of Parallel Programming, 2001.Google Scholar
- 12.Hao Yu and L. Rauchwerger. Adaptive Reduction Parallelization. Proceedings of the ACM 14th International Conference on Supercomputing, Santa Fe, NM, May 2000.Google Scholar
- 13.Hao Yu and L. Rauchwerger. Techniques for Reducing the Overhead of Run-time Parallelization. Proc. of the 9th Int. Conference on Compiler Construction, Berlin, Germany, March 2000.Google Scholar
- 14.Binyu Zang. Constructing the Parallelizing Compiler AFT. PhD thesis, Fudan University, P.R. China, April 1999.Google Scholar
- 15.C.-Q. Zhu and P.-C. Yew. A synchronization scheme and its application for large multiprocessor systems. In 4th Int. Conf. on Distributed Computing Systems, pp486–493, May 1984.Google Scholar