pith. sign in

arxiv: 0912.3510 · v2 · pith:C3DLP7PNnew · submitted 2009-12-17 · 💻 cs.PL · cs.DC

A simple and efficient explicit parallelization of logic programs using low-level threading primitives

classification 💻 cs.PL cs.DC
keywords logicprogramsworkparallelizationanswer-tablesanswersdata-structuresimplemented
0
0 comments X
read the original abstract

In this work, we present an automatic way to parallelize logic programs for finding all the answers to queries using a transformation to low level threading primitives. Although much work has been done in parallelization of logic programming more than a decade ago (e.g., Aurora, Muse, YapOR), the current state of parallelizing logic programs is still very poor. This work presents a way for parallelism of tabled logic programs in XSB Prolog under the well founded semantics. An important contribution of this work relies in merging answer-tables from multiple children threads without incurring copying or full-sharing and synchronization of data-structures. The implementation of the parent-children shared answer-tables surpasses in efficiency all the other data-structures currently implemented for completion of answers in parallelization using multi-threading. The transformation and its lower-level answer merging predicates were implemented as an extension to the XSB system.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.