A simple and efficient implementation of concurrent local tabling

Rui Marques, Terrance Swift, José Cunha

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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). SLGCL 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 SLGCLWAM, which fully supports well-founded tabled negation, construction of residual programs, tabled constraints and answer subsumption. The implementation of SLGCL requires significant additions to a single tabling operation only. As a result, SLGCL 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.

Original languageEnglish (US)
Title of host publicationPractical Aspects of Declarative Languages - 12th International Symposium, PADL 2010, Proceedings
Pages264-278
Number of pages15
DOIs
StatePublished - Mar 15 2010
Event12th International Symposium on Practical Aspects of Declarative Languages, PADL 2010 - Madrid, Spain
Duration: Jan 18 2010Jan 19 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5937 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other12th International Symposium on Practical Aspects of Declarative Languages, PADL 2010
CountrySpain
CityMadrid
Period1/18/101/19/10

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'A simple and efficient implementation of concurrent local tabling'. Together they form a unique fingerprint.

  • Cite this

    Marques, R., Swift, T., & Cunha, J. (2010). A simple and efficient implementation of concurrent local tabling. In Practical Aspects of Declarative Languages - 12th International Symposium, PADL 2010, Proceedings (pp. 264-278). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 5937 LNCS). https://doi.org/10.1007/978-3-642-11503-5_22