Execution Models of Prolog for Parallel Computers


Book Description

The research described in this book addresses the semantic gap between logic programming languages and the architecture of parallel computers - the problem of how to implement logic programming languages on parallel computers in a way that can most effectively exploit the inherent parallelism of the language and efficiently utilize the parallel architecture of the computer. Following a useful review of other research results, the first project explores the possibilities of implementing logic programs on MIMD, nonshared memory massively parallel computers containing 100 to 1,000 processing elements. The second investigates the possibility of implementing Prolog on a typical SIMD machine, called a Distributed Processor Array. The author's objectives are to define a parallel computational paradigm (the Extended Cellular-Dataflow Model) that can be used to create a Parallel Prolog Abstract Machine as a general starting point for implementing logic programming languages on parallel computers, to exploit the different types of parallelism of these programs, to define an efficient parallel logic machine, to explore the possibilities of implementing logic programming languages on array processors, such as the DAP, to invent parallel implementation techniques for effectively executing Prolog on the DAP, and to define a parallel extension of Prolog that is able to utilize the processor aggregate of the DAP for effectively solving numerical subproblems within logic programs Peter Kacsuk is with Multilogic Computing Ltd. of Budapest, Hungary.




Future Parallel Computers


Book Description

Organized by the University of Pisa on behalf of the European Strategic Programme for Research and Development in Information Technology (ESPRIT)




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.




Parallel Computing Technologies - Proceedings Of The International Conference


Book Description

The proceedings of this UNESCO-supported conference consist of papers covering new trends and experiences in parallel computing technologies. Emphasis is made on the practical aspects of parallel programming, especially: all aspects of the applications of parallel computing technologies; hardware, languages and software tools for parallel processing; operating systems; general architecture concepts; enabling technologies; performance measurements; and the teaching of parallel processing technology.




CONPAR 90 - VAPP IV


Book Description

Parallel architectures are no longer pure research vehicles, as they were some years ago. There are now many commercial systems competing for market segments in scientific computing. The 1990s are likely to become the decade of parallel processing. CONPAR 90 - VAPP IV is the joint successor meeting of two highly successful international conference series in the field of vector and parallel processing. This volume contains the 79 papers presented at the conference. The various topics of the papers include hardware, software and application issues. Some of the session titles best reflect the contents: new models of computation, logic programming, large-grain data flow, interconnection networks, communication issues, reconfigurable and scalable systems, novel architectures and languages, high performance systems and accelerators, performance prediction / analysis / measurement, performance monitoring and debugging, compile-time analysis and restructurers, load balancing, process partitioning and concurrency control, visualization and runtime analysis, parallel linear algebra, architectures for image processing, efficient use of vector computers, transputer tools and applications, array processors, algorithmic studies for hypercube-type systems, systolic arrays and algorithms. The volume gives a comprehensive view of the state of the art in a field of current interest.




Parallel Computing for Real-time Signal Processing and Control


Book Description

This book introduces the advantages of parallel processing and details how to use it to deal with common signal processing and control algorithms. The text includes examples and end-of-chapter exercises, and case studies to put theoretical concepts into a practical context.




Models for Parallel and Distributed Computation


Book Description

Parallel and distributed computation has been gaining a great lot of attention in the last decades. During this period, the advances attained in computing and communication technologies, and the reduction in the costs of those technolo gies, played a central role in the rapid growth of the interest in the use of parallel and distributed computation in a number of areas of engineering and sciences. Many actual applications have been successfully implemented in various plat forms varying from pure shared-memory to totally distributed models, passing through hybrid approaches such as distributed-shared memory architectures. Parallel and distributed computation differs from dassical sequential compu tation in some of the following major aspects: the number of processing units, independent local dock for each unit, the number of memory units, and the programming model. For representing this diversity, and depending on what level we are looking at the problem, researchers have proposed some models to abstract the main characteristics or parameters (physical components or logical mechanisms) of parallel computers. The problem of establishing a suitable model is to find a reasonable trade-off among simplicity, power of expression and universality. Then, be able to study and analyze more precisely the behavior of parallel applications.




Parallel Computation and Computers for Artificial Intelligence


Book Description

It has been widely recognized that artificial intelligence computations offer large potential for distributed and parallel processing. Unfortunately, not much is known about designing parallel AI algorithms and efficient, easy-to-use parallel computer architectures for AI applications. The field of parallel computation and computers for AI is in its infancy, but some significant ideas have appeared and initial practical experience has become available. The purpose of this book has been to collect in one volume contributions from several leading researchers and pioneers of AI that represent a sample of these ideas and experiences. This sample does not include all schools of thought nor contributions from all leading researchers, but it covers a relatively wide variety of views and topics and in this sense can be helpful in assessing the state ofthe art. We hope that the book will serve, at least, as a pointer to more specialized literature and that it will stimulate interest in the area of parallel AI processing. It has been a great pleasure and a privilege to cooperate with all contributors to this volume. They have my warmest thanks and gratitude. Mrs. Birgitta Knapp has assisted me in the editorial task and demonstrated a great deal of skill and patience. Janusz S. Kowalik vii INTRODUCTION Artificial intelligence (AI) computer programs can be very time-consuming.




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.




Advances in Computing and Information - ICCI '90


Book Description

This volume contains selected and invited papers presented at the International Conference on Computing and Information, ICCI '90, Niagara Falls, Ontario, Canada, May 23-26, 1990. ICCI conferences provide an international forum for presenting new results in research, development and applications in computing and information. Their primary goal is to promote an interchange of ideas and cooperation between practitioners and theorists in the interdisciplinary fields of computing, communication and information theory. The four main topic areas of ICCI '90 are: - Information and coding theory, statistics and probability, - Foundations of computer science, theory of algorithms and programming, - Concurrency, parallelism, communications, networking, computer architecture and VLSI, - Data and software engineering, databases, expert systems, information systems, decision making, and AI methodologies.