Skip to main content
Log in

OR-parallel execution of Prolog on a multi-sequential machine

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Based on extending the sequential execution model of Prolog to include parallel execution, we present a method for OR-parallel execution of Prolog on a multiprocessor system. The method reduces the overhead incurred by parallel processing. It allows many processing elements (PEs) to process simultaneously a common branch of a search tree, and each of these PEs creates its local environment and selects a subtree for processing without communication. The run-time overhead is small: simple and efficient operations for selecting the proper subtree. Communication is necessary only when some PEs have exhausted their search spaces and there are others still searching for solutions. The method is able to utilize most of the technology devised for sequential implementation of Prolog. It is optimized for an architecture that supports broadcast copying.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. S. Conery and D. F. Kibler, Parallel Interpretation of Logic Programs, inProc. of the ACM Conf. on Functional Programming Languages and Computer Architecture, pp. 163–170 (October 1981).

  2. H. Yasuhara and K. Nitadori, ORBIT: A Parallel Computing Model of Prolog,New Generation Computing 2:277–288 (1984).

    Google Scholar 

  3. Y. Sohma, K. Satoh, K. Kumon, H. Masuzawa, and A. Itashiki, A New Parallel Inference Mechanism Based on Sequential Processing,Proc. of Working Conf. Fifth Generation Computer Architecture, Manchester (July 1985).

  4. A. Ciepielewski and S. Haridi, A Formal Model for OR-Parallel execution of Logic Programs, inProc. Inform. Processing 83, pp. 299–305 (1983).

  5. P. Borgwardt, Parallel Prolog Using Stack Segments on Shared-Memory Muliprocessors, inProc. Intl. Symp. Logic Programming, pp. 2–11 (February 1984).

  6. G. Lindstrom, Or-Parallelism on Applicative Architectures, inProc. Second Intl. Logic Programming Conf., pp. 159–170 (July 1984).

  7. J. Crammond, A Comparative Study of Unification Algorithms for OR-Parallel Execution of Logic Programs,IEEE Trans. on Computers C-34(10):911–917 October 1985).

    Google Scholar 

  8. K. A. M. Ali, Pool Machine: A Multiprocessor Architecture for OR-Parallel Execution of Logic Programs, Rep. TRITA-CS-8603, The Royal Institute of Technology, Stockholm (October 1985).

  9. K. A. M. Ali, Architectures for OR-Parallel Execution of Prolog,SICS, Working Paper (July 1986).

  10. D. H. D. Warren, An Abstract Prolog Instruction Set, Technical Note 309, SRI International, Menlo Park, California (October 1983).

    Google Scholar 

  11. L. E. Fahlén, The BC-Machine Prototype, Architecture and Interconnection Network,SICS, Working Paper (July 1986).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ali, K.A.M. OR-parallel execution of Prolog on a multi-sequential machine. Int J Parallel Prog 15, 189–214 (1986). https://doi.org/10.1007/BF01414554

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01414554

Key Words

Navigation