Abstract
Although the sequential execution speed of logic programs has been greatly improved by the concepts introduced in the Warren Abstract Machine (WAM), parallel execution represents the only way to increase this speed beyond the natural limits of sequential systems. However, most proposed parallel logic programming execution models lack the performance optimizations and storage efficiency of sequential systems. This paper presents a parallel abstract machine which is an extension of the WAM and is thus capable of supporting AND-Parallelism without giving up the optimizations present in sequential implementations. A suitable instruction set, which can be used as a target by a variety of logic programming languages, is also included. Special instructions are provided to support a generalized version of "Restricted AND-Parallelism" (RAP), a technique which reduces the overhead traditionally associated with the run-time management of variable binding conflicts to a series of simple run-time checks, which select one out of a series of compiled execution graphs.
Keywords
- Logic programming
- Parallel processing
- Warren abstract machine
- Restricted and-parallelism
- Prolog
This is a preview of subscription content, access via your institution.
Buying options
Preview
Unable to display preview. Download preview PDF.
References
J.H. Chang, A. M. Despain, and D. DeGroot. AND-parallelism of Logic Programs Based on Static Data Dependency Analysis. In Digest of Papers of COMPCON Spring '85, pages 218–225. 1985.
K. Clark and S. Gregory. PARLOG: A Parallel Logic Programming Language. Research Report DOC 83/5, Dept. of Computing, Imperial College of Science and Technology, May, 1983. University of London.
Clark, K.L. and G. McCabe. The Control Facilities of IC-Prolog. Expert Systems in the Micro Electronic Age. Edinburgh University Press, 1979.
J.S. Conery and D.F. Kibler. Parallel Interpretation of Logic Programs. In Proc. of the ACM Conference on Functional Programming Languages and Computer Architecture., pages 163–170. October, 1981.
J.S. Conery. The AND/OR Process Model for Parallel Interpretation of Logic Programs. PhD thesis, The University of California at Irvine, 1983. Technical Report 204.
Doug DeGroot. Restricted And-Parallelism. Int'l Conf. on Fifth Generation Computer Systems, November, 1984.
T. P. Dobry, A. M. Despain, and Y. N. Patt. Performance Studies of a Prolog Machine Architecture. In Proceedings of the 12 Int'l. Symp. on Computer Architecture, pages 180–191. IEEE Computer Society Press, 1985.
John Gabriel, Tim Lindholm, E. L. Lusk, and R. A. Overbeek. A Tutorial on the Warren Abstract Machine. Technical Report, Argonne National Laboratory, Argonne, Ill. 60439, 1985.
Manuel V. Hermenegildo. A Restricted AND-parallel Execution Model and Abstract Machine for Prolog Programs. Technical Report PP-104-85, Microelectronics and Computer Technology Corporation (MCC), Austin, TX 78759, 1985.
Manuel V. Hermenegildo and Roger I. Nasr. Efficient Implementation of Backtracking in AND-parallelism. In Proceedings of the 3rd. Int'l. Conf. on Logic Programming. Springer-Verlag, 1986.
Kowalski, R.A. Predicate Logic as a Programming Language. Proc. IFIPS 74, 1974.
R. A. Overbeek, J. Gabriel, T. Lindholm, and E. L. Lusk. Prolog on Multiprocessors. Technical Report, Argonne National Laboratory, Argonne, Ill. 60439, 1985.
Luis M. Pereira and Roger I. Nasr. Delta-Prolog: A Distributed Logic Programming Language. In Proceedings of the Intl. Conf. on 5th. Gen. Computer Systems. 1984. Japan.
Pereira, L.M., F. C. N. Pereira, and D. H. D. Warren. User's Guide to DECsystem-10 Prolog Dept. of Artificial Intelligence, Univ. of Edinburgh, 1978.
E. Y. Shapiro. A subset of Concurrent Prolog and its interpreter. Technical Report TR-003, ICOT, January, 1983. Tokyo.
E. Tick and D.H.D. Warren. Towards a Pipelined Prolog Processor. In 1984 International Symposium on Logic Programming, Atlantic City, pages 29–42. IEEE Computer Society Press, Silver Spring, MD, February, 1984.
David H. D. Warren. An Abstract Prolog Instruction Set. Technical Note 309, SRI International, AI Center, Computer Science and Technology Division, 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hermenegildo, M.V. (1986). An abstract machine for restricted AND-parallel execution of logic programs. 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_62
Download citation
DOI: https://doi.org/10.1007/3-540-16492-8_62
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