A technique for compiling execution graph expressions for restricted and-parallelism in logic programs

  • Doug DeGroot
Session 11: Parallel Processing IV
Part of the Lecture Notes in Computer Science book series (LNCS, volume 297)


An efficient model of and-parallel execution of logic programs has been described; this model is called the Restricted And-Parallelism model. It uses a compile-time data-dependence analysis to generate single execution graph expressions for the clauses in a Prolog program. These execution graph expressions use simple run-time tests to determine the possibilities of parallelism. An algorithm has been presented which automatically produces these execution graphs. The algorithm can be significantly improved by using the results of program-level data-dependence analysis; these improvements are currently the focus of additional research in this area.


Logic Program Parallel Execution Typing Algorithm Prolog Program Logic Programming Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Banerjee 76]
    Utpal Banerjee, Data Dependence in Ordinary Programs, M S Thesis, University of Illinois at Urbana-Champaign, DCS Report No, UIUCDCS-R-76-837, November, 1976.Google Scholar
  2. [Carlton 88]
    Mike Carlton and Peter Van Roy, "A Distributed Prolog System with And-Parallelism," Dept. of EECS, Univ. of California at Berkeley, submitted to the 1988 Hawaii International Conference on System Sciences, 1988.Google Scholar
  3. [Chang 85]
    Jung-Herng Chang, Alvin Despain, and Doug DeGroot, "AND-Parallelism of Logic Programs Bases on a Static Data-Dependency Analysis," Procs of the Spring Compcon 85. IEEE Computer Society Press, 1985, pp. 281–225.Google Scholar
  4. [Clark 86]
    Keith Clark and Steve Gregory, "PARLOG: Parallel programming in logic," ACM Transactions on Programming Languages and Systems, January, 1986, pp. 1–49.Google Scholar
  5. [Conery 81]
    John Conery and Dennis Kibler, "Parallel Interpretation of Logic Programs," Procs. of the Conf. on Functional Programming Languages and Computer Architecture, ACM, 1981, pp. 163–170.Google Scholar
  6. [Conery 87]
    John Conery, Parallel Execution of Logic Programs, Kluwer Academic Publishers, 1987.Google Scholar
  7. [DeGroot 84]
    Doug DeGroot, "Restricted And-Parallelism," Proceedings of the International Conference on Fifth Generation Computer Systems 1984, North Holland, 1984, pp. 471–478.Google Scholar
  8. [DeGroot 85]
    Doug DeGroot and Jung-Herng Chang, "A Comparison of Two And-Parallel Execution Models," Hardware and Software Components and Architectures for the 5th Generation, AFCET Informatique, March 1985, Paris, pp. 271–280.Google Scholar
  9. [DeGroot 87]
    Doug DeGroot, "Restricted And-Parallelism and Side-Effects," Procs. of the Symposium on Logic Programming, IEEE Computer Society, San Francisco, 1987.Google Scholar
  10. [DeGroot 88a]
    Doug DeGroot, "Restricted And-Parallelism and Side-Effects in Logic Programming," in Supercomputers and AI Machines, Kai Hwwang and Doug DeGroot, Editors, McGraw-Hill, to be published, 1988.Google Scholar
  11. [DeGroot 88b]
    Doug DeGroot, "And-Parallelism in Logic Programs," in Advanced Semiconductor Technology and Computer Systems, Guy Rabbat, Ed., Van Nostrand Reinhold, New York, 1988.Google Scholar
  12. [Hermenegildo 87]
    Manuel Hermenegildo, A Restricted And-Parallel Execution Model and Abstract Machine for Prolog Programs, Kluwer Academic Press, 1987.Google Scholar
  13. [Jaffar 87]
    Joxan Jaffar and Jean-Louis Lassez, "Constraint Logic Programming," Technical Report, Dept. of Computer Science, Monash University, Australia, June, 1986.Google Scholar
  14. [Kowalski 74]
    Bob Kowalski, "Predicate Logic as a Programming Language," Procs. of the IFIP Congress, North-Holland, 1974, pp. 569–574.Google Scholar
  15. [Kuck 78]
    Dave Kuck, The Structure of Computers and Computations, Vol. 1, John Wiley and Sons, New York, 1978.Google Scholar
  16. [Lloyd 84]
    John Lloyd, Foundations of Logic Programming, Springer-Verlag, 1984.Google Scholar
  17. [Mellish 81]
    Chris Mellish, "The Automatic Generation of Mode Declarations for Prolog Programs," DAI Research Paper 163, Dept. of Artificial Intelligence, Univ. of Edinburgh, August 1981.Google Scholar
  18. [Pollard 81]
    G. H. Pollard, Parallel Execution of Horn Clause Programs, Ph.D. dissertation, University of London, Imperial College of Science & Technology, United Kingdom, 1981.Google Scholar
  19. [Reddy 86]
    Uday S. Reddy, "On the relationship between logic and functional languages," in Logic Programming: Functions, Relations, and Equations, Doug DeGroot and Gary Lindstrom, Editors, Prentice-Hall, 1986, pp. 3–36.Google Scholar
  20. [Shapiro 83]
    Ehud Shapiro, "A Subset of Concurrent Prolog and Its Interpreter," ICOT Tech. Report TR-003, ICOT, Tokyo, February, 1983.Google Scholar
  21. [Shapiro 86]
    Ehud Shapiro, The Art of Prolog, MIT Press, 1986.Google Scholar
  22. [Tung 84]
    Yu-Wen Tung and Dan I. Moldovan, "Detection of And-Parallelism in Logic Programming," Procs. of the 1986 Int'l Conf. on Parallel Processing, IEEE, 1986, pp. 984–991.Google Scholar
  23. [Tung 86]
    Yu-Wen Tung, Parallel Processing Model for Logic Programming, Ph.D. Dissertation, Dept. of EE, Univ. of Southern California, 1986.Google Scholar
  24. [Warren 83]
    David H.D. Warren, "An Abstract Prolog Instruction Set," Tech. Note 309, SRI International, Oct. 1983.Google Scholar
  25. [Wise 86]
    Michael Wise, Prolog Multiprocessors, Prentice/Hall International editions, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Doug DeGroot
    • 1
  1. 1.Texas Instruments Computer Science CenterUSA

Personalised recommendations