skip to main content
The and/or process model for parallel interpretation of logic programs
Publisher:
  • University of California, Irvine
Order Number:AAI8327921
Pages:
168
Bibliometrics
Skip Abstract Section
Abstract

Current techniques for interpretation of logic programs involve a sequential search of a global tree of procedure invocations. This dissertation introduces the AND/OR Process Model, a method for interpretation by a system of asynchronous, independent processes that communicate only by messages. The method makes it possible to exploit two distinct forms of parallelism. OR parallelism is obtained from evaluating nondeterministic choices in parallel. AND parallelism arises in the execution of deterministic functions, such as matrix multiplication or divide and conquer algorithms, that are inherently parallel. The two forms of parallelism can be exploited at the same time. This means AND parallelism can be applied to clauses that are composed of several nondeterministic components, and it can recover from incorrect choices in the solution of these components. In addition to defining parallel computations, the model provides a more defined procedural semantics for logic programs; that is, parallel interpreters based on this model are able to generate answers to queries that cause standard interpreters to go into an infinite loop. The interpretation method is intended to form the theoretical framework of a highly parallel non von Neumann computer architecture; the dissertation concludes with a discussion of issues involved in implementing the abstract interpreter on a multiprocessor.

Cited By

  1. Gras D and Hermenegildo M (2009). Non-strict independence-based program parallelization using sharing and freeness information, Theoretical Computer Science, 410:46, (4704-4723), Online publication date: 1-Nov-2009.
  2. Pontelli E and Gupta G (2001). Backtracking in Independent And-Parallel Implementations of Logic Programming Languages, IEEE Transactions on Parallel and Distributed Systems, 12:11, (1169-1189), Online publication date: 1-Nov-2001.
  3. Arias R, Vela C, Peinador J and González C (2019). Parallel Logic Programming for Problem Solving, International Journal of Parallel Programming, 28:3, (275-319), Online publication date: 1-Jun-2000.
  4. ACM
    Tsai J, Li B and Juan E (1997). Parallel evaluation of software architecture specifications, Communications of the ACM, 40:1, (83-86), Online publication date: 1-Jan-1997.
  5. Barklund J (1994). Bounded quantifications for iteration and concurrency in logic programming, New Generation Computing, 12:2, (161-182), Online publication date: 1-Mar-1994.
  6. Huang Z and Hu S (1990). Detection of and-parallelism in logic programs, Journal of Computer Science and Technology, 5:4, (379-387), Online publication date: 1-Oct-1990.
  7. ACM
    Singhal A and Patt Y A high performance Prolog processor with multiple function units Proceedings of the 16th annual international symposium on Computer architecture, (195-202)
  8. ACM
    Singhal A and Patt Y (1989). A high performance Prolog processor with multiple function units, ACM SIGARCH Computer Architecture News, 17:3, (195-202), Online publication date: 1-Jun-1989.
  9. ACM
    Ramakrishnan R Parallelism in logic programs Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (246-260)
  10. ACM
    Nguyen T, Srini V and Despain A A two-tier memory architecture for high-performance multiprocessor systems Proceedings of the 2nd international conference on Supercomputing, (326-336)
  11. Singhal A and Patt Y Implementing a Prolog machine with multiple functional units Proceedings of the 21st annual workshop on Microprogramming and microarchitecture, (41-49)
  12. Somogyi Z, Ramamohanarao K and Vaghani J (1989). A backtracking algorithm for the stream AND-parallel execution of logic programs, International Journal of Parallel Programming, 17:3, (207-257), Online publication date: 1-Jun-1988.
  13. ACM
    Hermenegildo M and Warren R (1987). Designing a high performance parallel logic programming system, ACM SIGARCH Computer Architecture News, 15:1, (43-52), Online publication date: 1-Mar-1987.
  14. ACM
    Fagin B and Despain A Performance studies of a parallel Prolog architecture Proceedings of the 14th annual international symposium on Computer architecture, (108-116)
  15. ACM
    Chung W and Day W The process allocation in parallel interpretation of logic programs (abstract only) Proceedings of the 15th annual conference on Computer Science
  16. Tzu Y and Sun C Parallel execution of logic programs in the framework of OR-Forest Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow, (586-593)
  17. Conery J and Kibler D (1985). AND parallelism and nondeterminism in logic programs, New Generation Computing, 3:1, (43-70), Online publication date: 1-Mar-1985.
  18. ACM
    Humphrey S and Krovetz B (1984). Selected AI-related dissertations, ACM SIGART Bulletin:88, (21-23), Online publication date: 1-Apr-1984.
Contributors
  • University of Oregon

Recommendations