Skip to main content

YapOr: An Or-Parallel Prolog System Based on Environment Copying

  • Conference paper
  • First Online:
Progress in Artificial Intelligence (EPIA 1999)

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

Included in the following conference series:

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  MathSciNet  Google Scholar 

  2. 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.

    Article  MathSciNet  Google Scholar 

  3. K. A. M. Ali and R. Karlsson. Scheduling Speculative Work in Muse and Performance Results. International Journal of Parallel Programming, 21(6), Dec. 1992.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. G. Gupta, K. A. M. Ali, M. Carlsson, and M. Hermenegildo. Parallel Execution of Prolog Programs: A Survey. Mar. 1996. Preliminary Version.

    Google Scholar 

  9. G. Gupta and B. Jayaraman. Analysis of Or-parallel Execution Models. ACM Transactions on Programming Languages, 15(4):659–680, Sep. 1993.

    Article  Google Scholar 

  10. Roland Karlsson. A High Performance OR-parallel Prolog System. PhD thesis, The Royal Institute of Technology, Stockholm, Mar. 1992.

    Google Scholar 

  11. E. Lusk and et. all. The Aurora Or-parallel Prolog System. In FGCS’88, pages 819–830. ICOT, Tokyo, Nov. 1988.

    Google Scholar 

  12. R. Rocha, F. Silva, and V. S. Costa. On Applying Or-Parallelism to Tabled Evaluations. In TLP’97, Leuven, Belgium, July 1997.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. R. Sindaha. The Dharma Scheduler — Definitive Scheduling in Aurora on Multiprocessor Architecture. Tech. Report, Dept. of Computer Science, Univ. of Bristol, Nov. 1991.

    Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics