This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Parallel Execution Model of Logic Programs
January 1991 (vol. 2 no. 1)
pp. 79-92

A parallel-execution model that can concurrently exploit AND and OR parallelism in logic programs is presented. This model employs a combination of techniques in an approach to executing logic problems in parallel, making tradeoffs among number of processes, degree of parallelism, and combination bandwidth. For interpreting a nondeterministic logic program, this model (1) performs frame inheritance for newly created goals, (2) creates data-dependency graphs (DDGs) that represent relationships among the goals, and (3) constructs appropriate process structures based on the DDGs. (1) The use of frame inheritance serves to increase modularity. In contrast to most previous parallel models that have a large single process structure, frame inheritance facilitates the dynamic construction of multiple independent process structures, and thus permits further manipulation of each process structure. (2) The dynamic determination of data dependency serves to reduce computational complexity. In comparison to models that exploit brute-force parallelism and models that have fixed execution sequences, this model can reduce the number of unification and/or merging steps substantially. In comparison to models that exploit only AND parallelism, this model can selectively exploit demand-driven computation, according to the binding of the query and optional annotations. (3) The construction of appropriate process structures serves to reduce communication complexity. Unlike other methods that map DDGs directly onto process structures, this model can significantly reduce the number of data sent to a process and/or the number of communication channels connected to a process.

