Machih independent and and or Parallel Execution of Logic Programs: Part II—Compiled Execution

Balkrishna Ramkumar, Laxmikant V. Kale

Research output: Contribution to journalArticlepeer-review

Abstract

In Part I of this paper, we presented a binding environment for the and and or parallel execution of logic programs. This environment was instrumental in rendering a compiler for the and and or parallel execution of logic programs machine independe In this paper, we describe a compiler based on the Reduce-OR process model (ROPM) for the parallel execution of Prolog programs, and provide performance of the compiler on five parallel machines: the Encore Multimax, the Sequent Symmetry, the NCUBE 2, the Intel i860 hypercube and a network of Sun workstations. The compiler is part of a machine independent parallel Prolog development system built on top of a run time environment for parallel programming called the Chare kernel, and runs unchanged on these multiprocessors. In keeping with the objectives behind the ROPM, the compiler supports both or and independent and parallelism in Prolog programs and is suitable for execution on both shared and nonshared memory machines. We discuss the performance of the Prolog compiler in some detail and describe how grain size can be used to deliver performance that is within 10% of the underlying sequential Prolog compiler on one processor, and scale linearly with increasing number of processors on problems exhibiting sufficient parallelism. The loose coupling between parallel and sequential components makes it possible to use the best available sequential compiler as the sequential component of our compiler.

Original languageEnglish (US)
Pages (from-to)181-192
Number of pages12
JournalIEEE Transactions on Parallel and Distributed Systems
Volume5
Issue number2
DOIs
StatePublished - Feb 1994

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'Machih independent and and or Parallel Execution of Logic Programs: Part II—Compiled Execution'. Together they form a unique fingerprint.

Cite this