International Journal of Parallel Programming

, Volume 19, Issue 2, pp 129–162 | Cite as

The muse approach to Or-parallel prolog

  • Khayri A. M. Ali
  • Roland Karlsson
Article

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.

Key Words

Or-parallelism Prolog multiprocessors experimental results scheduling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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).Google Scholar
  2. 2.
    Doug DeGroot, Restricted And-parallelism, InProc. of the Int'l. Conf. on Fifth Generation Computer Systems, pp. 471–478, Tokyo (November 1984).Google Scholar
  3. 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. 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).Google Scholar
  5. 5.
    Steven Gregory,Parallel Logic Programming in Parlog, Addison-Wesley (1987).Google Scholar
  6. 6.
    Ehud Shapiro, (ed.),Concurrent Prolog-Collected Papers, MIT Press (1987).Google Scholar
  7. 7.
    Kazunori Ueda, Guarded Horn Clauses, PhD Thesis, Graduate School, University of Tokyo (March 1986).Google Scholar
  8. 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).Google Scholar
  9. 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).Google Scholar
  10. 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).Google Scholar
  11. 11.
    William Clocksin, Principles of the DelPhi Parallel Inference Machine,Computer Journal,30(5):386–392 (1987).Google Scholar
  12. 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).Google Scholar
  13. 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).Google Scholar
  14. 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).Google Scholar
  15. 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).Google Scholar
  16. 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).Google Scholar
  17. 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. 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).Google Scholar
  19. 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).Google Scholar
  20. 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).Google Scholar
  21. 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).Google Scholar
  22. 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).Google Scholar
  23. 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).Google Scholar
  24. 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).Google Scholar
  25. 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).Google Scholar
  26. 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).Google Scholar
  27. 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).Google Scholar
  28. 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. 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).Google Scholar
  30. 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. 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. 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. 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).Google Scholar
  34. 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. 35.
    Mats Carlsson and Johan Widén,SICStus Prolog User's Manual, SICS Research Report R88007B (October 1988).Google Scholar
  36. 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).Google Scholar
  37. 37.
    David H. D. Warren, An Abstract Prolog Instruction Set, Technical Note 290, SRI International (1983).Google Scholar
  38. 38.
    Karen Appleby, Mats Carlsson, Seif Haridi, and Dan Sahin, Garbage Collection for Prolog Based on WAM,Communications of the ACM (June 1988).Google Scholar
  39. 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).Google Scholar
  40. 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).Google Scholar
  41. 41.
    Jan Sundberg and Claes Svensson, Muse Trace: A Graphic Tracer for Or-parallel Prolog, In preparation as SICS Research Report.Google Scholar
  42. 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).Google Scholar
  43. 43.
    Michael Ratcliffe, A progress report on PEPSys, Presentation at the Gigalips Workshop, Manchester (July 1988).Google Scholar
  44. 44.
    Shyam Mudambi, Personal communication (September 1990).Google Scholar
  45. 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).Google Scholar
  46. 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).Google Scholar

Copyright information

© Plenum Publishing Corporation 1990

Authors and Affiliations

  • Khayri A. M. Ali
    • 1
  • Roland Karlsson
    • 1
  1. 1.Swedish Institute of Computer ScienceSICSKistaSweden

Personalised recommendations