A parallel implementation of flat concurrent Prolog.

*(English)*Zbl 0614.68007Flat concurrent Prolog is a simple, practical, concurrent programming language which has an efficient uniprocessor implementation. This paper describes an initial parallel implementation of the language; it consists of an interpreter implemented on an Intel iPSC hypercube. The parallel execution of concurrent logic programming languages involves many nontrivial implementation problems. Some of these problems are well known and have been treated extensively in the literature. The most difficult task is to integrate problem solutions in a coherent and efficient manner. The algorithm presented has been useful in providing insights into the major problems and includes a number of novel ideas to simplify implementation. It does not attempt to solve all the problems involved but rather provides a workable basis for current and future research. The algorithm is under ongoing refinement, simplification and improvement.

##### Keywords:

logic programming; concurrent programming language; uniprocessor implementation; Intel iPSC hypercube; parallel execution
PDF
BibTeX
XML
Cite

\textit{S. Taylor} et al., Int. J. Parallel Program. 15, 245--275 (1986; Zbl 0614.68007)

Full Text:
DOI

##### References:

[1] | W. B. Ackerman, Data Flow Languages,Computer 15(2):15-25 (February 1982). · Zbl 05331709 |

[2] | S. Safra and E. Shapiro, Meta-Interpreters for Real,Proceedings of IFIP (to appear). |

[3] | S. Taylor, E. Av-Ron, and E. Shapiro, A Layered Method for Process and Code Mapping, Journal of New Generation Computing (in press). · Zbl 0624.68031 |

[4] | S. Safra, Partial Evaluation of Concurrent Prolog and Its Implications, CS86-24, Weizmann Institute of Science (July 1986). |

[5] | A. Houri and E. Shapiro, An Abstract Machine for Flat Concurrent Prolog,Tech. Rep. CS86-20, Weizmann Institute of Science (July 1986). |

[6] | E. Shapiro, Systolic Programming: A Paradigm for Parallel Processing,Proc. of Intl. Conf. on Fifth Generation Computer Systems, pp. 458-471 (November 1984). |

[7] | S. Taylor, L. Hellerstein, S. Safra, and E. Shapiro, Notes on the Complexity of Systolic Programs,Journal of Parallel and Distributed Computing (in press). |

[8] | H. T. Kung, Why Systolic Architectures?IEEE Computer 15:39 (January 1982). |

[9] | C. Mierowsky, S. Taylor, E. Shapiro, J. Levy, and S. Safra, The Design and Implementation of Flat Concurrent Prolog, Dept. of Computer Science, Weizmann Institute of Science, Rehovot, Isreal, Technical Report CS85-09 (July 1985). |

[10] | J. D. Ullman,Principles of Database Systems, Computer Science Press, Maryland (1982). · Zbl 0558.68078 |

[11] | E. G. Coffman and P. J. Denning,Operating Systems Theory, Prentice-Hall, Englewood Cliffs, New Jersey (1973). |

[12] | J. W. Havender, Avoiding Deadlock in Multitasking Systems,IBM Systems Journal 7(2):74-84 (1968). |

[13] | K. S. Weng, Stream-oriented Computation in Recursive Data Flow Schemes,? MIT Cambridge, MA., Techn. Rep. MTMM-68 (October 1975). |

[14] | R. M. Keller and G. Lindstrom, Applications of Feedback in Functional Programming, Conference on Functional Languages and Computer Architecture, pp. 123-130 (Ocober 1981). |

[15] | P. C. Treleaven, D. R. Brownbridge, and R. P. Hopkins, Data-driven and demand-driven computer architecture.Computing Surveys 14(1):93-143 (March 1982). |

[16] | Arvind and R. E. Thomas, I-Structures: An Efficient Data Type for Functional Languages, MIT Laboratory for Computer Science, Tech. Man. TM-178, MIT, Cambridge Mass. (September 1978). |

[17] | U. Bar-on, A Distributed Implementation of Flat Concurrent Prolog, Weizmann Institute of Science, Department of Applied Mathematics, Rehovot, Israel., Masters Thesis (1986). · Zbl 0614.68007 |

[18] | H. Tamaki, A Distributed Unification Scheme for Systolic Logic Programs,Proc. Intl. Conf. Parallel Processing, pp. 552-559 (August 1985). |

This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.