Parallel execution of Prolog programs

Gupta, Gopal and Pontelli, Enrico and Ali, Khayri Mohammed and Carlsson, Mats and Hermenegildo, Manuel (2001) Parallel execution of Prolog programs. ACM Transaction on Programming Languages and Systems (TOPLAS), 23 (4). pp. 472-602. ISSN 0164-0925

Full text not available from this repository.

Official URL:


Since the early days of logic programming, researchers in the field realised the potential for exploitation of parallelism present in the execution of logic programs. Their high-level nature, the presence of non-determinism, and their referential transparency, among other characteristics, make logic programs interesting candidates for obtaining speedups through parallel execution. At the same time, the fact that the typical applications of logic programming frequently involve irregular computations, make heavy use of dynamic data structures with logical variables, and involve search and speculation, makes the techniques used in the corresponding parallelizing compilers and run-time systems potentially interesting even outside the field. The objective of this paper is to provide a comprehensive survey of the issues arising in parallel execution of logic programming languages along with the most relevant approaches explored to date in the field. Focus is mostly given to the challenges emerging from the parallel execution of Prolog programs. The paper describes the major techniques used for shared memory implementation of Or-parallelism, And-parallelism, and combinations of the two. We also explore some related issues, such as memory management, compile-time analysis, and execution visualisation.

Item Type:Article
ID Code:3052
Deposited On:05 Aug 2008
Last Modified:18 Nov 2009 16:17

Repository Staff Only: item control page