Skip to main content
Log in

Scheduling in or-parallel Prolog systems: Survey and open problems

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

Abstract

Implementation of or-parallel Prolog systems offers a number of interesting scheduling problems. The main issues are the interaction between memory models and scheduling, ordering of multiple solutions, and scheduling of speculative work. The problems occur partly because of the design choices (e.g. the choice of a memory model), and partly because of the desire to maintain observational equivalence between parallel and sequential implementations of Prolog, while achieving high efficiency. In the first part of this paper a common framework for discussing scheduling in or-parallel systems is introduced, and also a collection of issues that must be addressed in such systems is presented. In the second part of the paper we survey a number of solutions to these problems comparing their efficiency whenever possible. We close the survey with a short discussion of open problems.

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. Leon Sterling and Ehud Shapiro,The Art of Prolog Programming, The MIT Press (1987).

  2. Prasenjit Biswas and Andrzej Ciepielewski, (eds.),Execution Models and Parallel Implementations of Prolog (to appear).

  3. Ehud Shapiro, (ed.),Concurrent Prolog—Collected Papers, MIT Press (1987).

  4. David Sehr, Personal communication (1991).

  5. Raj Vaswani and John Zahorjan, The Implications of Cache Affinity on Processor Scheduling for Multiprogrammed Shared Memory Multiprocessors,Proc. of the 13th ACM Symp. on Operating System Principles, ACM Press (1991).

  6. Gopal Gupta and Bharat Jayaraman, On Criteria for Or-Parallel Execution of Logic Programs,Proc. of the Nor. Am. Conf. on Logic Programming, MIT Press, pp. 737–756 (October 1990).

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

  8. V. Nageshwara Rao and V. Kumar, Parallel Depth-First Search, Part I and II,IJPP,16(6):479–519 (1987).

    Google Scholar 

  9. E. Lusket al., The Aurora Or-Parallel Prolog System,New Generation Computing,7(2, 3):109–126 (1990).

    Google Scholar 

  10. David. S. Warren, Efficient PROLOG Memory Management for Flexible Control Strategies,The Symposium on Logic Programming, Atlantic City, IEEE (1984).

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

  12. Yukio Sohma, Ken Satoh, Koichi Kumon, Hideo Masuzawa, and Akihiro Itashiki, A New Parallel Inference Mechanism Based on Sequential Processing,Proc. of a Working Conf. on Fifth Generation Computer Architectures, IFIP (1985).

  13. J. Briat, M. Favre, C. Geyer, and J. Chassine, Scheduling of Or-Parallel Prolog on a Scalable, Reconfigurable, Distributed-Memory Multiprocessor,Proc. of Parallel Architectures and Languages Europe, ESPRIT (1991).

  14. Khayri Ali and Roland Karlsson, The Muse Or-Parallel Prolog Model and its Performance,The North American Conference on Logic Programming, MIT Press, pp. 757–776 (October 1990).

  15. Laxmikant, V. Kale, B. Ramkumar, and W. Shu, A Memory Organization Independent Binding Environment for AND/OR Parallel Execution of Logic Programs,Proc. of the Fifth Int'l. Conf. on Logic Programming, MIT Press, pp. 1223–1240 (August 1988).

  16. John S. Conery, Binding Environments in Parallel Logic Programs in Non-Shared Memory Multiprocessors,The Symposium on Logic Programming, San Francisco, California, IEEE (1987).

  17. Harald Westphal, Philippe Robert, Jacques Chassin, and Jean-Claude Syre, The PEPSys Model: Combining Backtracking, And- and Or-Parallelism,The Symposium on Logic Programming, San Francisco, California, IEEE (1987).

  18. Peter Borgwart, Parallel Prolog Using Stack Segments on Shared-Memory Multiprocessors,The Symposium on Logic Programming, Atlantic City, IEEE (1984).

  19. Bogumil Hausman, Andrzej Ciepielewski, and Alan Calderwood, Cut and Side-Effects in Or-Parallel Prolog,Int'l. Conf. on Fifth Generation Computer Systems, ICOT (1988).

  20. Péter Szeredi, Using Dynamic Predicates in an Or-Parallel Prolog System,Proc. of the Int'l. Conf. on Logic Programming, MIT Press (May 1991).

  21. H. Alshawi and D. B. Moran, The Delphi Model and Some Preliminary Experiments,Proc. of the Fifth Int'l. Conf. and Symp. on Logic Programming, The MIT Press (1988).

  22. Balkrishna Ramkumar and Laxmikant V. Kale, Compiled Execution of Reduce-Or Process Model on Multiprocessors,Proc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 313–331 (October 1989).

  23. Vikram A. Saletore, B. Ramkumar, and Laxmikant V. Kale, Consistent First Solution Speedups in Or-Parallel Execution of Logic Programs, Technical Report UILA-ENG-90-1725, University of Illinois at Urbana-Champaing (April 1990).

  24. Laxmikant V. Kale, The REDUCE-OR Process Model,Proc. of the Fourth Int'l. Conf. on Logic Programming, MIT Press, pp. 616–632 (May 1987).

  25. Jacques de Kergommeaux Chassin and Philipp Robert, An Abstract Machine to Implement Parallel Prolog,Journal of Logic Programming,8:249–265 (1990).

    Google Scholar 

  26. Laxmikant V. Kale, The Chare Kernel Parallel Language and System,Int'l. Conf. in Parallel Processing, IEEE, VolumeII, pp. 17–25 (August 1990).

    Google Scholar 

  27. Zheng Lin, Load Balancing for a Distributed Memory Implementation of Logic Programming in Parallel, Technical Report, University of Maryland, VS-TR-2674 (1991).

  28. Alan Calderwood and Péter Szeredi, Scheduling Or-Parallelism in Aurora—the Manchester Scheduler,Proc. of the Sixth Int'l. Conf. on Logic Programming, MIT Press (June 1989).

  29. Khayri Ali and Roland Karlsson, Full Prolog and Scheduling Or-Parallelism in Muse,IJPP,19(6):445–475 (1990).

    Google Scholar 

  30. Athony Beaumont, S. Muthu Raman, and Péter Szeredi, Flexible Scheduling of Or-Parallelism in Aurora: The Bristol Scheduler,Proc. of Parallel Architectures and Languages Europe, ESPRIT (June 1991).

  31. Ralph Butler, Terry Disz, Ewing Lusk, Robert Olson, Ross Overbeek, and Rick Stevens, Scheduling Or-Parallelism: An Argonne Perspective,Proc. of the Fifth Int'l. Conf. on Logic Programming, MIT Press, pp. 1590–1605 (August 1988).

  32. Péter Szeredi, Analysis of the Aurora Or-Parallel Prolog System,Proc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 713–734 (October 1989).

  33. Vikram A. Saletore and Laxmikant V. Kale, Obtaining First Solution Faster in AND-OR Parallel Execution of Logic Programs,Proc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 390–406 (October 1989).

  34. Mats Carlsson and Johan Widen, SICStus Prolog User's Manual, Technical Report, SICS R88007 (1988).

  35. Péter Szeredi, Rong Yang, and Mats Carlsson, Interfacing Engines and Schedulers in Or-Parallel Prolog,Proc. of Parallel Architectures and Languages Europe, ESPRIT (June 1991).

  36. Khayri Ali, Roland Karlsson, and Shyam Mudambi, Performance of Muse on Switch-Based Multiprocessor Machines, Submitted to theNew Generation Computer Journal (1991).

  37. Shyam Mudambi, Performance of Aurora on a Switch Based Multiprocessor,Proc. of the No. Am. Conf. on Logic Programming, MIT Press, pp. 332–349 (October 1989).

  38. Laxmikant V. Kale, David S. Padua, and David S. Sehr, Or-Parallel Execution of Logic Programs with Side-Effects,Journal of Supercomputing, Vol. 2, No. 2 (1988).

  39. Doug DeGroot, Restricted And-Parallelism and Side-Effects,IEEE Symposium on Logic Programming, IEEE Computer Society, pp. 80–89 (1987).

  40. K. Muthukumar and M. Hermenegildo, Complete and Efficient Methods for Supporting Side-Effects in Independent/Restricted And-Parallelism,Proc. of the No. Am. Conf. on Logic Programming, MIT Press (1989).

  41. David. C. Sehr, Or-Parallel Execution of Prolog with Side-Effects, Technical Report, University of Illinois at Urbana-Champaign (1988). CSRD Rpt. No. 822.

  42. Bogumil Hausman, Pruning and Speculative Work in Or-Parallel Prolog, PhD Thesis, The Royal Institute of Technology and SICS (1990).

  43. Per Brand, Wavefront Scheduling, Internal Report, Gigalips Project (1988).

  44. Surapong Auwatanamongol, Andrzej Ciepielewski, and Prasenjit Biswas, Cut and Side-Effects in Data-Driven Execution of Prolog, submitted for publication in theNew Generation Computer Systems Journal (1990).

  45. Khayri Ali, A Method for Implementing Cut in Parallel Execution of Prolog,Symposium on Logic Programming, IEEE, pp. 449–456 (October 1987).

  46. Bogumil Hausman, Handling Speculative Work in Or-Parallel Prolog: Evaluation Results,Proc. of the NACLP, Austin (1990).

  47. Vikram A. Saletore and Laxmikant V. Kale, Consistent Linear Speedups to a First Solution in Parallel State-Space Search,Proc. of the Eight National Conf. on AI, AAAI Press/MIT Press, pp. 227–233 (1990).

  48. Vikram A. Saletore, Machine Independent Parallel Execution of Speculative Computations, PhD Thesis, University of Illinois at Urbana-Champaign (1991).

  49. Feliks Kluzniak, Applications of Or-Paralel Prolog Systems (A Progress Report). Working paper, University of Bristol (January 1990).

  50. Anthony Beaumont, Scheduling Strategies and Speculative Work,Proc. of Parallel Execution of Logic Programs ICLP'91 Pre-Conference Workshop, Lecture Notes in Computer Science, Volume 569, Springer Verlag (June 1991).

  51. Raed Sindaha, Scheduling Speculative Work in the Aurora Or-Parallel Prolog System, Internal Report, Gigalips Project, University of Bristol (1990).

  52. Péter Szeredi, Solving Optimisation Problems in the Aurora Or-Parallel Prolog System,Proc. of Parallel Execution of Logic Programs ICLP'91 Pre-Conference Workshop, Lecture Notes in Computer Science, Volume 569, Springer Verlag (June 1991).

  53. James Boyle, Ralph Butler, Terrence Disz, Barnett Glickfeld, Ewing Lusk, Ross Overbeek, James Patterson, and Rick Stevens,Portable Programs for Parallel Processors, Holt, Rinehart, and Winston (1987).

  54. Andre Veron, Jiyang Xu, S. A. Delgado-Rannauro, and K. Schuerman, Virtual Memory Support for Or-Parallel Logic Programming Systems,Proc. of Parallel Architectures and Languages Europe, ESPRIT (June 1991).

  55. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy, Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism,Proc. of the 13th ACM Symp. on Operating System Principles, ACM Press, pp. 95–109 (1991).

  56. Brian D. Marsh and Michael Scott, First-Class User-Level Threads,Proc. of the 13th ACM Symp. on Operating System Principles, ACM Press, pp. 110–121 (1991).

  57. Richard P. Draves, Brian N. Bershad, Richard R. Rashid, and Randal W. Dean, Using Continuations to Implement Thread Management and Communication in Operating Systems,Proc. of the 13th ACM Symp. on Operating System Principles, ACM Press, pp. 122–136 (1991).

  58. Patric van Hentenryck, Constraints Satisfaction in Logic Programming, PhD Thesis, The MIT Press (1987). Revision of author's thesis at University of Namur (1987).

  59. Patric van Hentenryck, Parallel Constraint Satisfaction in Logic Programming: Preliminary Results on Chip within PEPSYs,Proc. of the Sixth Int'l. Conf. on Logic Programming, MIT Press (June 1989).

  60. Victor S. Costa, David.H.D. Warren, and Rong Yang, The Andorra-I Preprocessor Supporting Full Prolog on the Basic Andorra Model,Int'l. Conf. on Logic Programming, The MIT Press (1991).

  61. Victor S. Costa, David.H.D. Warren, and Rong Yang, The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model,Int'l. Conf. on Logic Programming, The MIT Press (1991).

  62. Seif Haridi and Sverker Jansson, Kernel Andorra Prolog and its Computational Model,Int'l. Conf. on Logic Programming, The MIT Press (1990).

  63. Gopal Gupta, Victor Santos Costa, Rong Yang, and Manuel Hermenegildo, Integrating Dependent And- Independent And- and Or-Parallelism,Proc. of the Symp. on Logic Programming, MIT Press, pp. 152–166 (1991).

  64. Gopal Gupta and Manuel Hermenegildo, ACE: And/Or-Parallel Copying-based Execution of Logic Programs, Technical Report TR-91-25, University of Bristol (October 1991). To be published in FGCS'92.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Current association: Carlstedt Elektronik AB

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ciepielewski, A. Scheduling in or-parallel Prolog systems: Survey and open problems. Int J Parallel Prog 20, 421–451 (1991). https://doi.org/10.1007/BF01547894

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key Words

Navigation