Abstract
YapOr is an or-parallel system that extends the Yap Prolog system to exploit implicit or-parallelism in Prolog programs. It is based on the environment copying model, as first implemented in Muse. The development of YapOr required solutions for some important issues, such as designing the data structures to support parallel processing, implementing incremental copying technique, developing a memory organization able to answer with efficiency to parallel processing and to incremental copying in particular, implementing the scheduler strategies, designing an interface between the scheduler and the engine, implementing the sharing work process, and implementing support to the cut builtin.
An initial evaluation of YapOr performance showed that it achieves very good performance on a large set of benchmark programs. Indeed, YapOr compares favorably with a mature parallel Prolog system such as Muse, both in terms of base speed and in terms of speedups.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
K. A. M. Ali and R. Karlsson. Full Prolog and Scheduling OR-Parallelism in Muse. International Journal of Parallel Programming, 19(6):445–475, Dec. 1990.
K. A. M. Ali and R. Karlsson. The Muse Approach to OR-Parallel Prolog. International Journal of Parallel Programming, 19(2):129–162, Apr. 1990.
K. A. M. Ali and R. Karlsson. Scheduling Speculative Work in Muse and Performance Results. International Journal of Parallel Programming, 21(6), Dec. 1992.
A. Beaumont, S. M. Raman, and P. Szeredi. Scheduling Or-Parallelism in Aurora with the Bristol Scheduler. In PARLE’91, LNCS. Springer-Verlag, Apr. 1991.
A. Calderwood and P. Szeredi. Scheduling Or-parallelism in Aurora — the Manchester Scheduler. In ICLP’89, pages 419–435, Lisbon, June 1989. The MIT Press.
M. Correia, F. Silva, and V. S. Costa. The SBA: Exploiting Orthogonality in AND-OR Parallel Systems. In ILPS’97, Port Jefferson, Oct. 1997. The MIT Press.
L. Damas, V. S. Costa, R. Reis, and R. Azevedo. YAP User’s Guide and Reference Manual. Centro de Inform tica da Universidade do Porto, 1989.
G. Gupta, K. A. M. Ali, M. Carlsson, and M. Hermenegildo. Parallel Execution of Prolog Programs: A Survey. Mar. 1996. Preliminary Version.
G. Gupta and B. Jayaraman. Analysis of Or-parallel Execution Models. ACM Transactions on Programming Languages, 15(4):659–680, Sep. 1993.
Roland Karlsson. A High Performance OR-parallel Prolog System. PhD thesis, The Royal Institute of Technology, Stockholm, Mar. 1992.
E. Lusk and et. all. The Aurora Or-parallel Prolog System. In FGCS’88, pages 819–830. ICOT, Tokyo, Nov. 1988.
R. Rocha, F. Silva, and V. S. Costa. On Applying Or-Parallelism to Tabled Evaluations. In TLP’97, Leuven, Belgium, July 1997.
R. Rocha, F. Silva, and V. S. Costa. Or-Parallelism within Tabling. In PADL’99, number 1551 in LNCS, pages 137–151. Springer-Verlag, 1998.
Fernando M. A. Silva. An Implementation of Or-Parallel Prolog on a Distributed Shared Memory Architecture. PhD thesis, Dept. of Computer Science, Univ. of Manchester, Sep. 1993.
R. Sindaha. The Dharma Scheduler — Definitive Scheduling in Aurora on Multiprocessor Architecture. Tech. Report, Dept. of Computer Science, Univ. of Bristol, Nov. 1991.
David H. D. Warren. An Abstract Prolog Instruction Set. Technical Note 309, SRI International, Sep. 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rocha, R., Silva, F., Costa, V.S. (1999). YapOr: An Or-Parallel Prolog System Based on Environment Copying. In: Barahona, P., Alferes, J.J. (eds) Progress in Artificial Intelligence. EPIA 1999. Lecture Notes in Computer Science(), vol 1695. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48159-1_13
Download citation
DOI: https://doi.org/10.1007/3-540-48159-1_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66548-9
Online ISBN: 978-3-540-48159-1
eBook Packages: Springer Book Archive