Table Space Designs For Implicit and Explicit Concurrent Tabled Evaluation
Miguel Areias, Ricardo Rocha

TL;DR
This paper explores various table space designs for concurrent tabling in Prolog, addressing challenges in concurrency, memory management, and proposing future integrated frameworks for implicit and explicit evaluation.
Contribution
It introduces and analyzes different table space designs for concurrent tabling, emphasizing lock-free data structures and memory management strategies in Prolog systems.
Findings
Designs balance concurrency and memory efficiency
Lock-free data structures improve performance
Future framework aims to unify implicit and explicit evaluation
Abstract
One of the main advantages of Prolog is its potential for the implicit exploitation of parallelism and, as a high-level language, Prolog is also often used as a means to explicitly control concurrent tasks. Tabling is a powerful implementation technique that overcomes some limitations of traditional Prolog systems in dealing with recursion and redundant sub-computations. Given these advantages, the question that arises is if tabling has also the potential for the exploitation of concurrency/parallelism. On one hand, tabling still exploits a search space as traditional Prolog but, on the other hand, the concurrent model of tabling is necessarily far more complex since it also introduces concurrency on the access to the tables. In this paper, we summarize Yap's main contributions to concurrent tabled evaluation and we describe the design and implementation challenges of several…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
