Skip to main content
Log in

The muse approach to Or-parallel prolog

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

Abstract

Muse (Multi-sequential Prolog engines) is a simple and efficient approach to Or-parallel execution of Prolog programs. It is based on having several sequential Prolog engines, each with its local address space, and some shared memory space. It is currently implemented on a 7-processors machine with local/shared memory constructed at SICS, a 16-processors Sequent Symmetry, a 96-processors BBN Butterfly I, and a 45-processors BBN Butterfly II. The sequential SICStus Prolog system has been adapted to Or-parallel implementation. Extra overhead associated with this adaptation is very low in comparison with the other approaches. The speed-up factor is very close to the number of processors in the system for a large class of problems.

The goal of this paper is to present the Muse execution model, some of its implementation issues, a variant of Prolog suitable for multiprocessor implementations, and some experimental results obtained from two different multiprocessor systems.

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. John S. Conery, The And/Or Process Model for Parallel Interpretation of Logic Programs, PhD Thesis, The University of California at Irvine, Technical Report 204, (1983).

  2. Doug DeGroot, Restricted And-parallelism, InProc. of the Int'l. Conf. on Fifth Generation Computer Systems, pp. 471–478, Tokyo (November 1984).

  3. Manuel Hermenegildo, An Abstract Machine for Restricted And-parallel Execution of Logic Programs, In Ehud Shapiro, (ed.),Third Int'l. Conf. on Logic Programming, London, Springer-Verlag, pp. 25–39, (1986).

    Google Scholar 

  4. Yow-Jian Lin and Vipin Kumar, AND-Parallel Execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, pp. 1123–1141 (1988).

  5. Steven Gregory,Parallel Logic Programming in Parlog, Addison-Wesley (1987).

  6. Ehud Shapiro, (ed.),Concurrent Prolog-Collected Papers, MIT Press (1987).

  7. Kazunori Ueda, Guarded Horn Clauses, PhD Thesis, Graduate School, University of Tokyo (March 1986).

  8. Khayri A. M. Ali, Or-Parallel Execution of Prolog on BC-machine, InProc. of the Fifth Int'l Conf. and Symp. on Logic Programming, pp. 1531–1545 (1988).

  9. Uri Baron, Jacques Chassin de Kergommeaux, Max Hailperin, Michael Ratcliffe, Philippe Robert, Jean-Claude Syre, and Harald Westphal, The Parallel ECRC Prolog System PEPSys: An Overview and Evaluation Results, InProc. of the Int'l. Conf. on Fifth Generation Computer Systems, ICOT, pp. 841–850 (November 1988).

  10. Ralph Butler, Ewing Lusk, Robert Olson, and Ross Overbeek, ANLWAM—A Parallel Implementation of the Warren Abstract Machine, Internal Report, Argonne National Laboratory (1986).

  11. William Clocksin, Principles of the DelPhi Parallel Inference Machine,Computer Journal,30(5):386–392 (1987).

    Google Scholar 

  12. Bogumil Hausman, Andrzej Ciepielewski, and Seif Haridi, OR-parallel Prolog Made Efficient on Shared Memory Multiprocessors, InProc. of the Symp. on Logic Programming, pp. 69–79 (1987).

  13. Laxmikant V. Kalé, The Reduce-OR Process Model for Parallel Evaluation of Logic Programs, InProc. of the Fourth Int'l. Conf on Logic Programming, MIT Press, pp. 616–632 (May 1987).

  14. Yukio Sohma, Ken Satoh, Koichi Kumon, Hideo Masuzawa, and Akihiro Itashiki, A New Parallel Inference Mechanism Based on Sequential Processing, InProc. of Working Conf. on Fifth Generation Computer Architecture, Manchester (July 1985).

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

  16. Prasenjit Biswas, Shyh-Chang Su, and David Y. Y. Yun, A Scalable Abstract Machine Model to Support Limited-OR (LOR)/Restricted-AND parallelism (RAP) in Logic Programs, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, MIT Press, pp. 1160–1179 (August 1988).

  17. John S. Conery, Binding Environments for Parallel Logic Programs in Nonshared Memory Multiprocessors,Int'l. J. of Parallel Programming 17(2):125–152 (April 1988).

    Google Scholar 

  18. Laxmikant V. Kalé, B. Ramkumar, and W. Shu, A Memory Organization Independent Binding Environment for And-and Or-Parallel Execution of Logic Programs, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, pp. 1223–1240 (1988).

  19. Harald Westphal, Philippe Ropert, Jacques Chassin de Kergommeaux, and Jean-Claude Syre, The PEPSys Model: Combining Backtracking, And-and Or-parallelism, InProc. of the Symp. on Logic Programming, pp. 436–448 (1987).

  20. Seif Haridi and Per Brand, Andorra Prolog, an Integration of Prolog and Committed Choice Languages, InProc. of the Int'l. Conf. on Fifth Generation Computer Systems, ICOT, pp. 745–754 (November 1988).

  21. Seif Haridi and Sverker Janson, Kernel Andorra Prolog and its Computation Model, InProc. of the Seventh Int'l. Conf. on Logic Programming, MIT Press, pp. 31–46 (June 1990).

  22. Lee Naish, Parallelizing NU-Prolog, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, MIT Press, pp. 1546–1564 (August 1988).

  23. Zoltan Somogyi, Kotagiri Ramamohanarao, and Jayen Vaghani, A Stream AND-parallel Execution Algorithm with Backtracking, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, MIT Press, pp. 1143–1159 (August 1988).

  24. Rong Yang and Vitor Santos Costa, Andorra-I: A System Integrating Dependent Andparallelism and Or-parallelism, TR-90-03, University of Bristol (March 1990).

  25. Khayri A. M. Ali, A Method for Implementing Cut in Parallel Execution of Prolog, InProc. of the Symp. on Logic Programming, pp. 449–456 (1987).

  26. Bogumil Hausman, Andrzej Ciepielewski, and Alan Calderwood, Cut and Side-Effects in OR-parallel Prolog, InProc. of the Int'l. Conf. on Fifth Generation Computer Systems, ICOT, pp. 831–840 (November 1988).

  27. Bogumil Hausman, Pruning and Speculative Work in OR-parallel Prolog, PhD Thesis, Swedish Institute of Computer Science, Report No. TRITA-CS-9002 (March 1990).

  28. Laxmikant V. Kalé, David A. Padua, and David C. Sehr, Or-Parallel Execution of Prolog Programs with Side-Effects,The J. of Supercomputing 2(2):209–223 (October 1988).

    Google Scholar 

  29. Lynette Hirschman, William Hopkins, and Robert Smith, OR-parallel Speed-up in Natural Language Processing: A Case Study, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, MIT Press, pp. 263–279 (August 1988).

  30. Ewing Lusk, David H. D. Warren, Seif Haridi, et al., The Aurora Or-parallel Prolog System,New Generation Computing 7(2,3):243–271 (1990).

    Google Scholar 

  31. Ewing Lusk and Robert McFadden, Using Automated Reasoning Tools: A Study of the Semigroup F2B2,Semigroup Forum 36(1):75–88 (1987).

    Google Scholar 

  32. Khayri A. M. Ali, Or-parallel Execution of Prolog on a Multi-Sequential Machine,Int'l. J. of Parallel Programming 15(3):189–214 (June 1986).

    Google Scholar 

  33. Ralph Butler, Terry Disz, Ewing Lusk, Robert Olson, Ross Overbeek, and Rick Stevens, Scheduling OR-parallelism: an Argonne Perspective, InProc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, MIT Press, pp. 1590–1605 (August 1988).

  34. Armando Garcia and Richard F. Freitas,The ACE Multiprocessor Workstation, IBM Research Division, Thomas J. Watson Research Center, Hawthorne, New York (1988).

    Google Scholar 

  35. Mats Carlsson and Johan Widén,SICStus Prolog User's Manual, SICS Research Report R88007B (October 1988).

  36. Khayri A. M. Ali and Roland Karlsson, The Muse Or-Parallel Prolog Model and its Performance, InProc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 757–776 (October 1990).

  37. David H. D. Warren, An Abstract Prolog Instruction Set, Technical Note 290, SRI International (1983).

  38. Karen Appleby, Mats Carlsson, Seif Haridi, and Dan Sahin, Garbage Collection for Prolog Based on WAM,Communications of the ACM (June 1988).

  39. Alan Calderwood and Péter Szeredi, Scheduling Or-parallelism in Aurora—the Manchester scheduler, InProc. of the Sixth Int'l. Conf. on Logic Programming, MIT Press, pp. 419–435 (June 1989).

  40. Péter Szeredi, Performance Analysis of the Aurora Or-parallel Prolog System, InProc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 713–732 (March 1989).

  41. Jan Sundberg and Claes Svensson, Muse Trace: A Graphic Tracer for Or-parallel Prolog, In preparation as SICS Research Report.

  42. Dan Sahlin, The Mixtus Approach to Automatic Partial Evaluator of Full Prolog, InProc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 377–393 (October 1990).

  43. Michael Ratcliffe, A progress report on PEPSys, Presentation at the Gigalips Workshop, Manchester (July 1988).

  44. Shyam Mudambi, Personal communication (September 1990).

  45. Terrenc Disz and Ewing Lusk, A Graphical Tool for Observing the Behavior of Parallel Logic Programs, InProc. of the Symp. on Logic Programming, pp. 46–53 (1987).

  46. David H. D. Warren and Seif Haridi, Data Diffusion Machine—a Scalable Shared Virtual Memory Multiprocessor, InProc. of the Int'l. Conf. on Fifth Generation Computer Systems, ICOT, pp. 943–952 (November 1988).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ali, K.A.M., Karlsson, R. The muse approach to Or-parallel prolog. Int J Parallel Prog 19, 129–162 (1990). https://doi.org/10.1007/BF01407834

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key Words

Navigation