Parallel Computing on Distributed Memory Multiprocessors


Book Description

Advances in microelectronic technology have made massively parallel computing a reality and triggered an outburst of research activity in parallel processing architectures and algorithms. Distributed memory multiprocessors - parallel computers that consist of microprocessors connected in a regular topology - are increasingly being used to solve large problems in many application areas. In order to use these computers for a specific application, existing algorithms need to be restructured for the architecture and new algorithms developed. The performance of a computation on a distributed memory multiprocessor is affected by the node and communication architecture, the interconnection network topology, the I/O subsystem, and the parallel algorithm and communication protocols. Each of these parametersis a complex problem, and solutions require an understanding of the interactions among them. This book is based on the papers presented at the NATO Advanced Study Institute held at Bilkent University, Turkey, in July 1991. The book is organized in five parts: Parallel computing structures and communication, Parallel numerical algorithms, Parallel programming, Fault tolerance, and Applications and algorithms.







Multiprocessor Execution of Logic Programs


Book Description

Multiprocessor Execution of Logic Programs addresses the problem of efficient implementation of logic programming languages, specifically Prolog, on multiprocessor architectures. The approaches and implementations developed attempt to take full advantage of sequential implementation technology developed for Prolog (such as the WAM) while exploiting all forms of control parallelism present in logic programs, namely, or-parallelism, independent and-parallelism and dependent and-parallelism. Coverage includes a thorough survey of parallel implementation techniques and parallel systems developed for Prolog. Multiprocessor Execution of Logic Programs is recommended for people implementing parallel logic programming systems, parallel symbolic systems, parallel AI systems, and parallel theorem proving systems. It will also be useful to people who wish to learn about the implementation of parallel logic programming systems.







Parallel Execution of Logic Programs


Book Description

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.










A Distributed Task Scheduling Scheme for Parallel Execution of Logic Programs


Book Description

Abstract: "A distributed task scheduling algorithm for parallel execution of logic programs is studied. The algorithm enforces a so called fair polling policy which is able to balance load distribution among processors efficiently. Performance of the algorithm is investigated by analysis and parallel emulations on distributed memory multiprocessors: the BBN Butterfly GP1000 and TC2000. Experiments show that the proposed algorithm exhibits similar performance characteristics as its counterpart that requires a shared memory, and obtains reasonable speed-up for programs with fine grain parallelism. In addition, fair polling algorithms (with or without a shared memory) are shown to be consistently superior than [sic] other polling schemes that do not strictly maintain fairness."




Parallel Execution of Logic Programs


Book Description

Logic programming refers to execution of programs written in Horn logic. Among the advantages of this style of programming are its simple declarativeand procedural semantics, high expressive power and inherent nondeterminism. The papers included in this volume were presented at the Workshop on Parallel Logic Programming held in Paris on June 24, 1991, as part of the 8th International Conference on Logic Programming. The papers represent the state of the art in parallel logic programming, and report the current research in this area, including many new results. The three essential issues in parallel execution of logic programs which the papers address are: - Which form(s) of parallelism (or-parallelism, and-parallelism, stream parallelism, data-parallelism, etc.) will be exploited? - Will parallelism be explicitly programmed by programmers, or will it be exploited implicitly without their help? - Which target parallel architecture will the logic program(s) run on?