Abstract
We present a new model for parallel evaluation of logic programs. This model can exploit the main sources of parallelism that the language of logic expresses: Independent AND parallelism and OR parallelism, together with a secondary source emerging as a consequence of the Independent AND Parallelism: the producer/consumer parallelism. The efficiency is derived from the use of ordered structures for managing the information generated throughout the search process. The model is suitable for evaluating programs with a high degree of non-determinism because it never generates two processes for solving the same subgoal and hence it can exploit the same real parallelism generating a lower number of processes than other models. As an application example, we consider the Job Shop Scheduling problem. We report experimental results showing that logic programs can be designed that exhibit parallelism, and that the use of heuristic information translates into speedup in obtaining answers.
Similar content being viewed by others
REFERENCES
K. A. M. Ali and R. Karlsson, Full Prolog and scheduling or-parallelism in Muse, IJPP, 19(6):445–475 (1991).
J. S. Conery, The and-or process model for parallel interpretation of logic programs, Ph.D. Th. Dpto. Information and Computer Science, University California, Irvine (1983).
D. DeGroot, Restricted and-parallelism, Proc. Int'l. Conf. Fifth Generation Comp. Systems, North-Holland, pp. 471–478 (1984).
J. Chang, A. M. Despain, and D. Degroot, and-parallelism of logic programs-based on static data dependency analysis, COMPCOM, pp. 218–225 (1985).
L. V. Kale, Parallel architectures for problem solving, Ph.D. thesis, Dept. Computer Science, SUNY, Stony Brook (1985).
P. P. Li and A. J. Martin, The SYNC model: A parallel execution method for logic programming, Proc. Symp. on Logic Progr., Salt Lake City (September 1986).
H. Westphal, P. Robert, J. Chassin, and J. Syre, The PEPSys model: Combining back-traking, and-and or-parallelism, IEEE Int'l. Symp. Logic Progr., San Francisco, California, pp. 436–448 (1987).
G. Gupta, Parallel execution of logic programs on shared memory multiprocessors, Ph.D. thesis, Dept. of Computer Science, University North Carolina at Chapel Hill (1992).
M. V. Hermenegildo, An abstract machinébased execution model for computer architecture design and efficient implementation of logic programs in parallel, Ph.D. thesis, University of Texas at Austin (1986).
E. Lusk et al., The Aurora or-parallel Prolog system, New Generation Computing, 7(2–3) (1990).
L. V. Kale, The REDUCéOR process model for parallel interpretation of logic programs, J. Logic Progr., 11:55–84 (1991).
P. V. Hentenryck, H. Simonis, and M. Dincbas, Constraint satisfaction using constraint logic programming, Artificial Intelligence, 58:113–159 (1992).
H. M. Adorf and M. D. Johnston, A discrete stochastic neural network algorithm for constraint satisfaction problems, Proc. Int'l. Joint Conf. Neural Networks, San Diego, California (1990).
M. Zweben, E. Davis, B. Daun, E. Drascher, M. Deale, and M. Eskey, Learning to improve constraint-based scheduling, Artificial Intelligence, 58:271–296 (1992).
D. Corne and P. Ross, Practical Issues and Recent Advances in Job-and Open-Shop Scheduling, D. Dasgupta and Z. Michalewicz (eds.), Springer-Verlag.
N. Sadeh and M. S. Fox, Variable and value ordering heuristics for the job shop scheduling constraint satisfaction problem, Artificial Intelligence, 86:1–41 (1996).
N. J. Nilsson and J. Matuszynski, Logic, Programming and Prolog, John Wiley (1990).
L. V. Kale, A tree representation for parallel problem solving, Proc. Int'l. Conf. Parallel Processing, St. Charles, pp. 677–681 (August 1988).
J. B. Dennis, Machines and models for parallel computers, IJPP, 22(1):47–77 (February 1994).
R. Varela, Un Modelo para el cá lculo paralelo de deducciones en lógica de predicados, Tesis doctoral, Departamento de Matemáticas, Universidad de Oviedo (1995).
A. Delcher and S. Kasif, Some result on the complexity of exploiting data dependency in parallel logic programs, J. Logic Progr., 6:229–241 (1989).
C. R. Vela, C. L. Alonso, R. Varela, and J. Puente, A genetic approach to computing independent and parallelism in logic programming, in Biological and Artificial Computation: From Neuroscience to Technology, IWANN'97, J. Mira, R. Moreno, and J. Cabestany (eds.), Springer-Verlag, Lecture Notes in Computer Science, pp. 566–575 (1997).
C. L. Alonso, C. R. Vela, R. Varela, and J. Puente, Ordered structures for parallel rulébased computations, Technical Report, Centro de Inteligencia Artificial, Univ. de Oviedo (1999).
R. Varela, E. Sierra, L. Jiménez, and C. R. Vela, Combinació n de Soluciones Parciales en Programación Lógica Paralela, C-AEPIA, Alicante (1995).
A. K. Mackworth, The logic of constraint satisfaction, Artificial Intelligence, 58(1–3):3–20 (December 1992).
M. V. Hermenegildo and F. Rossi, Strict AND Nonstrict and-parallelism in logic programs: Correctness, efficiency, and compile-time conditions, J. Logic Progr., 22(1):1–45 (January 1995).
S. K. Debray, Efficient dataflow analysis of logic programs, J. ACM, 39(4):949–984 (1992).
D. Jacobs and A. Langen, Static analysis of logic programs for independent and parallelism, J. Logic Progr., 13:291–314 (1992).
K. Muthukumar and M. Hermenegildo, Compile-time derivation of variable dependency using abstract interpretation, J. Logic Progr., 13:315–347 (1992).
K. Muthukumar, F. Beuno, M. García de la Banda, and M. Hermenegildo, Automatic compile-time parallelization of logic programs for restricted, goal level, independent and parallelism, J. Logic Progr., 38(2):165–218 (February 1999).
B. Schend, A Methodology for detecting shared variable dependencies in logic programs, J. Symbolic Computation, 12:275–298 (1991).
R. Cucchiara, E. Lamma, P. Mello, M. Milano, and M. Piccardi, Interactive Constraint Satisfaction and its Application to Visual Object Recognition, Proc. APPIA-GULP-PRODE, La Coruña, Spain, pp. 57–69 (July 1998).
M. Dincbas, H. Simonis, and P. V. Hentenryck, Solving large combinatorial problems in logic programming, J. Logic Progr., 8(1–2):75–93 (1990).
F. Fages, J. Fowler, and T. Sola, Experiments in reactive constraint logic programming, J. Logic Progr., 37(1–3):185–212 (1998).
P. V. Hentenryck, V. Saraswat, and Y. Deville, Design, implementation, and evaluation of the constraint language cc(FD), J. Logic Progr., 37(1–3):139–164 (1998).
J. Jafar and M. J. Maher, Constraint logic programming: A survey, J. Logic Progr., 19/20:503–581 (1994).
E. Lamma, M. Milano, and P. Mello, Reasoning on constraints in CLP(FD), J. Logic Progr., 38(1):93–110 (January 1999).
J. Puente, R. Varela, C. R. Vela, and C. Alonso, A parallel logic programming approach to job shop constraint satisfaction problems, Proc. APPIÁ-GULP-PRODE, La Coruña, Spain, pp. 29–41 (July 1998).
R. Varela, J. Puente, C. R. Vela, and C. Alonso, Planificació n Heurística de Procesos and-or Paralelos, CAEPIA, Málaga (1997).
J. Puente, R. Varela, and C. R. Vela, Cálculo paralelo de deducciones en un sistema multi-procesador, Proc. CAEPIA, Murcia, Spain, Vol. 1, pp. 9–16 (November 1999).
E. Pontelli, G. Gupta, and M. Hermenegildo, 6–ACE: A high performance parallel Prolog system, Proc. Ninth Int'l. Parallel Proc. Symp., IEEE Press, pp. 564–571 (1995).
K. Shen, Initial results from the parallel implementation DASWAM, Proc. Joint Int'l. Conf. Symp. Logic Progr., MIT Press (1996).
G. Gupta and E. Pontelli, High performance parallel logic programming: The ACE parallel Prolog system, APPIA-GULP-PRODE, Grado, Italy, pp. 25–31 (1997).
R. Varela and C. R. Vela, AND-OR Trees for Parallel Deductions, ITHURS, León, Spain (July 1996).
C. S. Mellish, The automatic generation of mode declaration for Prolog programs, Dept. Artificial Intelligence, Research Paper No. 163, University of Edinburgh (1981).
R. Varela, El Modelo RPS para la Gestión del Paralelismo and Independiente en Programas Lógicos, Proc. Joint Conf. Declarative Progr. GULP_PRODE, pp. 251–265 (1994).
R. Varela, C. R. Vela, and J. Puente, Efficient Producer-Consumer Parallelism in Logic Programming, APPIA-GULP-PRODE, San Sebastian (July 1996).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Arias, R.V., Vela, C.R., Peinador, J.P. et al. Parallel Logic Programming for Problem Solving. International Journal of Parallel Programming 28, 275–319 (2000). https://doi.org/10.1023/A:1007529200051
Issue Date:
DOI: https://doi.org/10.1023/A:1007529200051