Execution models of Prolog for parallel computers
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 programsPeter Kacsuk is with Multilogic Computing Ltd. of Budapest, Hungary.
What people are saying - Write a review
We haven't found any reviews in the usual places.
LOGIC PROGRAMMING AND PROLOG
PARALLEL PROCESSING OF LOGIC PROGRAMS
10 other sections not shown
Other editions - View all
abstract machine algorithm AND-parallelism AND-process architecture arg.count args arguments backtracking BUILTIN operator clause head compiler context field control strategy control.in copies creates DAP FORTRAN DAP Prolog data structures data.out dataflow definition eager evaluation ECDAM example Prolog program executed in parallel execution graph Extended Cellular-Dataflow Model f(IDLE f(WAIT FAIL token FAIL(INl FAIL(OUT free variables goal statement goto IDLE IN2 arc input arcs instantiated lazy evaluation LOGFLOW logic programming languages LRDF AND/OR tree mapping MIMD multiprocessors Network layer node not.(any(mask Occam ordering of goals output parallel computers parallel execution PPAM code predicates problem processing elements PROG operator RDQLs REDO token REDO(OUT represented result Search tree sequential set-oriented SHARE operator SIMD SIMD machine stored subtree SUCC token SUCC(IN2 SUCC(OUT systolic arrays T-Prolog token arrives token call token on IN2 TOKEN PLANE token stream transition function transputer unification UNIFY operator Variable Stack VECTOR PROCESSOR vectors WAIT WAIT2