On the Complexity of Parallel Implementation of Logic Programs

We study several data-structures and operations that commonly arise in parallel implementations of logic programming languages. The main problems that arise in implementing such parallel systems are abstracted out and precisely stated. Upper and lower bounds are derived for several of these problems. We prove a lower bound of Ω(log n) on the overhead incurred in implementing even a simplified version of or-parallelism. We prove that the aliasing problem in parallel logic programming is at least as hard as the union-find problem. We prove that an and-parallel implementation can be realized on an extended pointer machine with an O(1) overhead.

[1]  Arnold Schönhage Storage Modification Machines , 1980, SIAM J. Comput..

[2]  Michael E. Saks,et al.  The cell probe complexity of dynamic data structures , 1989, STOC '89.

[3]  M. D. MacLaren The Art of Computer Programming—Volume 1: Fundamental Algorithms (Donald E. Knuth) , 1969 .

[4]  Jacques Chassin de Kergommeaux,et al.  Parallel logic programming systems , 1994, CSUR.

[5]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[6]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[7]  Harold N. Gabow,et al.  Data structures for weighted matching and nearest common ancestors with linking , 1990, SODA '90.

[8]  Robert E. Tarjan,et al.  Fast Algorithms for Finding Nearest Common Ancestors , 1984, SIAM J. Comput..

[9]  Enrico Pontelli,et al.  &ACE: a high-performance parallel Prolog system , 1995, IPPS.

[10]  Norbert Blum On the Single-Operation Worst-Case Time Complexity on the Disjoint Set Union Problem , 1985, STACS.

[11]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[12]  Ehud Shapiro,et al.  Third International Conference on Logic Programming , 1986 .

[13]  Robert E. Tarjan,et al.  A Class of Algorithms which Require Nonlinear Time to Maintain Disjoint Sets , 1979, J. Comput. Syst. Sci..

[14]  Gopal Gupta,et al.  Analysis of Or-parallel execution models , 1993, TOPL.

[15]  Gopal Gupta,et al.  Cuts and Side-Effects in And-Or Parallel Prolog , 1996, J. Log. Program..

[16]  Enrico Pontelli,et al.  Implementation Mechanisms for Dependent And-Parallelism , 1997, ICLP.

[17]  Han La Poutré Lower Bounds for the Union-Find and the Sp;it-Find Problem on Pointer Machines , 1996, J. Comput. Syst. Sci..

[18]  Han La Poutré Lower bounds for the union-find and the split-find problem on pointer machines , 1990, STOC '90.