Skip to main content

Or-parallel Prolog with heuristic task distribution

  • Conference paper
  • First Online:
Logic Programming

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 592))

  • 139 Accesses

Abstract

An important determiner of the performance of or-patallel Prolog systems is the order in which the or-nodes in the computation tree are tried. Existing models of or-parallel Prolog select clauses for execution in much the same way as sequential systems do; clauses are tried chronologically (that is, in the order stated in the program) with the added advantage that some can be executed simultaneously on other processors. There is no attempt to examine clauses to assess their suitability in terms of finding answers or select those clauses that have low overhead in task migration for scheduling to other processors. Such systems do not exploit or-parallelism to the fullest and may sometimes have worse performance than sequential systems depending on the structure of the computation tree. Often in an or-parallel environment, it is more desirable to distribute nodes with larger work load to other processors leaving those nodes with lighter work load for local processing. This is so that scheduling costs, including task creation and task migration, are reduced and processors spend more time doing useful work. [8, 5] show that or-parallel Prolog systems are more suited to coarse-grain parallelism. We describe a method of gathering empirical data about clauses in the program. A heuristic function uses the data to deduce the relative “weights” of each clause and the system uses these “weights” to select the clauses for local processing or distributing to other processors.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ewing Lusk, David H. D. Warren, Seif Haridi, et al. The Aurora Or-Parallel Prolog System, New Generation Computing, 7, 243–271, 1990.

    Google Scholar 

  2. Khayri A. M. Ali and Roland Karlsson, The Muse Or-Parallel Prolog Model and its Performance, SICS Research Report, March 1990.

    Google Scholar 

  3. Khayri A. M. Ali and Roland Karlsson, The Muse Approach to Or-Parallel Prolog, SICS Research Report, 2 October 1990.

    Google Scholar 

  4. Wai-Keong Foong, Top-most Scheduling for Efficient Execution of Or-Parallelism in Prolog, Technical Report 90/22, Department of Computer Science, University of Melbourne, November 1990.

    Google Scholar 

  5. Wai-Keong Foong and John Shepherd, A Top-Most Scheduling Model for Execution of Or-Parallelism in Prolog and its Performance, Technical Report 91/7, Department of Computer Science, University of Melbourne, February 1991.

    Google Scholar 

  6. C. B. Suttner and W. Ertel, Automatic Acquisition of Search Guiding Heuristics, Proc. of 10th Int'l Conf. on Automated Deduction (CADE). Springer, 1990.

    Google Scholar 

  7. J. Schumann and R. Letz, PARTHEO: a High Performance Parallel Theorem Prover, Proc. of 10th Int'l Conf. on Automated Deduction (CADE). Springer, 1990.

    Google Scholar 

  8. M. Furuichi, K. Taki and N. Ichiyoshi, A Multi-Level Load Balancing Scheme for Or-Parallel Exhaustive Search Programs on the Multi-PSI, 2nd ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming, 50–59, Seattle, March 1990.

    Google Scholar 

  9. S. K. Debray, N. W. Lin and M. Hermenegildo, Task Granularity Analysis in Logic Program, ACM SIGPLAN Conference on Programming Language Design & Implementation, 1990.

    Google Scholar 

  10. E. Tick, Compile-Time Granularity Analysis for Parallel Logic Programming Language, 5th FGCS, Tokyo 1988.

    Google Scholar 

  11. Khayri A. M. Ali, Or-Parallel Execution of Prolog on BC-Machine, Proc. of the 5th Int. Conf. and Symposium on Logic Programming, 1531–1545, 1988.

    Google Scholar 

  12. R. Butler, T. Disz, E. Lusk, R. Olson, R. Overbeek and R. Stevens, Scheduling Or-Parallelism: an Argonne perspective, Proc. of the 5th Int. Conf. on Logic Programming, 1590–1605, MIT, 1988.

    Google Scholar 

  13. D. H. D. Warren, The SRI Model for Or-Parallel Execution of Prolog — Abstract Design and Implementation Issues, Proc of the IEEE 1987 Symposium on Logic Programming, San Francisco, 92–102, 1987

    Google Scholar 

  14. D. H. D. Warren, Or-Parallel Execution Models of Prolog, TAPSOFT 1987, Pisa, Italy, 243–259, Springer Verlag, 1987.

    Google Scholar 

  15. Wolfgang Bibel, Automated Theorem Proving, Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig, 1982.

    Google Scholar 

  16. D. H. D. Warren, An Abstract Prolog Instruction Set, Technical Note 309, SRI International, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

A. Voronkov

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Foong, W.K. (1992). Or-parallel Prolog with heuristic task distribution. In: Voronkov, A. (eds) Logic Programming. Lecture Notes in Computer Science, vol 592. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55460-2_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-55460-2_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55460-8

  • Online ISBN: 978-3-540-47083-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics