Skip to main content

Parallelism via speculation in pure Prolog

  • Computer Architecture, Concurrency, Parallelism, Communication And Networking
  • Conference paper
  • First Online:
Advances in Computing and Information — ICCI '90 (ICCI 1990)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 468))

Included in the following conference series:

Abstract

A parallel execution model of Prolog programs based on speculative computation is presented. The model relies on three simple rules: unfolding, unrecursing and partial unrecursing. Speculative computation results by “guessing” to certain depth N where clauses should be unfolded. We show how this framework can be implemented efficiently by proposing an extension to the WAM architecture.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Biswas, P. and Su, S.C. and Yun, D.Y.Y.; A Scalable Abstract Machine Model to Support Limited-OR (LOR)/Restricted-AND Parallelism (RAP) in Logic Programs; Proceeding of the 5th International Conference on Logic Programming; 1988.

    Google Scholar 

  2. Ciepielewski, A. and Haridi, S.; A Formal Model For Or-Parallel Execution of Logic Programs; IFIP 83.

    Google Scholar 

  3. Clark, K.L. and Gregory, S.; PARLOG: Parallel programming in logic; ACM Trans. Prog. Lang. Syst. 8,1; Jan 1986.

    Google Scholar 

  4. Clocksin, W.F. and Alshawi, H.; A Method for Efficiently Executing Horn Clause Programs Using Multiple Processors; Technical Report, Computer Laboratory; University of Cambridge; 1986.

    Google Scholar 

  5. Conery, J; The AND/OR Process Model for Parallel Interpretation of Logic Programs; PhD thesis; University of California, Irvine; 1983. Revised version appears in: Parallel Execution Of Logic Programs; Kluwer Academic Publishers; Boston; 1987

    Google Scholar 

  6. Conery, J.; Binding Environments for Parallel Logic Programs in Non-Shared Memory Multiprocessors; Proceeding of 1987 Symposium on Logic Programming; San Francisco, California; 1987.

    Google Scholar 

  7. Degroot, D.; Restricted And-Parallelism; Proceeding of the International Conference on Fifth Generation Computer Systems; 1984.

    Google Scholar 

  8. Dietrich, Suzanne Wagner; Extension Tables: Memo Relations in Logic Programming; IEEE Symposium on Logic Programming, 1987.

    Google Scholar 

  9. Halstead, R.; Parallel Symbolic Computing; IEEE Computer 19:8; August 1986.

    Google Scholar 

  10. Hausman, B. and Ciepielewski, A. and Haridi, S.; OR-parallel Prolog Made Efficient on Shared Memory Multiprocessors; Proceeding of 1987 Symposium on Logic Programming; San Francisco, California; 1987.

    Google Scholar 

  11. Hermenegildo, M. and Nasr, R; Efficient Management of Backtracking in AND-Parallelism; Proceedings of the Third International Conference on Logic Programming; London, England; 1986.

    Google Scholar 

  12. Janakiram, V., Agrawal, D., and Mehrotra, R.; A Randomized Parallel Backtracking Algorithm; IEEE Transaction on Computers; Vol 37, No 12; December 1988.

    Google Scholar 

  13. Jefferson D. Virtual Time; TOPLAS; July 1985.

    Google Scholar 

  14. Kalé, L.V.; ‘Completeness’ and ‘Full Parallelism’ of Parallel Logic Programming Schemes; Proceeding of 1987 Symposium on Logic Programming; San Francisco, California; 1987.

    Google Scholar 

  15. Kalé, L.; The Reduce-Or Process Model for Parallel Evaluation of Logic Programs; Proceeding of the 4th International Conference on Logic Programming; 1987.

    Google Scholar 

  16. Kowalski, Robert; Logic For Problem Solving; North-Holland, New York; 1979.

    Google Scholar 

  17. Kranz, David and Halstead, Robert and Mohr, Eric; Mul-T: A High Performance Parallel Lisp; SigPlan 1989 Conference on Programming Language Design and Implementation.

    Google Scholar 

  18. Li, P and Martin, A; The Sync Model: A Parallel Execution Method for Logic Programming; Proceedings of the 1986 Symposium of Logic Programming; Salt Lake City; Utah 1986.

    Google Scholar 

  19. Lin, Zheng; Expected Performance of the Randomized Parallel Backtracking Method; North American Conference on Logic Programming; 1989.

    Google Scholar 

  20. Osborne, Randy; Speculative Computation in Multilisp; Proceedings of U.S./Japan Workshop on Parallel Lisp; Sendai, Japan; June 5–8 1989.

    Google Scholar 

  21. Ramkumar, Balkrishna and Kalé, Laxmikant; Compiled Execution of the Reduce-Or Process Model on Multiprocessors; North American Conference on Logic Programming; Cleveland, Ohio; 1989.

    Google Scholar 

  22. Shapiro, E.Y.; A Subset of Concurrent PROLOG and its Interpreter; Technical Report TR-003, ICOT; Tokyo; 1983.

    Google Scholar 

  23. Shapiro, Ehud; An Or-Parallel Execution Algorithm for Prolog and its FCP Implementation; Proceeding of the 1987 International Conference on Logic Programming; Melbourne, Australia; 1987.

    Google Scholar 

  24. Tamaki, H. and Sato, T.; Unfold/fold Transformation of Logic Programs; Proceedings of 2nd International Conference on Logic Programming; Uppsala; 1984.

    Google Scholar 

  25. Warren, D.H.D.; An Abstract Prolog Instruction Set; Technical Note 309; SRI International, AI Center, Computer Science and Technology Division; 1983.

    Google Scholar 

  26. Warren, D.H.D.; Or-Parallel Execution Models of Prolog; Proceedings of the International Joint Conference on Theory and Practise of Software Development (TAP-SOFT); Pisa, Italy; March 1987. (Also in LNCS 250).

    Google Scholar 

  27. Warren, D.H.D.; The SRI Model for Or-Parallel Execution of Prolog — Abstract Design and Implementation; Proceeding of 1987 Symposium on Logic Programming; San Francisco, California; 1987.

    Google Scholar 

  28. Warren, D.S.; The XWAM: A Machine that Integrates Prolog and Deductive Database Query Evaluation; Tech. Report 89/25; SUNY Stony Brook; 1989.

    Google Scholar 

  29. Yasuhara, H. and Nitadori, K.; ORBIT: A Parallel Computing Model of Prolog; New Generation Computing; 2:277–288; 1984.

    Google Scholar 

  30. Yu, B; Side Effects and Other Implementation Issues in Speculative Optimistic Parallelism in Prolog; in preparation; 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

S. G. Akl F. Fiala W. W. Koczkodaj

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yu, B. (1991). Parallelism via speculation in pure Prolog. In: Akl, S.G., Fiala, F., Koczkodaj, W.W. (eds) Advances in Computing and Information — ICCI '90. ICCI 1990. Lecture Notes in Computer Science, vol 468. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53504-7_98

Download citation

  • DOI: https://doi.org/10.1007/3-540-53504-7_98

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53504-1

  • Online ISBN: 978-3-540-46677-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics