This monograph concentrates on the implementation of concurrent logic programming languages on loosely-coupled parallel computer architectures. Two different abstract models are also considered: a graph reduction based model and a more imperative approach. The design of a specialized instruction set is presented that is general enough to be used for the whole family of concurrent logic programming languages. In particular the language Parlog is concentrated upon because it is the most efficiently implementable of all the non-flat logic programming languages. Other issues arising from the implementation of a programming language are discussed, in particular the design of a load balancing scheme which deals with the large number of short-lived processes inherent in a correct language implementation. Detailed descriptions of all the data structures and synchronisation algorithms are also presented. Resource exhaustion is also discussed and handled within the implementations. Detailed performance results for both models of computation are given. From the material it should be possible for the reader to create an implementation.
Parallel processing for AI problems is of great current interest because of its potential for alleviating the computational demands of AI procedures. The articles in this book consider parallel processing for problems in several areas of artificial intelligence: image processing, knowledge representation in semantic networks, production rules, mechanization of logic, constraint satisfaction, parsing of natural language, data filtering and data mining. The publication is divided into six sections. The first addresses parallel computing for processing and understanding images. The second discusses parallel processing for semantic networks, which are widely used means for representing knowledge - methods which enable efficient and flexible processing of semantic networks are expected to have high utility for building large-scale knowledge-based systems. The third section explores the automatic parallel execution of production systems, which are used extensively in building rule-based expert systems - systems containing large numbers of rules are slow to execute and can significantly benefit from automatic parallel execution. The exploitation of parallelism for the mechanization of logic is dealt with in the fourth section. While sequential control aspects pose problems for the parallelization of production systems, logic has a purely declarative interpretation which does not demand a particular evaluation strategy. In this area, therefore, very large search spaces provide significant potential for parallelism. In particular, this is true for automated theorem proving. The fifth section considers the problem of constraint satisfaction, which is a useful abstraction of a number of important problems in AI and other fields of computer science. It also discusses the technique of consistent labeling as a preprocessing step in the constraint satisfaction problem. Section VI consists of two articles, each on a different, important topic. The first discusses parallel formulation for the Tree Adjoining Grammar (TAG), which is a powerful formalism for describing natural languages. The second examines the suitability of a parallel programming paradigm called Linda, for solving problems in artificial intelligence.Each of the areas discussed in the book holds many open problems, but it is believed that parallel processing will form a key ingredient in achieving at least partial solutions. It is hoped that the contributions, sourced from experts around the world, will inspire readers to take on these challenging areas of inquiry.
This book is an updated version of my Ph.D. dissertation, The AND/OR Process Model for Parallel Interpretation of Logic Programs. The three years since that paper was finished (or so I thought then) have seen quite a bit of work in the area of parallel execution models and programming languages for logic programs. A quick glance at the bibliography here shows roughly 50 papers on these topics, 40 of which were published after 1983. The main difference between the book and the dissertation is the updated survey of related work. One of the appendices in the dissertation was an overview of a Prolog implementation of an interpreter based on the AND/OR Process Model, a simulator I used to get some preliminary measurements of parallelism in logic programs. In the last three years I have been involved with three other implementations. One was written in C and is now being installed on a small multiprocessor at the University of Oregon. Most of the programming of this interpreter was done by Nitin More under my direction for his M.S. project. The other two, one written in Multilisp and the other in Modula-2, are more limited, intended to test ideas about implementing specific aspects of the model. Instead of an appendix describing one interpreter, this book has more detail about implementation included in Chapters 5 through 7, based on a combination of ideas from the four interpreters.
The research reports presented in this volume focus on the implications of the T9000 microprocessor, which offers new elements in transputing and parallel programming. Subjects discussed include genetic algorithms, image analysis, neural networks, robotics and parallel architectures.
P-Prolog is put forward as an alternative proposal to the difficulties faced in the main research areas of parallel logic programmings, which have been studied. P-Prolog provides the advantages of guarded Horn clauses while retaining don't know non-determinism where required. This monograph presents also an or-tree model and an implementation scheme for it, to combine and- and or- parallelism with reasonable efficiency. The model and implementation scheme discussed can be applied to P-Prolog and other parallel logic languages.
This book presents the proceedings of the First International EURO-PAR Conference on Parallel Processing, held in Stockholm, Sweden in August 1995. EURO-PAR is the merger of the former PARLE and CONPAR-VAPP conference series; the aim of this merger is to create the premier annual scientific conference on parallel processing in Europe. The book presents 50 full revised research papers and 11 posters selected from a total of 196 submissions on the basis of 582 reviews. The scope of the contributions spans the full spectrum of parallel processing ranging from theory over design to application; thus the volume is a "must" for anybody interested in the scientific aspects of parallel processing or its advanced applications.
The theme of this book is the potential of new advanced database systems. The volume presents the proceedings of the 10th British National Conference on Databases, held in Aberdeen, Scotland, in July 1992. The volume contains two invited papers, one on the promise of distributed computing andthe challenges of legacy systems by M.L. Brodie, and the other on object-oriented requirements capture and analysis and the Orca project by D.J.L. Gradwell. The following four parts each contain three submitted papers selected from a total of 36 submissions. The parts are entitled: - Object-oriented databases - Parallel implementationsand industrial systems - Non-relational data models - Logic programming and databases
This volume contains papers presented at the second international workshop on extensions of logic programming, which was held at the Swedish Institute of Computer Science, Stockhom, January 27-29, 1991. The 12 papers describe and discuss several approaches to extensions of logic programming languages such as PROLOG, as well as connections between logic programming and functional programming, theoretical foundations of extensions, applications, and programming methodologies. The first workshop in this series was held in T}bingen in 1989 and its proceedings areavailable as LNCS 475. The third workshop will be held in Bologna in 1992.