Concurrent Table Accesses in Parallel Tabled Logic Programs

Ricardo Rocha, Fernando Silva and VĂ­tor Santos Costa

August/September 2004


Tabling is an implementation technique that improves the declarativeness and expressiveness of Prolog by reusing answers to subgoals. The declarative nature of tabled logic programming suggests that it might be amenable to parallel execution. On the other hand, the complexity of the tabling mechanism, and the existence of a shared resource, the table, may suggest that parallelism might be limited and never scale for real applications. In this work, we propose three alternative locking schemes to deal with concurrent table accesses, and we study their impact on the OPTYap parallel tabling system using a set of tabled programs.


  author =    {R. Rocha and F. Silva and V. Santos Costa},
  title =     {{Concurrent Table Accesses in Parallel Tabled Logic Programs}},
  booktitle = {Proceedings of the 10th International Euro-Par Conference (Euro-Par 2004)},
  pages =     {662--670},
  number =    {3149},
  series =    {LNCS},
  publisher = {Springer},
  editor =    {M. Danelutto and D. Laforenza and M. Vanneschi},
  month =     {August/September},
  year =      {2004},
  address =   {Pisa, Italy},

Download Paper

PDF file

Download Slides

PDF file