Parallel Execution of Logic Programs

Parallel Execution of Logic Programs

Author: Anthony Beaumont

Publisher: Springer Science & Business Media

Published: 1991-12-11

Total Pages: 212

ISBN-13: 9783540550389

DOWNLOAD EBOOK

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?


High Performance Execution of Prolog Programs Based on a Static Data Dependency Analysis

High Performance Execution of Prolog Programs Based on a Static Data Dependency Analysis

Author: Jung-Herng Chang

Publisher:

Published: 1985

Total Pages: 318

ISBN-13:

DOWNLOAD EBOOK

A scheme to exploit AND-parallelism is also prosposed. It includes generating parallel executable tasks by the SDDA, using a set of message protocols to coordinate co-operating processes, exploiting both intelligent backtracking and parallel backtracking. It is shown that Prolog has potential in parallel processing because of its procedural invocation, non-deterministic execution, concise syntax, single-assignment variable bindings, and local variable scoping.


Scheduling for Parallel Processing

Scheduling for Parallel Processing

Author: Maciej Drozdowski

Publisher: Springer Science & Business Media

Published: 2010-03-14

Total Pages: 395

ISBN-13: 184882310X

DOWNLOAD EBOOK

Overview and Goals This book is dedicated to scheduling for parallel processing. Presenting a research ?eld as broad as this one poses considerable dif?culties. Scheduling for parallel computing is an interdisciplinary subject joining many ?elds of science and te- nology. Thus, to understand the scheduling problems and the methods of solving them it is necessary to know the limitations in related areas. Another dif?culty is that the subject of scheduling parallel computations is immense. Even simple search in bibliographical databases reveals thousands of publications on this topic. The - versity in understanding scheduling problems is so great that it seems impossible to juxtapose them in one scheduling taxonomy. Therefore, most of the papers on scheduling for parallel processing refer to one scheduling problem resulting from one way of perceiving the reality. Only a few publications attempt to arrange this ?eld of knowledge systematically. In this book we will follow two guidelines. One guideline is a distinction - tween scheduling models which comprise a set of scheduling problems solved by dedicated algorithms. Thus, the aim of this book is to present scheduling models for parallel processing, problems de?ned on the grounds of certain scheduling models, and algorithms solving the scheduling problems. Most of the scheduling problems are combinatorial in nature. Therefore, the second guideline is the methodology of computational complexity theory. Inthisbookwepresentfourexamplesofschedulingmodels. Wewillgodeepinto the models, problems, and algorithms so that after acquiring some understanding of them we will attempt to draw conclusions on their mutual relationships.


Parallel Unification Scheduling in Prolog

Parallel Unification Scheduling in Prolog

Author: Wayne Citrin

Publisher:

Published: 1986

Total Pages: 68

ISBN-13:

DOWNLOAD EBOOK

Unification, the fundamental operation in the Prolog logic programming language can take up to 50% of the execution time of a typical Prolog system. One approach to speeding up the unification operation is to perform it on parallel hardware. Although it has been shown that, in general, there is no parallel algorithm for unification that is better than the best sequential algorithm, there is a substantial subset of unification which may be done in parallel. Identifying these subsets involves gathering data using an extension of Chang's static data-dependency analysis (SDDA), then using that data to schedule the components of a unification for parallel unification. Improvements to the information gathered by SDDA may be achieved through procedures splitting, a source-level transformation of the program. This thesis describes and evaluates the above-mentioned techniques and their implementation. Results are compared to other techniques for speeding up unification. Ways in which these techniques may be applied to the Berkeley PLM machine are also described.


Scheduling and Automatic Parallelization

Scheduling and Automatic Parallelization

Author: Alain Darte

Publisher: Springer Science & Business Media

Published: 2000-03-30

Total Pages: 284

ISBN-13: 9780817641498

DOWNLOAD EBOOK

Readership This book is devoted to the study of compiler transformations that are needed to expose the parallelism hiddenin a program. This book is notan introductory book to parallel processing, nor is it an introductory book to parallelizing compilers. Weassume thatreaders are familiar withthebooks High Performance Compilers for Parallel Computingby Wolfe [121] and Super­ compilers for Parallel and Vector Computers by Zima and Chapman [125], and that they want to know more about scheduling transformations. In this book we describe both task graph scheduling and loop nest scheduling. Taskgraphschedulingaims atexecuting tasks linked by prece­ dence constraints; it is a run-time activity. Loop nest scheduling aims at ex­ ecutingstatementinstances linked bydata dependences;it is a compile-time activity. We are mostly interested in loop nestscheduling,butwe also deal with task graph scheduling for two main reasons: (i) Beautiful algorithms and heuristics have been reported in the literature recently; and (ii) Several graphscheduling, like list scheduling, are the basis techniques used in task ofthe loop transformations implemented in loop nest scheduling. As for loop nest scheduling our goal is to capture in a single place the fantastic developments of the last decade or so. Dozens of loop trans­ formations have been introduced (loop interchange, skewing, fusion, dis­ tribution, etc.) before a unifying theory emerged. The theory builds upon the pioneering papers of Karp, Miller, and Winograd [65] and of Lam­ port [75], and it relies on sophisticated mathematical tools (unimodular transformations, parametric integer linear programming, Hermite decom­ position, Smithdecomposition, etc.).


Implementations of Distributed Prolog

Implementations of Distributed Prolog

Author: Peter Kacsuk

Publisher:

Published: 1992-08-11

Total Pages: 504

ISBN-13:

DOWNLOAD EBOOK

Leading international contributors present papers pertaining to current approaches in the design and implementation of distributed logic languages that are a generation beyond standard Prolog, all of them introducing ideas of distributed and parallel programming in an attempt to bring high performance features to logic programming applications. Details all aspects of underlying research at a number of global centers including language, implementation models and techniques, hardware architecture, performance results, applications and more.


Proceedings of the 1993 International Conference on Parallel Processing

Proceedings of the 1993 International Conference on Parallel Processing

Author: Alok N. Choudhary

Publisher: CRC Press

Published: 1993-08-16

Total Pages: 338

ISBN-13: 9780849389856

DOWNLOAD EBOOK

This three-volume work presents a compendium of current and seminal papers on parallel/distributed processing offered at the 22nd International Conference on Parallel Processing, held August 16-20, 1993 in Chicago, Illinois. Topics include processor architectures; mapping algorithms to parallel systems, performance evaluations; fault diagnosis, recovery, and tolerance; cube networks; portable software; synchronization; compilers; hypercube computing; and image processing and graphics. Computer professionals in parallel processing, distributed systems, and software engineering will find this book essential to their complete computer reference library.