176,701 research outputs found
Exploiting parallelism in coalgebraic logic programming
We present a parallel implementation of Coalgebraic Logic Programming (CoALP)
in the programming language Go. CoALP was initially introduced to reflect
coalgebraic semantics of logic programming, with coalgebraic derivation
algorithm featuring both corecursion and parallelism. Here, we discuss how the
coalgebraic semantics influenced our parallel implementation of logic
programming
Independence in CLP Languages
Studying independence of goals has proven very useful in the context of logic programming. In particular, it has provided a formal basis for powerful automatic parallelization tools, since independence ensures that two goals may be evaluated in parallel while preserving correctness and eciency. We extend the concept of independence to constraint logic programs (CLP) and
prove that it also ensures the correctness and eciency of the parallel evaluation of independent goals. Independence for CLP languages is more complex than for logic programming as search space preservation is necessary but no longer sucient for ensuring correctness and eciency. Two
additional issues arise. The rst is that the cost of constraint solving may depend upon the order constraints are encountered. The second is the need to handle dynamic scheduling. We clarify these issues by proposing various types of search independence and constraint solver independence, and show how they can be combined to allow dierent optimizations, from parallelism to intelligent
backtracking. Sucient conditions for independence which can be evaluated \a priori" at run-time are also proposed. Our study also yields new insights into independence in logic programming languages. In particular, we show that search space preservation is not only a sucient but also a necessary condition for ensuring correctness and eciency of parallel execution
An abstract machine for restricted and-parallel execution of logic programs
Although the sequential execution speed of logic programs has been greatly improved by the concepts introduced in the Warren Abstract Machine (WAM), parallel execution represents the only way to increase this speed beyond the natural limits of sequential systems. However, most proposed parallel logic programming execution models lack the performance optimizations and storage efficiency of sequential systems. This paper presents a parallel abstract machine which is an extension of the WAM and is thus capable of supporting ANDParallelism without giving up the optimizations present in sequential implementations. A suitable instruction set, which can be used as a target by a variety of logic programming languages, is also included. Special instructions are provided to support a generalized version of "Restricted AND-Parallelism" (RAP), a technique which reduces the overhead traditionally associated with the run-time management of variable binding conflicts to a series of simple run-time checks, which select one out of a series of compiled execution graphs
Defeasible logic programming: language definition, operational semantics, and parallelism
This thesis defines Defeasible Logic Programming and provides a concrete specification of this new language through its operational semantics. Defeasible Logic Programming, or DeLP for short, has been defined based on the Logic Programming paradigm and considering features of recent developments in the area of Defeasible Argumentation. DeLP relates and improves many aspects of the areas of Logic Programming, Defeasible Argumentation, Intelligent Agents, and Parallel Logic ProgrammingFacultad de Informátic
Defeasible logic programming: language definition, operational semantics, and parallelism
This thesis defines Defeasible Logic Programming and provides a concrete specification of this new language through its operational semantics. Defeasible Logic Programming, or DeLP for short, has been defined based on the Logic Programming paradigm and considering features of recent developments in the area of Defeasible Argumentation. DeLP relates and improves many aspects of the areas of Logic Programming, Defeasible Argumentation, Intelligent Agents, and Parallel Logic ProgrammingFacultad de Informátic
Preface Volume 30, Issue 3
AbstractOne of the main areas of research in logic programming is the design and implementation of sequential and parallel (constraint) logic programming systems. This research goes broadly from the design and specification of novel implementation technology to its actual evaluation in real life situations. A series of workshops on Implementations of Logic Programming Systems, previously held in Budapest (1993), Ithaca (1994), Portland (1995), Bonn (1996), Port Jefferson (1997), Manchester (1998) and Las Cruces (1999) provided a forum for ongoing research on the design and implementation of sequential and parallel (constraint) logic programming systems.This volume contains a collection of papers presented at the Workshop on Parallelism and Implementation Technology for (Constraint) Logic Programming, held in Las Cruces on December 1st, 1999, in conjunction with ICLP'99. The workshop was sponsored and organised by COMPULOG AMERICAS. The workshop also received support from the Association for Logic Programming and from the Department of Computer Science, New Mexico State University.Papers from both academia and industry were invited. Preference was given to the analysis and description of implemented systems (or currently under implementation) and their associated techniques, problems found in their development or design, and steps taken towards the solution of these problems.Topics included, but were not limited to:
•standard and non—standard sequential implementation schemes (e.g., generalization/modification of WAM, translation to C, etc.);implementation of parallel logic programming systems;balance between compile-time effort and run-time machinery;techniques for the implementation of different declarative programming paradigms based on, or extending, logic programming (e.g., constraint logic programming, concurrent constraint languages, equational-logic languages);performance evaluation of sequential and parallel logic programming systems, both through benchmarking and using real world applications;other implementation-related issues, such as memory management, register allocation, use of global optimisations, etc.We were very fortunate to have so many interesting research papers, ranging over widely different subjects and giving a broad coverage of current research in sequential and parallel implementation of logic programming systems. Papers on sequential logic programming systems, focus on varied topics: constraint evaluation, support for extensions to logic programming, and abstract machines for performance evaluation. Papers on parallel logic programming systems also focus on diverse topics ranging from distributed implementations, garbage collection, to optimisations for exploiting and-or parallelism.The editors would like to thank all authors that chose to submit their work to this book, and also for their cooperation in making this document possible. We would also like to thank all referees involved in assessing the papers in this special volume.This volume will be published as volume 30, Issue 3 in the series Electronic Notes in Theoretical Computer Science (ENTCS). This series is published electronically through the facilities of Elsevier Science B.V. and its auspices. The volumes in the ENTCS series can be accessed at the URL http://www.elsevier.nl/locate/entcs
March 14, 2000Horst Reiche
Recommended from our members
Logic Programming Using Parallel Associative Operations
In order to provide performance improvements in the execution of large logic programs, it is highly desirable to investigate the relationships between logic, data-base systems and knowledge-based systems in the context of massively parallel architectures. This paper presents a model for the interpretation of logic programs in this type of environment and overviews the algorithms under development. An interpreter that implements the model has been demonstrated in simulations on a number of small programs. Implementation requires that only a small set of hardware primitives be available, these have been successfully implemented on a working prototype machine, DADO. Current research aims to develop the model into a practical and efficient logic programming system for use on the machine
- …