Abstract
We survey the many applications of parallel algorithms and complexity to logic programming problems. The problems examined are related to the optimization of logical query programs, which are the most common deductive database formalism, and to the fast parallel execution of primitive operations in logic programming languages, such as term unification and term matching. Our presentation highlights the importance of the complexity class NC, as well as of the stage function s(n) associated with each logical query program (where n is the size of the relational database queried by the program). The stage function can be used to model the number of calls made by a program to a relational database and provides a means of distinguishing parallelizable from inherently sequential queries. Queries that are hard to evaluate in parallel are logspace-complete in PTIME and can only be expressed using programs with s(n) = ω(logk n), for any k. Queries with a large amount of potential parallelism are in NC and can be expressed using programs with s(n) = O(logk n), for some fixed k. In the context of stage functions we also derive two new results about parallelism and logical query programs. We show that:1.There is a program that does not satisfy the superpolynomial fringe property of Van Gelder and Ullman but does define a parallelizable query. Our extension of derivation trees strengthens their parallel algorithm and allows us to evaluate this program in O(log n) stages.2.Given a linear single rule program, we show that it is NP-hard to decide whether its stage function is O(1). This complements the bounded recursion analysis of Ioannidis and Naughton.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Foundations of Deductive Databases and Logic Programming
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.