Massively parallel execution of logic programs: A static approach

A static model for the parallel execution of logic programs on MIMD distributed memory systems is presented where a refutation is implemented through a process network returned by the compilation of the logic program. The model supports Restricted-AND, OR and stream parallelism and it is integrated with a set of static analyses to optimise the process network. Altogether, the processes interact according to a static data driven model with medium grain operators. Data flowing in the network is tagged to distinguish bindings belonging to the same refutation. A scheduling strategy to integrate low level scheduling and message flow control has been defined. Performance figures are presented.

[1]  Bart Demoen,et al.  Abstract Interpretation: Towards the Global Optimization of Prolog Programs , 1987, SLP.

[2]  D. Marini,et al.  Transputer Applications and Systems '94 , 1994 .

[3]  Ryuzo Hasegawa,et al.  Parallel Execution of Logic Programs based on Dataflow Concept , 1984, Fifth Generation Computer Systems.

[4]  Ehud Shapiro,et al.  Concurrent PROLOG: Collected Papers , 1987 .

[5]  Laura Ricci,et al.  Congestion Prevention by Bounding in Distributed Memory Systems , 1994 .

[6]  William J. Dally,et al.  Network and processor architecture for message-driven computers , 1990 .

[7]  Evan Tick A Performance Comparison of AND- and OR-Parallel Logic Programming Architectures , 1989, ICLP.

[8]  Leslie G. Valiant,et al.  Optimality of a Two-Phase Strategy for Routing in Interconnection Networks , 1983, IEEE Transactions on Computers.

[9]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[10]  Vipin Kumar,et al.  A Parallel Execution Scheme for Exploiting and Parallelism of Logic Programs , 1986, ICPP.

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

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

[13]  Michael Codish,et al.  Bottum-up abstract interpretation of logic programs , 1992 .

[14]  William J. Dally,et al.  Virtual-channel flow control , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[15]  Laura Ricci,et al.  Detecting Determinate Computations by Bottom-up Abstract Interpretation , 1992, ESOP.

[16]  Manuel V. Hermenegildo,et al.  Efficient Management of Backtracking in AND-Parallelism , 1986, ICLP.

[17]  Heikki Mannila,et al.  Flow Analysis of Prolog Programs , 1987, SLP.

[18]  Gary Lindstrom,et al.  A Performance-Oriented Design for OR-Parallel Logic Programming , 1987, ICLP.

[19]  Laura Ricci,et al.  Pipeline optimizations in and-parallelism by abstract interpretation , 1990 .

[20]  Doug DeGroot A Technique for Compiling Execution Graph Expressions for Restricted and Parallelism in Logic Programs , 1987, ICS.

[21]  Allan Borodin,et al.  Routing, Merging, and Sorting on Parallel Models of Computation , 1985, J. Comput. Syst. Sci..

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

[23]  Saumya K. Debray,et al.  Functional computations in logic programs , 1989, TOPL.

[24]  Clement T. Yu,et al.  Linearization of Nonlinear Recursive Rules , 1989, IEEE Trans. Software Eng..

[25]  Francine Berman,et al.  On Mapping Parallel Algorithms into Parallel Architectures , 1987, J. Parallel Distributed Comput..

[26]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[27]  David H. D. Warren,et al.  Or-Parallel Execution Models of Prolog , 1987, TAPSOFT, Vol.2.

[28]  Alvin M. Despain,et al.  The Performance of Parallel Prolog Programs , 1990, IEEE Trans. Computers.

[29]  M. Ronan Sleep,et al.  Transputer-Based Experiments with the ZAPP Architecture , 1987, PARLE.

[30]  Jake K. Aggarwal,et al.  A Mapping Strategy for Parallel Processing , 1987, IEEE Transactions on Computers.

[31]  Laura Ricci Compilation of logic programs for massively parallel systems , 1990 .

[32]  Gerhard Barth,et al.  RAPiD A Data Flow Model for Implementing Parallelism and Intelligent Backtracking in Logic Programs , 1989, PARLE.

[33]  William J. Dally,et al.  Universal Mechanisms for Concurrency , 1989, PARLE.

[34]  Manuel V. Hermenegildo,et al.  An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs , 1986, ICLP.

[35]  Kim Marriott,et al.  Bottom-up Abstract Interpretation of Logic Programs , 1988, ICLP/SLP.

[36]  Arvind,et al.  The U-Interpreter , 1982, Computer.

[37]  Gregory F. Pfister,et al.  “Hot spot” contention and combining in multistage interconnection networks , 1985, IEEE Transactions on Computers.

[38]  Anthony J. G. Hey,et al.  Experiments in mimd parallelism , 1989, Future Gener. Comput. Syst..

[39]  Chris Hankin,et al.  Abstract Interpretation of Declarative Languages , 1987 .