skip to main content
An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel
Publisher:
  • The University of Texas at Austin
Order Number:AAI8700203
Pages:
268
Bibliometrics
Skip Abstract Section
Abstract

The term "Logic Programming" refers to a variety of computer languages and execution models which are based on the traditional concept of Symbolic Logic. The expressive power of these languages offers promise to be of great assistance in facing the programming challenges of present and future symbolic processing applications in Artificial Intelligence, Knowledge-based systems, and many other areas of computing. The sequential execution speed of logic programs has been greatly improved since the advent of the first interpreters. However, higher inference speeds are still required in order to meet the demands of applications such as those contemplated for next generation computer systems. The execution of logic programs in parallel is currently considered a promising strategy for attaining such inference speeds. Logic Programming in turn appears as a suitable programming paradigm for parallel architectures because of the many opportunities for parallel execution present in the implementation of logic programs.

This dissertation presents an efficient parallel execution model for logic programs. The model is described from the source language level down to an "Abstract Machine" level, suitable for direct implementation on existing parallel systems or for the design of special purpose parallel architectures. Few assumptions are made at the source language level and therefore the techniques developed and the general Abstract Machine design are applicable to a variety of logic (and also functional) languages. These techniques offer efficient solutions to several areas of parallel Logic Programming implementation previously considered problematic or a source of considerable overhead, such as the detection and handling of variable binding conflicts in AND-Parallelism, the specification of control and management of the execution tree, the treatment of distributed backtracking, and goal scheduling and memory management issues etc.

A parallel Abstract Machine design is offered, specifying data areas, operation, and a suitable instruction set. This design is based on extending to a parallel environment the techniques introduced by the Warren Abstract Machine, which have already made very fast and space efficient sequential systems a reality. Therefore, the model herein presented is capable of retaining sequential execution speed similar to that of high performance sequential systems, while extracting additional gains in speed by efficiently implementing parallel execution. These claims are supported by simulations of the Abstract Machine on sample programs.

Cited By

  1. ACM
    Cruz F, Rocha R and Goldstein S Design and Implementation of a Multithreaded Virtual Machine for Executing Linear Logic Programs Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming, (43-54)
  2. Chico de Guzm$#225;n P, Casas A, Carro M and Hermenegildo M A segment-swapping approach for executing trapped computations Proceedings of the 14th international conference on Practical Aspects of Declarative Languages, (138-152)
  3. Rocha R, Silva F and Costa V (2005). On applying or-parallelism and tabling to logic programs, Theory and Practice of Logic Programming, 5:1-2, (161-205), Online publication date: 1-Jan-2005.
  4. 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.
  5. 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.
  6. ACM
    Debray S, Lin N and Hermnegildo M Task granularity analysis in logic programs Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation, (174-188)
  7. ACM
    Debray S, Lin N and Hermnegildo M (1990). Task granularity analysis in logic programs, ACM SIGPLAN Notices, 25:6, (174-188), Online publication date: 1-Jun-1990.
  8. ACM
    Guzman A and Hermenegildo M Constructs and evaluations strategies for intelligent speculative parallelism—armageddon revisited Proceedings of the 1988 ACM sixteenth annual conference on Computer science, (558-566)
  9. 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.
  10. ACM
    Mills J (1987). Coming to grips with a RISC: a report of the progress of the LOW RISC design group, ACM SIGARCH Computer Architecture News, 15:1, (53-62), Online publication date: 1-Mar-1987.
  11. ACM
    Humphrey S and Krovetz B (1987). SELECTED AI-RELATED DISSERTATIONS, ACM SIGART Bulletin:101, (28-31), Online publication date: 1-Jul-1987.
Contributors
  • Technical University of Madrid

Recommendations