Nested Parallel Call Optimization

We present a novel optimization called Last Parallel Call Optimization (LPCO) for parallel systems. The last parallel call optimization can be regarded as a parallel extension of last call optimization found in sequential systems. While the LPCO is fairly general, we use and-parallel logic programming systems to illustrate it and to report its performance on multiprocessor systems. The last parallel call optimization leads to improved time and space performance for a majority of and-parallel programs. We also present a generalization of the Last Parallel Call Optimization called Nested Parallel Call Optimization (NPCO). A major advantage of LPCO and NPCO is that parallel systems designed for exploiting control parallelism can automatically exploit data parallelism efficiently.

[1]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[2]  Enrico Pontelli,et al.  &ACE: a high-performance parallel Prolog system , 1995, IPPS.

[3]  Nancy Martin,et al.  Programming Expert Systems in OPS5 - An Introduction to Rule-Based Programming(1) , 1985, Int. CMG Conference.

[4]  Barbara M. Chapman,et al.  Supercompilers for parallel and vector computers , 1990, ACM Press frontier series.

[5]  Doug DeGroot,et al.  Restricted AND-Parallelism , 1984, FGCS.

[6]  Balkrishna Ramkumar Distributed last call optimization for portable parallel logic programming , 1992, LOPL.

[7]  Manuel V. Hermenegildo,et al.  A Note on Data-Parallelism and (And-Parallel) Prolog , 1994, ICLP Workshop: Parallel and Data Parallel Execution of Logic Programs.

[8]  Enrico Pontelli,et al.  ACE: And/Or-parallel Copying-based Execution of Logic Programs , 1994, ICLP.

[9]  Manuel V. Hermenegildo,et al.  An Abstract Machine for Restricted AND-Parallel Execution of Logic Programs , 1986, ICLP.

[10]  李幼升,et al.  Ph , 1989 .

[11]  Khayri A. M. Ali,et al.  The Muse Or-Parallel Prolog Model and its Performance , 1990, NACLP.

[12]  Håkan Millroth,et al.  Reform Prolog: The Language and Its Implementation , 1993, ICLP.

[13]  Enrico Pontelli,et al.  &ACE: the And-parallel Component of ACE (A Progress Report on ACE) , 1994, ICLP Workshop: Parallel and Data Parallel Execution of Logic Programs.

[14]  Kish Shen Studies of and/or parallelism in Prolog , 1992 .

[15]  David S. Warren MultiLog: Data Or-Parallel Logic Programming , 1993 .

[16]  Enrico Pontelli,et al.  Determinacy Driven Optimizations of And-Parallel Prolog Implementations , 1995, ICLP.

[17]  Elaine Kant,et al.  Programming expert systems in OPS5 , 1985 .

[18]  Manuel V. Hermenegildo,et al.  &-Prolog and its Performance: Exploiting Independent And-Parallelism , 1990, ICLP.