Skip to main content
Log in

Performance of an OR-parallel logic programming system

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

Abstract

The research focus in parallel logic programming is shifting rapidly from theoretical considerations and simulation on uniprocessors to implementation on true multiprocessors. This report presents performance figures from such a system,Boplog, for OR-parallel Horn clause logic programs on the BBN Butterfly Parallel Processor. Boplog is designed expressly for a large scale shared memory multiprocessor with an Omega interconnect. The target machine and underlying execution model are described briefly. The primary focus of the paper is on detailed statistics taken from the execution of benchmark programs to assess the performance of the model and clarify the impact of design and architecture decisions. They show that while speedup of this implementation on highly OR-parallel problems is very good, overall performance is poor. Despite its speed drawback, many aspcts of the implementation and its performance can prove useful in designing future systems for similar machines. A binding model that prohibits constant time access to bindings, and the inability of the machine to support an ambitious use of machine memory appear to be most damaging factors.

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. BBN Advanced Computers, Inc.,Tutorial for Programming in the C Language (1986).

  2. BBN Advanced Computers Inc.,The Uniform System Approach to Programming the Butterfly Parallel Processor (1986).

  3. BBN Laboratories, Inc.,Chrysalis Programmer's Manual, 2.3.1. Edition (1986).

  4. Bruce Moxon,The Butterfly RAM File System, BBN (1986).

  5. Peter Tinker,Managing Large Address Spaces Effectively on the Butterfly, Technical Report UUCS-87-012, Computer Science Department, University of Utah (April 1987).

  6. Peter A. Tinker,The Design and Implementation of an OR-Parallel Logic Programming System, PhD thesis, University of Utah, Salt Lake City, Utah (August 1987).

    Google Scholar 

  7. Terry Disz, Ewing Lusk and Ross Overbeek, Experiments with OR-parallel Logic Programming, InProceedings of the Fourth International Conference on Logic Programming, pp. 576–600. MIT Press, Melbourne, Australia (May 1987).

    Google Scholar 

  8. R. P. Gabriel and J. McCarthy, Queue-based Multiprocessing Lisp, InACM Symposium of Lisp and Functional Programming, ACM pp. 25–43, Austin, Texas (August, 1984).

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

    Google Scholar 

  10. Brian W. Kernighan and Dennis M. Ritchie,The C Programming Language. Prentice-Hall Software Series, prentice-Hall (1978).

  11. A. M. Ali Khayri, OR-Parallel Execution of Prolog on a Multi-sequential Machine,International Journal of Parallel Programming,15(3):189–214 (June 1987).

    Google Scholar 

  12. John S. Conery,Closed Environments: Partitioned Memory Representation for Parallel Logic Programs, Technical Report CIS-TR-86-02, Department of Computer and Information Science, University of Oregon (February 1986).

  13. Peter Bogwardt, Parallel Prolog Using Stack Segments on Shared-memory Multiprocessors, InProceedings of the Symposium on Logic Programming, IEEE, pp. 2–11 (November 1984).

  14. Andrzej Ciepielewski and Seif Haridi, A Formal Model for OR-parallel Execution of Logic Programs, InProceedings of IFIP-83 (1983).

  15. J. S. Conery,The AND/OR Process Model for Parallel Interpretation of Logic Programs, PhD thesis, University of California, Irvine (1983).

    Google Scholar 

  16. Bogumil Hausmann, Andrzej Ciepielewski, and Seif Haridi,OR-parallel Prolog Made Efficient on Shared Memory Multiprocessors, Technical Report, Swedish Institute of Computer Science (1987).

  17. Kouichi Kumon, Kideo Masuzawa, Akihiro Itashiki, Ken Satoh, and Yukio Soma, Kabuwake: A New Parallel Inference Method and Its Evaluation, InProceedings of the CompCon, IEEE, pp. 168–172 (1986).

  18. Gary Lindstrom and Prakash Panangaden, Stream-based Execution of Logic Programs, InProc. 1984 Int'l. Symp. on Logic Programming, pp. 168–176 (February 1984).

  19. David H. D. Warren, The SRI Model for Or-parallel Execution of Prolog—Abstract Design and Implementation Issues, InProceedings of the Symposium on Logic Programming, pp. 92–102, Seattle, Washington (1987).

  20. Jim Crammon, A Comparative Study of Unification Algorithms for OR-parallel Execution of Logic Languages, InProceedings of the International Conference on Parallel Processing, IEEE/ACM, pp. 131–138 (August 1985).

  21. Yukio Sohma, Ken Satoh, Kouichi, Kumon, Kideo Masuzawa, and Akihiro Itashiki, A New Parallel Inference Mechanism Based on Sequential Processing, In (ed.), J. V. Woods,Proceedings of the IFIP TC 10 Working Conference on Fifth Generation Computer Architectures, pp. 3–14, Elsevier Science Publishers, Manchester, United Kingdom (July 1985).

    Google Scholar 

  22. Peter Tinker and Gary Lindstrom, A Performance-oriented Design for OR-parallel Logic Programming, InProceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia (May 1987).

  23. Leon Sterling and Ehud Shapiro,The Art of Prolog, The MIT Press (1986).

  24. Fernando Pereira, Divid Warren, David Bowen, Lawrence Byrd, and Luis Pereira,C-Prolog User's Manual (January 1986).

  25. David H. D. Waren, Optimizing Tail Recursion in Prolog, InLogic Programming and its Applications, Chapter 4, pp. 77–90, Ablex, Norwood, New Jersey (1986).

  26. Richard Rashid, Threads of a New System,Unix Review,4(8):37–49 (August 1986).

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was carried out at the University of Utah, Salt Lake City, Utah. It was supported by a University of Utah Graduate Research Fellowship, the National Science Foundation under Grant DCR-856000, and by an unrestricted gift from L. M. Ericsson Telefon AB, Stockholm, Sweden, Production of the document was supported by the Rockwell International Science Center.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Tinker, P.A. Performance of an OR-parallel logic programming system. Int J Parallel Prog 17, 59–92 (1988). https://doi.org/10.1007/BF01379323

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key words

Navigation