[1] R.A. Kowalski, "Predicate logic as a programming language," inProc. IFIP, 1974, pp. 569-574.
[2] R. Kowalski,Logic for Problem Solving. New York: North-Holland, 1979.
[3] R. Kowalski, "Algorithm = Logic + Control,"Comm. ACM, Vol. 22, No. 7, July 1979, pp. 424-436.
[4] E. W. Dijkstra,A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall, 1976.
[5] E. Shapiro, "A subset of Concurrent Prolog and its interpreter," ICOT Tech. Rep. TR-003, 1983.
[6] K. Ueda, "A parallel logic programming language with the concept of a guard," Tech. Rep. TR-208, ICOT, 1986.
[7] K. Nakajimaet al., "Distributed implementation of KLl on the Multi-PSI/V2," inProc. 6th Int. Conf. Logic Programming, 1989, pp. 436-451.
[8] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[9] D.H.D. Warren, "An abstract Prolog instruction set," Tech. Note 309, SRI International, 1983.
[10] J. Lassiter, "Principles of Traditional Animation Applied to 3D Computer Animation,"Computer Graphics(Proc. SIGGRAPH), Vol. 21, No. 4, July 1987, pp. 35-44.
[11] Y. J. Lin and V. Kumar, "A parallel execution scheme for exploiting AND-parallelism of logic programs," inProc. Int. Conf. Parallel Processing, 1987, pp. 55-68.
[12] 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.
[13] D. DeGroot, "Restricted AND-parallelism," inProc. Int. Conf. Fifth Generation Comput. Syst., 1984, pp. 471-478.
[14] J. H. Chang, A. M. Despain, and D. DeGroot, "AND parallelism of logic programs based on static data dependency analysis," inProc. 30th IEEE Comput. Society Conf., Feb. 1985, pp. 218-226.
[15] E. Lusket al., "The Aurora OR-Parallel Prolog system," inProc. Int. Conf. FGCS, 1988, pp. 819-830.
[16] N. Tamura and Y. Kaneda, "Implementing Parallel Prolog on a multiprocessor machine, " inProc. Fourth Symp. Logic Programming, 1987, pp. 54-68.
[17] L. V. Kale, "Parallel architecture for problem solving," Ph.D. dissertation, Comput. Sci. Dep., SUNY at Stony Brook, Dec. 1985.
[18] G. Lindstrom, "OR-parallelism on applicative architectures," inProc. Second Int. Conf. Logic Programming, 1984, pp. 159-170.
[19] A. Goto, H. Tanaka, and T. Moto-oka, "Highly parallel inference engine PIE-Goal rewriting model and machine architecture,"New Generation Comput., vol. 2, pp. 37-58, OHM-sha, Ltd., 1984.
[20] A. Ciepeilewski and S. Haridi, "A formal model for or-parallelism execution of logic programs," inProc. IFIP, 1983, pp. 299-306.
[21] S. Kasif, M. Kohli, and J. Minker, "PRISM: A parallel inference system for problem solving," Tech. Rep., Comput. Sci. Dep., Univ. of Maryland, Feb. 1983.
[22] E. Tick, "Performance comparison of AND- and OR- logic programming architectures," inProc. 6th Int. Conf Logic Programming, pp. 452-470.
[23] K. W. Ng and H.F. Leung, "A competition model for parallel execution of logic programs," inProc. 5th Int. Conf. Logic Programming, 1988, pp. 1181-1187.
[24] Y. J. Lin, V. Kumar, and C. Leung, "An intelligent backtracking algorithm for parallel execution of logic programs," inProc. Third Int. Conf. Logic Programming, 1986, pp 55-69.
[25] J. Chang and A.M. Despain, "Semi-intelligent backtracking of Prolog based on a static data dependency analysis," inProc. IEEE Symp. Logic Programming, Aug. 1985, pp. 43-70.
[26] M. Carlessonet al., "A simplified approach to the implementation of AND-Parallelism in an OR-parallel environment." inProc. 5th Int. Conf. Logic Programming, 1988, pp. 1565-1577.
[27] H. Hirakawa, T. Chikayma, and K. Furukawa, "Eager and lazy enumerations in Concurrent Prolog," inProc. Int. Conf. Logic Programming, 1986, pp. 89-100.
[28] J. S. Conery, "The AND/OR-process model for parallel interpretation of logic programs," Ph.D. dissertation, Tech. Rep. 204, Univ. of California, Irvine, June 1983.
[29] G. J. Li and B. W. Wah, "Computational efficiency of parallel approximate branch-and-bound algorithms," inProc. Int. Conf. Parallel Processing, 1984, pp. 473-480.
[30] S. Kasif and J. Minker, "The intelligent channel: A scheme for result sharing in logic programs," inProc. 9th IJCAI, 1985, pp. 29-31.
[31] P. Biswas,et al., "A scalable abstract machine model to support limited-OR (LOR)/restricted-AND parallelism (RAP) in logic programs," inProc. 5th Int. Conf. Logic Programming, 1988, pp. 1160-1179.
[32] P. Ramanet al., "AND-OR-parallel execution of logic problems," inProc. 5th Int. Conf. Logic Programming, 1988, pp. 1188-1203.
[33] P. P. Li and A. J. Martin. "The Sync model: A parallel execution model for logic programming," inProc. Symp. Logic Programming, 1986, pp. 223-234.
[34] H. Westphal and P. Robert, "The PEPSys model: Combining backtracking, AND- and OR- parallelism," inProc. Symp. Logic Programming, 1987, pp. 436-448.
[35] A. C. Chen, F. Shueh, and C-1 Wu, "Effective realization of systolic functions in logic programs,"SPIE Proc. Visual Commun. and Imaging Processing '88, vol. 1001, pp. 378-384, 1988.
[36] C.W. Reynolds, "Flocks, Herds, and Schools: A Distributed Behavioral Model,"Computer Graphics(Proc. SIGGRAPH), Vol. 21, No. 3, July 1987, pp. 25-34.
[37] H.T. Kung, "Why systolic architectures?"IEEE Comput. Mag., vol. 15, no. 1, pp. 37-46, 1982.
[38] C. Mead and L. Conway,Introduction to VLSI Systems. Reading, MA: Addison-Wesley, 1980, pp. 150-152.
[39] E. Shapiro, "Systolic programming: A paradigm of parallel processing," inProc. Int. Conf. Fifth Generation Comput. Syst., 1984, pp. 458-470.
[40] K. L. Clark, "PARLOG: A parallel logic programming language," Res. Rep. DOC 83/5, Dep. Comput., Imperial College, London, May 1983.
[41] A.C. Chen, "Semantics and execution model of a logic-programming language," Ph.D. dissertation, Univ. of Texas at Austin, 1990.
[42] A.C. Chen, "Effective exploitation of AND-parallelism in a demand driven parallel inference model," inProc. 20th Hawaii Int. Conf. Syst. Sci., vol. 1, Jan. 1987, pp. 343-349.
[43] C. J. Hogger,Introduction to Logic Programming. London: Academic, 1984.

Index Terms:
Index TermsAND parallelism; parallel execution model; logic programs; OR parallelism; nondeterministic logic program; frame inheritance; data-dependency graphs; modularity; dynamic construction; computational complexity; communication channels; computational complexity; logic programming
Citation:
A.C. Chen, C.I. Wu, "A Parallel Execution Model of Logic Programs," IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 1, pp. 79-92, Jan. 1991, doi:10.1109/71.80191
Usage of this product signifies your acceptance of the Terms of Use.