DIALOG - A dataflow model for parallel execution of logic programs

Abstract The paper presents a dataflow execution model, DIALOG, for logic programs which operates on an intermediate virtual machine. The virtual machine is granulated at clause argument level to exploit argument parallelism through unification. The model utilises a new variable binding scheme that eliminates dereference operations for accessing variables, and therefore supports OR-parallelism in the highly distributed dataflow environment. The model has been implemented in Occam. A conventional dataflow architecture in support of the model has been simulated as a testbed for the evaluation. The simulation indicates some encouraging results and suggests future improvements.

[1]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[2]  Seif Haridi,et al.  Or-Parallel Prolog on Shared Memory Multiprocessors , 1989, J. Log. Program..

[3]  J B Dennis The varieties of data flow computers , 1986 .

[4]  Ehud Shapiro,et al.  A subset of Concurrent Prolog and its interpreter , 1988 .

[5]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[6]  N. Ito,et al.  The architecture and preliminary evaluation results of the experimental parallel inference machine PIM-D , 1986, ISCA 1986.

[7]  Michael J. Wise Prolog multiprocessors , 1986 .

[8]  Hideo Aiso,et al.  The Unification Processor by Pipeline Method , 1987, IWDM.

[9]  Christopher John Hogger,et al.  Introduction to logic programming , 1986, A.P.I.C. Studies in data processing.

[10]  Hiroto Yasuura,et al.  On Parallel Computational Complexity of Unification , 1984, Fifth Generation Computer Systems.

[11]  Kang Zhang DIALOG : a dataflow interpretation approach to logic programs , 1990 .

[12]  T. Moto-Oka,et al.  Fifth Generation Computer Systems , 1982 .

[13]  M. V. Hermenegildo,et al.  Designing a high performance parallel logic programming system , 1987, CARN.

[14]  Doug DeGroot A Technique for Compiling Execution Graph Expressions for Restricted And-Parallelism in Logic Programs , 1988, J. Parallel Distributed Comput..

[15]  Lubomir F. Bic A Data-Driven Model for Parallel Interpretation of Logic Programs , 1984, FGCS.

[16]  John S. Conery Parallel Execution of Logic Programs , 1987 .

[17]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[18]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[19]  Ian Watson,et al.  The Manchester prototype dataflow computer , 1985, CACM.

[20]  David H. D. Warren,et al.  The SRI Model for Or-Parallel Execution of Prolog: Abstract Design and Implementation Issues , 1987, SLP.