Abstract
This paper suggests a general method for compiling OR-parallelism into AND-parallelism. An interpreter for an AND/OR-parallel language written in the AND-parallel subset of the language induces a source-to-source transformation from the full language into the AND-parallel subset. This transformation can be identified and implemented as a special purpose compiler or applied using a general purpose partial evaluator.
The method is demonstrated to compile a variant of Concurrent Prolog into an AND-parallel subset of the language called Flat Concurrent Prolog (FCP). It is also shown applicable to the compilation of OR-parallel Prolog to FCP. The transformation identified is simple and efficient. The performance of the method is discussed in the context of programming examples. These compare well with conventionally compiled Prolog programs.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
C. Bloch, “Source-to-Source Transformations of Logic Programs”, Weizmann Institute Technical Report CS84-22, 1984.
K.L. Clark and S. Gregory, “PARLOG: Parallel programming in logic”, Research Report DOC 84/4, April, 1984.
M. Codish, “Compiling OR-Parallelism To AND-Parallelism”, Weizmann Institute of Science, Masters Thesis.
Y. Futamura, “Partial evaluation of computation process — an approach to a compiler-compiler”, Systems, Computers, Controls, Vol. 2, No. 5, 1971, pp. 721–728.
S. Gregory, “Design, Application and Implementation of a Parallel Logic Programming Language”, Phd. Thesis, Imperial College of Science and Technology, 1985.
N.D. Jones, P. Sestoft, H. Sondergaard, “A Experiment in Partial Evaluation: The Generation of a Compiler Generator”, Institute of Datalogy, University of Copenhagen, Denmark, 1985.
K. Kahn, “The Compilation of Prolog Programs Without the use of a Prolog Compiler”, UPMAIL, The Dept. of Computing Science, Uppsala University, 1984.
J. Levi, “A GHC Abstract Machine and Instruction Set”, 1985, Proceedings of 3rd ICLP, 1986.
C. Mierowsky, S. Taylor, E. Shapiro, J. Levy and M. Safra, “The design and implementation of Flat Concurrent Prolog”, Weizmann Institute Technical Report CS85-09, 1985.
T. Miyazaki, A. Takeuchi and T. Chikayama, “A sequential implementation of Concurrent Prolog based on the shallow binding scheme”, 1985 Symposium on Logic Programming, IEEE Computer Society, 1985, pp. 110–118.
Quintus Prolog Reference Manual, Quintus Computer Systems Inc., 1985.
S. Safra, “Partial Evaluation of Concurrent Prolog”, 1986, to appear as a Weizmann Institute Tech. Report.
S. Safra, S. Taylor, E. Shapiro, “Distributed Execution of Flat Concurrent Prolog”, Unpublished note, 1985.
V.A. Saraswat, “Problems with Concurrent Prolog”, Unpublished note.
E. Shapiro, “A subset of Concurrent Prolog and its interpreter”, ICOT Technical Report TR-003, February, 1983.
E. Shapiro, “Concurrent Prolog: A Progress Report”, 1985, preliminary version.
W. Silverman, A. Houri and M. Hirsch, “Logix user manual, release 1.1”, Weizmann Institute of Science, 1985.
A. Takeuchi, “How to solve it in Concurrent Prolog”, Unpublished note, 1983.
A. Takeuchi and K. Furukawa, “Partial evaluation of Prolog programs and its application to meta programming”, ICOT Technical Report TR-126, 1985.
K. Ueda, “Guarded Horn Clauses”, ICOT Technical Report TR-103, 1985.
K. Ueda, “Concurrent Prolog re-examined”, to appear as ICOT Technical Report.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Codish, M., Shapiro, E. (1986). Compiling OR-parallelism into AND-parallelism. In: Shapiro, E. (eds) Third International Conference on Logic Programming. ICLP 1986. Lecture Notes in Computer Science, vol 225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16492-8_82
Download citation
DOI: https://doi.org/10.1007/3-540-16492-8_82
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-16492-0
Online ISBN: 978-3-540-39831-8
eBook Packages: Springer Book Archive