Skip to main content

A Simple and Efficient Implementation of Concurrent Local Tabling

  • Conference paper
Book cover Practical Aspects of Declarative Languages (PADL 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5937))

Included in the following conference series:

Abstract

Newer Prolog implementations commonly offer support for multithreading, and many also offer support for tabling. However, most implementations do not yet integrate tabling with multi-threading, and in particular do not support the sharing of a tabled computation among threads. In this paper we present algorithms to share completed tables among threads based on Concurrent Local SLG evaluation (SLG CL ). SLG CL is based on the Local scheduling strategy, and is designed to support applications in which threads concurrently share tabled evaluations. Version 3.2 of XSB implements SLG CL in the SLG CL WAM, which fully supports well-founded tabled negation, construction of residual programs, tabled constraints and answer subsumption. The implementation of SLG CL requires significant additions to a single tabling operation only. As a result, SLG CL should be implementable by any tabling systems that uses Local evaluation based on the SLG-WAM or Chat engine, and may also be applicable to those using linear tabling.

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. Alferes, J.J., Knorr, M., Swift, T.: Queries to hybrid MKNF knowledge bases through oracular tabling. In: International Semantic Web Conference (2009)

    Google Scholar 

  2. Berman, K., Schlipf, J., Franco, J.: Computing the well-founded semantics faster. In: International Conference on Logic Programming and Non-Monotonic Reasoning, pp. 113–125 (1995)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  4. Freire, J., Swift, T., Warren, D.S.: Beyond depth-first: Improving tabled logic programs through alternative scheduling strategies. Journal of Functional and Logic Programming 1998(3), 243–268 (1998)

    Google Scholar 

  5. Gomes, S., Alferes, J.J., Swift, T.: Implementing query answering for hybrid mknf knowledge bases. In: Practical Applications of Declarative Languages (2010)

    Google Scholar 

  6. Grosof, B.: SILK: Semantic rules take the next big step in power (2009), http://silk.semwebcentral.org

  7. Guo, H., Gupta, G.: A simple scheme for implementing tabled logic programming systems based on dynamic reordering of alternates. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 181–196. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. Guzmán, P., Carro, M., Hermenegildo, M.: A tabling implementation based on variables with multiple bindings. In: International Conference on Logic Programming, pp. 190–204 (2009)

    Google Scholar 

  9. Marques, R., Swift, T.: Concurrent and local evaluation of normal programs. In: Garcia de la Banda, M., Pontelli, E. (eds.) ICLP 2008. LNCS, vol. 5366, pp. 206–222. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Ramakrishnan, I.V., Rao, P., Sagonas, K., Swift, T., Warren, D.S.: Efficient access mechanisms for tabled logic programs. Journal of Logic Programming 38(1), 31–55 (1999)

    Article  MATH  Google Scholar 

  11. Rocha, R., Silva, F., Santos Costa, V.: On applying or-parallelism and tabling to logic programs. Theory and Practice of Logic Programming 5(1&2), 161–205 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  12. Sagonas, K., Swift, T.: An abstract machine for tabled execution of fixed-order stratified logic programs. ACM TOPLAS 20(3), 586–635 (1998)

    Article  Google Scholar 

  13. Somogyi, Z., Sagonas, K.: Tabling in Mercury: Design and implementation. In: Practical Applications of Declarative Languages, pp. 150–164 (2006)

    Google Scholar 

  14. Yang, G., Kifer, M., Zhao, C.: FLORA-2: A rule-based knowledge representation and inference infrastructure for the Semantic Web. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 671–688. Springer, Heidelberg (2003)

    Google Scholar 

  15. Zhou, N., Shen, Y., Yuan, L., You, J.: Implementation of a linear tabling mechanism. Journal of Functional and Logic Programming 2001(10) (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Marques, R., Swift, T., Cunha, J. (2010). A Simple and Efficient Implementation of Concurrent Local Tabling. In: Carro, M., Peña, R. (eds) Practical Aspects of Declarative Languages. PADL 2010. Lecture Notes in Computer Science, vol 5937. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11503-5_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11503-5_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11502-8

  • Online ISBN: 978-3-642-11503-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics