This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
The Performance of Parallel Prolog Programs
December 1990 (vol. 39 no. 12)
pp. 1434-1445

Performance results are presented for a parallel execution model for Prolog that supports AND-parallelism, OR-parallelism, and intelligent backtracking. The results show that restricted AND-parallelism is of limited benefit for small programs, but produced speedups from 7-10 on two large programs. OR-parallelism was found to be generally not useful for the benchmarks examined if the semantics of Prolog were preserved. Of particular interest is the phenomenon of super-multiplicative behavior, in which the performance improvement obtained when more than one technique is used is greater than the product of the performance improvements due to each technique individually. The implications of the performance results for parallel Prolog systems are discussed, and directions for future work are indicated.

[1] L. Bic, "A data-driven model for parallel interpretation of logic programs," inProc. Int. Conf. Fifth Generation Comput. Syst., 1984, pp. 517-523.
[2] P. Borgwardt, "Parallel Prolog stack segments on shared-memory multiprocessors," inProc. 1984 Symp. Logic Programming, Feb. 1984, pp. 2-11.
[3] M. Carlton and P. V. Roy, "A distributed Prolog system with AND-parallelism," inProc. Hawaii Int. Conf. Syst. Sci. '88, Honolulu, Hawaii, Jan. 1988, submitted for publication.
[4] J. H. Chang and A. M. Despain, "Semi-intelligent backtracking of Prolog based on a static data dependency analysis," inProc. Third Int. Logic Programming Conf., 1985.
[5] A. Ciepielewski and S. Haridi, "A formal model for OR-parallel execution of logic programs," inProc. Inform. Processing '83, 1983, pp. 299-305.
[6] A. Ciepielewski and B. Hausman, "Performance evaluation of a storage model for OR-parallel execution of logic languages," inProc. 3rd IEEE Symp. Logic Programming, Salt Lake City, UT, 1986, pp. 246-257.
[7] W. Citrin, "Parallel unification scheduling in Prolog," Ph.D. dissertation, Dec. 1986.
[8] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[9] J. S. Conery, "The AND/OR model for parallel interpretation of logic programs," Dep. Inform. Comput. Sci., Univ. of California, Irvine, 1983.
[10] J. Crammond, "A comparative study of unification algorithms for OR-parallel execution of logic languages,"IEEE Trans. Comput., vol. C-34, no. 10, pp. 911-917, Oct. 1985.
[11] D. DeGroot, "Restricted AND-parallelism," inProc. Int. Conf. Fifth Generation Comput. Syst., 1984, pp. 471-478.
[12] P. Dembinski and J. Maluszynski, "AND-parallelism with intelligent backtracking for annotated logic programs," inProc. 1985 Symp. Logic Programming, July 1985, pp. 29-38.
[13] J. B. Dennis and K. S. Weng, "An abstract implementation for concurrent computation with streams," inProc. 1979 Int. Conf. Parallel Processing, Aug. 1979, pp. 35-45.
[14] T. Dobry, PLM Simulator Reference Manual, 1985.
[15] T. Dobry, "A high performance architecture for Prolog," Univ. of California, Berkeley, CA, Rep. UCB/Comput. Sci. Dept. 87/352, May 1987.
[16] C. Dwork et al., "On the Sequential Nature of Unification,"J. Logic Programming, Vol. 1, No. 1, June 1984, pp. 35-50.
[17] B. Fagin and T. Dobry, "The Berkeley PLM instruction set: An instruction set for Prolog," Tech. Rep. UCB/CSD 86/257, Comput. Sci. Div., Univ. of California, Berkeley, Sept. 1985.
[18] B. S. Fagin, "A parallel execution model for Prolog," Comput. Sci. Division, Univ. of California, Berkeley, CA, Rep. UCB/Computer Science Dept. 87/380, Nov. 1987.
[19] B. S. Fagin, "Performance studies of a parallel Prolog architecture," inProc. 14th Int. Symp. Comput. Architecture, Pittsburgh, PA, June 1987, pp. 108-116.
[20] R. Hasegawa and M. Amamiya, "Parallel execution of logic programs based on dataflow concept," inProc. Int. Conf. Fifth Generation Comput. Syst., 1984, pp. 507-516.
[21] P. Henderson,Functional Programming, 1980.
[22] M. V. Hermenegildo, "An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel," Dep. Comput. Sci., Univ. Texas at Austin, Austin, TX, Aug. 1986.
[23] K. Hwang, J. Ghosh, and R. Chowkwanyum, "Computer architectures for artificial intelligence processing,"IEEE Comput. Mag., vol. 20, pp. 19-27, Jan. 1987.
[24] P. P. Li and A. J. Martin, "The Sync model: A parallel execution method for logic programming," inProc. 3rd IEEE Symp. Logic Programming, Salt Lake City, UT, 1986, pp. 223-234.
[25] G. Lindstrom, "OR-parallelism on applicative architectures," inProc. Second Int. Logic Programming Conf., July 1984, pp. 159-170.
[26] T. Moto-Oka, "The architecture of a parallel inference engine--PIE," inProc. Int. Conf. Fifth Generation Comput. Syst., 1984, pp. 479-488.
[27] L. Sterling and E. Shapiro,The Art of Prolog. Cambridge, MA: MIT Press, 1986.
[28] J. Syre and H. Westphal, "A review of parallel models for logic programming languages," ECRC Tech. Rep. CA-07, June 1985.

Index Terms:
performance; parallel Prolog programs; AND-parallelism; OR-parallelism; intelligent backtracking; super-multiplicative behavior; parallel programming; performance evaluation; PROLOG.
Citation:
B.S. Fagin, A.M. Despain, "The Performance of Parallel Prolog Programs," IEEE Transactions on Computers, vol. 39, no. 12, pp. 1434-1445, Dec. 1990, doi:10.1109/12.61072
Usage of this product signifies your acceptance of the Terms of Use.