Automatic compile-time parallelization of logic programs for restricted, goal level, independent and parallelism

Citation
K. Muthukumar et al., Automatic compile-time parallelization of logic programs for restricted, goal level, independent and parallelism, J LOGIC PR, 38(2), 1999, pp. 165-218
Citations number
85
Categorie Soggetti
Computer Science & Engineering
Journal title
JOURNAL OF LOGIC PROGRAMMING
ISSN journal
07431066 → ACNP
Volume
38
Issue
2
Year of publication
1999
Pages
165 - 218
Database
ISI
SICI code
0743-1066(199902)38:2<165:ACPOLP>2.0.ZU;2-M
Abstract
A framework for the automatic parallelization of (constraint) logic program s is proposed and proved correct. Intuitively, the parallelization process replaces conjunctions of literals with parallel expressions. Such expressio ns trigger at run-time the exploitation of restricted, goal-level, independ ent and parallelism. The parallelization process performs two steps. The fi rst one builds a conditional dependency graph (which can be simplified usin g compile-time analysis information), while the second transforms the resul ting graph into linear conditional expressions, the parallel expressions of the &-Prolog language. Several heuristic algorithms for the latter ("annot ation") process are proposed and proved correct. Algorithms are also given which determine if there is any loss of parallelism in the linearization pr ocess with respect to a proposed notion of maximal parallelism. Finally, a system is presented which implements the proposed approach. The performance of the different annotation algorithms is compared experimentally in this system by studying the time spent in parallelization and the effectiveness of the results in terms of speedups. (C) 1999 Elsevier Science Inc. All rig hts reserved.