Skip to main content
Log in

A parallel implementation of Flat Concurrent Prolog

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Flat 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. W. B. Ackerman, Data Flow Languages,Computer 15(2):15–25 (February 1982).

    Google Scholar 

  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).

  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).

    Google Scholar 

  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).

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  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).

    Google Scholar 

  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).

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Taylor, S., Safra, S. & Shapiro, E. A parallel implementation of Flat Concurrent Prolog. Int J Parallel Prog 15, 245–275 (1986). https://doi.org/10.1007/BF01414556

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01414556

Key words

Navigation