Parallel Logic Programming: A Sequel

  title={Parallel Logic Programming: A Sequel},
  author={Agostino Dovier and Andrea Formisano and Gopal Gupta and Manuel V. Hermenegildo and Enrico Pontelli and Ricardo Rocha},
Multi-core and highly connected architectures have become ubiquitous, and this has brought renewed interest in language-based approaches to the exploitation of parallelism. Since its inception, logic programming has been recognized as a programming paradigm with great potential for automated exploitation of parallelism. The comprehensive survey of the first twenty years of research in parallel logic programming, published in 2001, has served since as a fundamental reference to researchers and… 

GPU parallelism for SAT solving heuristics

The aim is to “rehabilitate” look-ahead heuristics, by showing their effectiveness in the contest of a parallel SAT solver by describing how to exploit massively parallel devices that offer great computing power at a relatively low cost.

Constraints propagation on GPU: A case study for AllDifferent

This paper presents an efficient parallelization of the AllDifferent constraint on GPU; it analyzes different design and implementation choices and evaluates the performance of the resulting system on medium to large instances of the Travelling Salesman Problem with encouraging results.

Abstract Interpretation: From 0, 1, To ∞

This paper starts from zero knowledge about abstract interpretation and provides one rapid introduction for the untaught, goes rapidly over remarkable achievements, and widen to infinitely hard

Fifty Years of Prolog and Beyond

A SWOT analysis is performed in order to better identify the potential of Prolog and propose future directions along with which Prolog might continue to add useful features, interfaces, libraries, and tools, while at the same time improving compatibility between implementations.



Or-Parallel Prolog Execution on Clusters of Multicores

A novel computational model to efficiently exploit implicit parallelism from large scale real-world applications specialized for the novel architectures based on clusters of multicores is proposed.

Automatic unrestricted independent and-parallelism in declarative multiparadigm languages

Different alternatives for performing automatic goal-level, unrestricted independent and-parallelization of logic programs through source-to-source transformations are studied in this work, which use as targets new parallel execution primitives which are simpler and more flexible than the well-known fork-join parallel operator.

A High-Level Implementation of Non-deterministic, Unrestricted, Independent And-Parallelism

This paper presents an implementation model for independent and-parallelism which fully supports non-determinism through backtracking and provides flexible solutions for some of the main problems found in previous and- parallel implementations.

Towards a General Framework for Static Cost Analysis of Parallel Logic Programs

This work proposes a novel, general, and flexible framework for setting up cost equations/relations which can be instantiated for performing resource usage analysis of parallel logic programs for a wide range of resources, platforms and execution models, and develops a method for solving cost relations involving the max function that arise in theAnalysis of parallel programs.

Theory and Practice of Logic Programming

This work revive and redesigns the YapOr system to exploit or-parallelism based on a multi-threaded implementation and takes full advantage of the state-of-the-art fast and optimized YAP Prolog engine and shares the underlying execution environment, scheduler and most of the data structures used to support Yap or’s model.

An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel.

This dissertation presents an efficient parallel execution model for logic programs capable of retaining sequential execution speed similar to that of high performance sequential systems, while extracting additional gains in speed by efficiently implementing parallel execution.

Concurrent PROLOG: Collected Papers

Flat Concurrent Prolog is described, a comprehensive and radical approach to parallel computing that is based on a simple foundation, and can serve as a general-purpose high-level machine language for parallel computers.

On applying or-parallelism and tabling to logic programs

OPTYap is the first implementation of a parallel tabling engine for logic programming systems and demonstrates that implicit or-parallelism is a natural fit for logic programs with tabling, and emphasizes the belief that through applying or-Parallelism and tabling to logic programs the range of applications can be increased.

Exploiting OR-parallelism in logic programs: A review

  • Kang Zhang
  • Computer Science
    Future Gener. Comput. Syst.
  • 1993