This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Machine Independent AND and OR Parallel Execution of Logic Programs: Part II-Compiled Execution
February 1994 (vol. 5 no. 2)
pp. 181-192

In pt.I, we presented a binding environment for the ANDand OR parallel execution of logic programs. This environment was instrumental inrendering a compiler for the AND and OR parallel execution of logic programs machineindependent. In this paper, we describe a compiler based on the Reduce-OR processmodel (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 runtime environment for parallel programming called the Chare kernel, and runs unchanged on these multiprocessors. In keeping with the objectives behind the ROPM, the compilersupports both on and independent AND parallelism in Prolog programs and is suitable forexecution on both shared and nonshared memory machines. We discuss the performanceof the Prolog compiler in some detail and describe how grain size can be used to deliverperformance that is within 10% of the underlying sequential Prolog compiler on oneprocessor, 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.

[1] K. A. M. Ali and R. Karlsson, "The Muse OR-parallel Prolog model and its performance," inNorth Amer. Conf. Logic Programming, Austin, Texas, Oct. 1990, pages 757-776.
[2] U. Baron, J.C. de Kergommeaux, M. Hailperin, M. Ratcliffe, P. Roben, J.-C. Syre, and H. Westphal, "The parallel ECRC Prolog system PEPSys: An overview and evaluation results," presented at theInt. Conf. Fifth Generation Comput. Syst., Tokyo, Japan, Nov. 1988.
[3] P. Biswas, S. C. Su, and D. Y. Yun, "A scalable abstract machine model to support limited-OR/restricted-AND parallelism in logic programs," inInt. Conf. Logic Programming, Seattle, WA, Aug. 1988, pp. 1160-1179.
[4] M. Bruynooghe, "The memory management of Prolog implementations," inLogic Programming. New York: Academic Press, 1979.
[5] M. Bruynooghe, G. Janssens, A. Callebaut, and B. Demoen, "Abstract Interpretation: Towards the Global Optimization of Prolog Programs," presented at theSymp. Logic Programming, Sept. 1987.
[6] R. Butler, E. L. Lusk, R. Olson, R. A. Overbeek, "ANLWAM: A parallel implementation of the Warren abstract machine," Tech. Rep., Aug. 1986.
[7] M. Carlsson, J. Widén, "Sicstus Prolog user's manual," Tech. Rep. R88007B, Swedish Inst. of Comput. Sci., Oct. 1988.
[8] J. S. Conery, "Binding environments for parallel logic programs in nonshared memory multiprocessors," inSymp. Logic Programming, September 1987, pages 457-467.
[9] J. C. de Kergommeaux and P. Robert, "An Abstract Machine to implement efficiently OR/AND parallel Prolog," presented at theInt. Conf. Logic Programming, Seattle, WA, Aug. 1988 (addendum to proceedings).
[10] S. K. Debray, "Efficient Dataflow Analysis of Logic Programs," presented at theFifteenth Annu. ACM Symp. Principles of Programming Languages, Jan. 1988.
[11] S. K. Debray, "Static analysis of parallel logic programs," presented at theInt. Conf. Logic Programming, Aug. 1988.
[12] S. K. Debray, N.-W. Lin, and M. Hermenegildo, "Task granularity analysis in logic programs," presented at theACM SIGPLAN-90 Conf. Programming Language Design and Implementat., October 1990. (Also, SIGPLAN Notices, vol. 25, no. 6.)
[13] S. K. Debray and D. S. Warren, "Automatic mode inferencing for Prolog programs," presented at theSymp. Logic Programming, Sept. 1986.
[14] S. K. Debray and D. S. Warren, "Detection and optimization of functional computations in Prolog," presented at theInt. Conf. Logic Programming, July 1986.
[15] D. DeGroot, "Restricted AND parallelism," inInt. Conf. Fifth Generation Comput. Syst., Nov. 1984, pp. 471-478.
[16] D. DeGroot, "Restricted AND parallelism and side effects," inSymposium on Logic Programming, Sept. 1987, pp. 80-89.
[17] W. Fenton, B. Ramkumar, V. A. Saletore, Sinha A. B., and L. V. Kalé, "Supporting machine independent programming on diverse parallel architectures," presented at theInt. Conf. Parallel Processing, Aug. 1991.
[18] M. E. Guiliano, M. Kohli, J. Minker, I. Durand, "PRISM-A testbed for parallel control," inParallel Algorithms for Machine Intelligence and Vision. New York: Springer-Verlag, 1989.
[19] S. Gregory,Parallel Logic Programming in Parlog--the Language and its Implementation(Int. Series in Logic Program.). London: Addison-Wesley, 1987.
[20] G. Gupta and B. Jayaraman, "Compiled AND-OR parallelism on shared memory multiprocessors," inNorth Amer. Conf. on Logic Programming, Cleveland, OH, Oct. 1989, pp. 332-349.
[21] B. Hausman, A. Ciepielewski, and S. Haridi, "OR-parallel Prolog made efficient on shared memory multiprocessors," inSymp. Logic Programming, Sept. 1987, pp. 69-79.
[22] M. Hermenegildo and K. J. Greene, "&-Prolog and its performance: Exploiting independent and-parallelism." inInt. Conf. Logic Programming, June 1990, pp. 253-270.
[23] M. V. Hermenegildo, "An abstract machine based execution model for computer architecture design and efficient implementation of logic programs in parallel," Ph.D. dissertation, Tech. Rep. TR-86- 20, Univ. of Texas at Austin, Aug. 1986.
[24] L. V. Kalé, "'Completeness' and 'full parallelism' of parallel logic programming schemes," inSymp. Logic Programming, San Francisco, CA, Sept. 1987, pp. 125-133.
[25] L. V. Kalé, "The REDUCE-OR process model for the parallel evaluation of logic programs," inInt. Conf. Logic Programming, Melbourne, May 1987, pp. 616-632.
[26] L. V. Kalé, "Comparing the Performance of Two Dynamic Load Distribution Methods," presented at theInt. Conf. Parallel Processing, Aug. 1988.
[27] L. V. Kalé, "The Chare Kernel parallel programming system," presented at theInt. Conf. Parallel Processing, Aug. 1990.
[28] L.V. Kalé, B. Ramkumar, and W. Shu, "A memory organization independent binding environment for AND and OR parallel execution of logic programs," in5th Int. Conf./Symp. Logic Programming, Seattle, WA, Aug. 1988, pp. 1223-1240.
[29] M. Kohli, "Controlling the execution of logic programs: Specification and compilation of control knowledge," Ph.D. thesis, Dept. of Comput. Sci., Univ. of Maryland, College Park, 1987.
[30] Y.-J. Lin and V. Kumar, "Performance of AND-parallel execution of logic programs on a shared memory multiprocessor," inInt. Conf. Fifth Generation Comput. Syst., Tokyo, Japan, Nov. 1988, pp. 815-860.
[31] E. Lusk, D. H. D. Warren, S. Haridi, R. Butler, A. Calderwood, P. Brand, T. Disz, P. Szeredi, M. Carlsson, R. Olson, A. Ciepielewski, R. Overbeek, B. Hausman, and R. Stevens, "The Aurora OR-parallel Prolog system," inInt. Conf. Fifth Generation Comput. Syst., Tokyo, Japan, Nov. 1988, pp. 819-830.
[32] S. Mudambi, "Performance of Aurora on a switch-based multiprocessor," presented at theNorth Amer. Conf. Logic Programming, Oct. 1989.
[33] S. Mudambi, "Performances of Aurora on NUMA machines," presented at theInt. Conf. Logic Programming, June 1991.
[34] Quintus Computer Systems, Inc., Mountain View, CA. (Quintus Prolog Development Environment.)
[35] B. Ramkumar, "Machine independent "AND" and "OR" parallel execution of logic programs," Ph.D. thesis, Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, 1991,
[36] B. Ramkumar and L. V. Kalé, "A Chare Kernel implementation of a parallel Prolog compiler," presented at theProc. ACM SIGPLAN Conf. Principles and Practice of Parallel Programming, Mar. 1990.
[37] B. Ramkumar and L. V. Kalé, "A join algorithm for combining AND parallel solutions in AND/OR parallel systems,"Int. Journal of Parallel Programming, vol. 21, no. 1, Feb. 1992.
[38] B. Ramkumar and L. V. Kalé, "Machine independent AND and OR parallel execution of logic programs-Part I: The binding environment,"IEEE Trans. Parallel Distrib. Syst., this issue, pp. 170-180.
[39] P. Szeredi, "Performance analysis of the Aurora OR-parallel Prolog system," presented at theNorth Amer. Conf. Logic Programming, Oct. 1989.
[40] S. Taylor, S. Safra, and E. Shapiro, "A parallel implementation of flat concurrent Prolog," Tech. Rep. CS87-04, Weizmann Inst. of Sci., Oct. 1986.
[41] E. Tick, "Compile-time granularity analysis for parallel logic programming languages," inInt. Conf. Fifth Generation Comput. Syst., Tokyo, Japan, Nov. 1988, pp. 994-1000.
[42] P. Tinker and G. Lindstrom, "A performance-oriented design for OR-parallel logic programming," inInt. Conf. Logic Programming, May 1987, pp. 601-615.
[43] K. Ueda, "Guarded horn clauses," Ph.D. thesis, Univ. of Tokyo, 1986.
[44] P. Van Roy and A. M. Despain, "The benefits of global dataflow analysis for an optimizing prolog compiler," presented at theNorth Amer. Conf. Logic Programming, Oct. 1990.
[45] D. H. D. Warren, "Implementating Prolog-compiling predicate logic programs, vols. 1 and 2," Tech. Rep. 39 and 40, Dept. of Artificial intell., Univ. of Edinburgh, 1977.
[46] D. H. D. Warren, "The SRI model for OR-parallel execution of Prolog-abstract design and implementation," inSymp. Logic Programming, Sept. 1987, pp. 92-102. (Invited talk.)
[47] H. Westphal and P. Robert, "The PEPSys model: Combining backtracking, AND and OR parallelism," inSymp. Logic Programming, San Francisco, CA, Sept. 1987, pp. 436-448.

Index Terms:
Index Termsparallel programming; logic programming; multiprocessing systems; program compilers;parallel execution; logic programs; compiler; Reduce-OR process model; performance;Encore Multimax; Sequent Symmetry; NCUBE 2; Intel i860 hypercube; Sun workstations; parallel programming; Chare kernel; scale linearly
Citation:
B. Ramkumar, L.V. Kalé, "Machine Independent AND and OR Parallel Execution of Logic Programs: Part II-Compiled Execution," IEEE Transactions on Parallel and Distributed Systems, vol. 5, no. 2, pp. 181-192, Feb. 1994, doi:10.1109/71.265945
Usage of this product signifies your acceptance of the Terms of Use.