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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ewing Lusk, David H. D. Warren, Seif Haridi, et al. The Aurora Or-Parallel Prolog System, New Generation Computing, 7, 243–271, 1990.
Khayri A. M. Ali and Roland Karlsson, The Muse Or-Parallel Prolog Model and its Performance, SICS Research Report, March 1990.
Khayri A. M. Ali and Roland Karlsson, The Muse Approach to Or-Parallel Prolog, SICS Research Report, 2 October 1990.
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.
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.
C. B. Suttner and W. Ertel, Automatic Acquisition of Search Guiding Heuristics, Proc. of 10th Int'l Conf. on Automated Deduction (CADE). Springer, 1990.
J. Schumann and R. Letz, PARTHEO: a High Performance Parallel Theorem Prover, Proc. of 10th Int'l Conf. on Automated Deduction (CADE). Springer, 1990.
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.
S. K. Debray, N. W. Lin and M. Hermenegildo, Task Granularity Analysis in Logic Program, ACM SIGPLAN Conference on Programming Language Design & Implementation, 1990.
E. Tick, Compile-Time Granularity Analysis for Parallel Logic Programming Language, 5th FGCS, Tokyo 1988.
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.
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.
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
D. H. D. Warren, Or-Parallel Execution Models of Prolog, TAPSOFT 1987, Pisa, Italy, 243–259, Springer Verlag, 1987.
Wolfgang Bibel, Automated Theorem Proving, Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig, 1982.
D. H. D. Warren, An Abstract Prolog Instruction Set, Technical Note 309, SRI International, 1983.
Author information
Authors and Affiliations
Editor information
Rights 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