MACHINE-INDEPENDENT AND AND OR PARALLEL EXECUTION OF LOGIC PROGRAMS .2. COMPILED EXECUTION

Citation
B. Ramkumar et Lv. Kale, MACHINE-INDEPENDENT AND AND OR PARALLEL EXECUTION OF LOGIC PROGRAMS .2. COMPILED EXECUTION, IEEE transactions on parallel and distributed systems, 5(2), 1994, pp. 181-192
Citations number
48
Categorie Soggetti
System Science","Engineering, Eletrical & Electronic","Computer Science Theory & Methods
ISSN journal
10459219
Volume
5
Issue
2
Year of publication
1994
Pages
181 - 192
Database
ISI
SICI code
1045-9219(1994)5:2<181:MAAOPE>2.0.ZU;2-N
Abstract
In Part I of this paper, we presented a binding environment for the AN D and OR parallel execution of logic programs. This environment was in strumental in rendering a compiler for the AND and OR parallel executi on of logic programs machine independent. 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 workstatio ns. The compiler is part of a machine independent parallel Prolog deve lopment system built on top of a run time environment for parallel pro gramming called the Chare kernel, and runs unchanged on these multipro cessors. In keeping with the objectives behind the ROPM, the compiler supports both OR and independent AND parallelism in Prolog programs an d is suitable for execution on both shared and nonshared memory machin es. We discuss the performance of the Prolog compiler in some detail a nd describe how grain size can be used to deliver performance that is within 10% of the underlying sequential Prolog compiler on one process or, and scale linearly with increasing number of processors on problem s exhibiting sufficient parallelism. The loose coupling between parall el and sequential components makes it possible to use the best availab le sequential compiler as the sequential component of our compiler.