Skip to main content

On a Tabling Engine That Can Exploit Or-Parallelism

  • Conference paper
  • First Online:
Logic Programming (ICLP 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2237))

Included in the following conference series:

  • 219 Accesses

Abstract

Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing solutions to goals. Quite a few interesting applications of tabling have been developed in the last few years, andsev eral are by nature non-deterministic. This raises the question of whether parallel search techniques can be usedto improve the performance of tabled applications.

In this work we demonstrate that the mechanisms proposed to parallelize search in the context of SLD resolution naturally generalize to parallel tabledcomputations, and that resulting systems can achieve goodp erformance on multi-processors. To do so, we present the OPTYap parallel engine. In our system individual SLG engines communicate data through stack copying. Completion is detected through a novel parallel completion algorithm that builds upon the data structures proposed for or-parallelism. Scheduling is simplified by building on previous research on or-parallelism. We show initial performance results for our implementation. Our best result is for an actual application, model checking, where we obtain linear speedups.

Work partially supportedb y CLoP (CNPq), PLAG (FAPERJ) andb y Fundação para a Ciência e Tecnologia.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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. Ali and R. Karlsson. The Muse Approach to OR-Parallel Prolog. Journal of Parallel Programming, 19(2):129–162, 1990.

    Article  MathSciNet  Google Scholar 

  2. Je. Bonwick. The Slab Allocator: An Object-Caching Kernel Memory Allocator. In USENIX Summer 1994, pages 87–98, 1994.

    Google Scholar 

  3. W. Chen and D. S. Warren. Query Evaluation under the Well Founded Semantics. In Proceedings of PODS, pages 168–179, 1993.

    Google Scholar 

  4. W. Chen and D. S. Warren. Tabled Evaluation with Delaying for General Logic Programs. Journal of the ACM, 43(1):20–74, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  5. B. Demoen and K. Sagonas. CAT: the Copying Approach to Tabling. In Proceedings of PLILP, number 1490 in LNCS, pages 21–35. Springer-Verlag, 1998.

    Google Scholar 

  6. B. Demoen and K. Sagonas. CHAT: the Copy-HybridApproach to Tabling. In Proceedings of PADL, number 1551 in LNCS, pages 106–121. Springer-Verlag, 1999.

    Google Scholar 

  7. J. Freire, R. Hu, T. Swift, and D. S. Warren. Exploiting Parallelism in Tabled Evaluations. In Proceedings of PLILP, pages 115–132. Springer-Verlag, 1995.

    Google Scholar 

  8. J. Freire, T. Swift, and D. S. Warren. Beyond Depth-First: Improving Tabled Logic Programs through Alternative Scheduling Strategies. In Proceedings of PLILP, pages 243–258. Springer-Verlag, 1996.

    Google Scholar 

  9. Hai-Feng Guo and G. Gupta. A New Tabling Scheme with Dynamic Reordering of Alternatives. In Workshop on Parallelism and Implementation Technology for (Constraint) Logic Languages, 2000.

    Google Scholar 

  10. I. V. Ramakrishnan, P. Rao, K. Sagonas, T. Swift, and D. S. Warren. Efficient Tabling Mechanisms for Logic Programs. In Proceedings of ICLP, pages 687–711. The MIT Press, 1995.

    Google Scholar 

  11. R. Rocha. On Applying Or-Parallelism and Tabling to Logic Programs. PhD thesis, Computer Science Department, University of Porto, 2001.

    Google Scholar 

  12. R. Rocha, F. Silva, and V. Santos Costa. Or-Parallelism within Tabling. In Proceedings of PADL, number 1551 in LNCS, pages 137–151. Springer-Verlag, 1999.

    Google Scholar 

  13. R. Rocha, F. Silva, and V. Santos Costa. YapOr: an Or-Parallel Prolog System Basedon Environment Copying. In Proceedings of EPIA, number 1695 in LNAI, pages 178–192. Springer-Verlag, 1999.

    Google Scholar 

  14. R. Rocha, F. Silva, and V. Santos Costa. YapTab: A Tabling Engine Designedto Support Parallelism. In Proceedings of TAPD, pages 77–87, 2000.

    Google Scholar 

  15. K. Sagonas and T. Swift. An Abstract Machine for Tabled Execution of Fixed-Order Stratified Logic Programs. Journal of ACM Transactions on Programming Languages and Systems, 1998.

    Google Scholar 

  16. Vítor Santos Costa. Optimising Bytecode Emulation for Prolog. In Proceedings of PPDP, number 1702 in LNCS, pages 261–267. Springer-Verlag, 1999.

    Google Scholar 

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

    Google Scholar 

  18. Neng-Fa Zhou. Implementation of a Linear Tabling Mechanism. In Proceedings of PADL, number 1753 in LNCS, pages 109–123. Springer Verlag, 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rocha, R., Silva, F., Costa, V.S. (2001). On a Tabling Engine That Can Exploit Or-Parallelism. In: Codognet, P. (eds) Logic Programming. ICLP 2001. Lecture Notes in Computer Science, vol 2237. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45635-X_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-45635-X_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42935-7

  • Online ISBN: 978-3-540-45635-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics