Efficient management of backtracking in AND-Parallelism
A backtracking algorithm for AND-Parallelism and its implementation at the Abstract Machine level are presented: first, a class of AND-Parallelism models based on goal independence is defined, and a generalized version of Restricted AND-Parallelism (RAP) introduced as characteristic of this class. A simple and efficient backtracking algorithm for RAP is then discussed. An implementation scheme is presented for this algorithm which offers minimum overhead, while retaining the performance and storage economy of sequential implementations and taking advantage of goal independence to avoid unnecessary backtracking ("restricted intelligent backtracking"). Finally, the implementation of backtracking in sequential and AND-Parallel systems is explained through a number of examples.
KeywordsLogic programming Parallel processing Intelligent backtracking And-parallelism Prolog
Unable to display preview. Download preview PDF.
- 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.Google Scholar
- 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.Google Scholar
- Clark, K.L. and G. McCabe. The Control Facilities of IC-Prolog. Expert Systems in the Micro Electronic Age. Edinburgh University Press, 1979.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- Doug DeGroot. Restricted And-Parallelism. Int'l Conf. on Fifth Generation Computer Systems, November, 1984.Google Scholar
- 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.Google Scholar
- Manuel V. Hermenegildo. An Abstract Machine for Restricted AND-parallel Execution of Logic Programs. In Proceedings of the 3rd. Int'l. Conf. on Logic Programming. Springer-Verlag, 1986.Google Scholar
- Kowalski, R.A. Predicate Logic as a Programming Language. Proc. IFIPS 74, 1974.Google Scholar
- 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.Google Scholar
- E. Y. Shapiro. A subset of Concurrent Prolog and its interpreter. Technical Report TR-003, ICOT, January, 1983. Tokyo.Google Scholar
- David H. D. Warren. An Abstract Prolog Instruction Set. Technical Note 309, SRI International, AI Center, Computer Science and Technology Division, 1983.Google Scholar