Abstract
Parallel execution models for Prolog have generally focused on either AND or OR parallelism. In both cases the largest speedups come from recursive computations similar to procedural language loops. Parallel models to date, however, have neither treated this loop parallelism by a common implementation nor provided speedups comparable to automatic parallelizers for procedural languages. In this paper we present a framework for the use of loop transformations on Prolog programs. We show by critical path timing of several benchmarks that our transformations give a significant improvement over existing parallelization methods.
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, March 1986.
H. Ait-Kaci. The WAM: A (Real) Tutorial. Technical Report, Digital Equipment Corporation, Paris Research Laboratory, January 1990.
K. A. M. Ali. The Muse OR-Parallel Prolog Model and its Performance. In Proceedings of the 1990 North American Logic Programming Conference, pages 757–776, 1990.
U. Banerjee. Loop Transformations for Restructuring Compilers: the Foundations. Kluwer Academic Publishers, 1993.
J. Chang, A. M. Despain, and D. DeGroot. AND-Parallelism of Logic Programs Based on a Static Data Dependency Analysis. In Proceedings of COMPCON '85, 1985.
J. S. Conery and D. F. Kibler. AND Parallelism and Nondeterminism in Logic Programs. New Generation Computing, 3:43–70, 1985.
S. K. Debray. A Simple Code Improvement Scheme for Prolog. In Proceedings of the Sixth International Conference on Logic Programming, pages 17–32. MIT Press, 1989.
M. Hermenegildo. An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs. In Proceedings of the Third International Conference on Logic Programming, pages 25–39. Springer-Verlag, 1986.
W. L. Harrison, III. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical report, University of Illinois at Urbana-Champaign, March, 1986. CSRD Report No. 565.
L. V. Kale, D. A. Padua, and D. C. Sehr. OR Parallel Execution of Prolog Programs with Side Effects. The Journal of Supercomputing, 2(2):209–223, October 1988.
L. V. Kale. The REDUCE OR Process Model for Parallel Execution of Logic Programs. Journal of Logic Programming, Vol. 11, Number 1, July 1991, pp. 55–84.
L. V. Kale, and V. Saletore. Parallel State-space Search for a First Solution. International Journal of Parallel Programming, Vol. 19, 1990, pp. 251–293.
D. Padua and M. Wolfe. Advanced Compiler Optimizations for Supercomputers. Communications of the ACM, pages 1184–1201, December 1986.
D. C. Sehr. Automatic Parallelization of Prolog Programs. PhD thesis, University of Illinois at Urbana-Champaign, October 1992. CSRD Report 1288.
D. C. Sehr and L. V. Kale. Estimating the Inherent Parallelism in Prolog Programs. In Proceedings of the International Conference on Fifth Generation Computer Systems 1992, pages 783–790, June 1992.
Y.-W. Tung and D. I. Moldovan. Detection of AND Parallelism in Logic Programs. In Proceedings of the 1986 International Conference on Parallel Processing, pages 984–991, August 1986.
D. H. D. Warren. The SRI Model for OR Parallel Execution of Prolog — Abstract Design and Implementation. In Proceedings of the 1987 Symposium on Logic Programming, pages 92–103. IEEE Computer Society Press, September 1987.
M. Wise. Prolog Multiprocessors. Prentice-Hall International Publishers, 1986.
M. J. Wolfe. Optimizing Supercompilers for Supercomputers. The MIT Press, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sehr, D.C., Kale, L.V., Padua, D.A. (1994). Loop transformations for Prolog programs. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1993. Lecture Notes in Computer Science, vol 768. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57659-2_22
Download citation
DOI: https://doi.org/10.1007/3-540-57659-2_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57659-4
Online ISBN: 978-3-540-48308-3
eBook Packages: Springer Book Archive