Programming in Prolog (2nd ed.)
Programming in Prolog (2nd ed.)
Introduction to logic programming
Introduction to logic programming
An intelligent backtracking algorithm for parallel execution of logic programs
Proceedings on Third international conference on logic programming
Semantics ad parallel-execution model of a logic-programming language
Semantics ad parallel-execution model of a logic-programming language
Communications of the ACM
Logic for Problem Solving
A Discipline of Programming
Introduction to VLSI Systems
The and/or process model for parallel interpretation of logic programs
The and/or process model for parallel interpretation of logic programs
Parallel architectures for problem solving (prolog, logic-programming, interconnection, network)
Parallel architectures for problem solving (prolog, logic-programming, interconnection, network)
An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel
Parallel evaluation of software architecture specifications
Communications of the ACM
Hi-index | 0.02 |
A parallel-execution model that can concurrently exploit AND and OR parallelism in logic programs is presented. This model employs a combination of techniques in an approach to executing logic problems in parallel, making tradeoffs among number of processes, degree of parallelism, and combination bandwidth. For interpreting a nondeterministic logic program, this model (1) performs frame inheritance for newly created goals, (2) creates data-dependency graphs (DDGs) that represent relationships among the goals, and (3) constructs appropriate process structures based on the DDGs. (1) The use of frame inheritance serves to increase modularity. In contrast to most previous parallel models that have a large single process structure, frame inheritance facilitates the dynamic construction of multiple independent process structures, and thus permits further manipulation of each process structure. (2) The dynamic determination of data dependency serves to reduce computational complexity. In comparison to models that exploit brute-force parallelism and models that have fixed execution sequences, this model can reduce the number of unification and/or merging steps substantially. In comparison to models that exploit only AND parallelism, this model can selectively exploit demand-driven computation, according to the binding of the query and optional annotations. (3) The construction of appropriate process structures serves to reduce communication complexity. Unlike other methods that map DDGs directly onto process structures, this model can significantly reduce the number of data sent to a process and/or the number of communication channels connected to a process.