A method for efficiently executing Horn clause programs using multiple processors
New Generation Computing
A Randomized Parallel Backtracking Algorithm
IEEE Transactions on Computers
Performance of an OR-parallel logic programming system
International Journal of Parallel Programming
On finding lowest common ancestors: simplification and parallelization
SIAM Journal on Computing
Or-parallel execution models of prolog
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
The Aurora or-parallel Prolog system
New Generation Computing - Selected papers on parallel logic programming from the International Conference on Fifth Generation Computer Systems, 1988
The Muse Or-parallel Prolog model and its performance
Proceedings of the 1990 North American conference on Logic programming
Parallel execution of logic programs on shared memory multiprocessors
Parallel execution of logic programs on shared memory multiprocessors
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel symbolic computation in ACE
Annals of Mathematics and Artificial Intelligence
YapOr: an Or-Parallel Prolog System Based on Environment Copying
EPIA '99 Proceedings of the 9th Portuguese Conference on Artificial Intelligence: Progress in Artificial Intelligence
LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
Novel Models for Or-Parallel Logic Programs: A Performance Analysis
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Journal of Parallel and Distributed Computing
Computer Languages, Systems and Structures
Programming constraint services: high-level programming of standard and new constraint services
Programming constraint services: high-level programming of standard and new constraint services
Mathematical and Computer Modelling: An International Journal
Hi-index | 0.00 |
We discuss fundamental limitations of or-parallel execution models of nondeterministic programming languages. Or-parallelism corresponds to the execution of different nondeterministic computational paths in parallel. A natural way to represent the state of (parallel) execution of a nondeterministic program is by means of an or-parallel tree. We identify three important criteria that underlie the design of or-parallel implementations based on the or-parallel tree: constant-time access to variables, constant-time task creation, and constant-time task switching, where the term constant-time means that the time for these operations is independent of the number of nodes in the or-parallel tree, as well as the size of each node. We prove that all three criteria cannot be simultaneously satisfied by any or-parallel execution model based on a finite number of processors but unbounded memory. We discuss in detail the application of our result to the class of logic programming languages and show how our result can serve as a useful way to categorize the various or-parallel methods proposed in this field. We also discuss the suitability of different or-parallel implemenation strategies for different parallel architectures.