Skip to main content
Log in

And-Or parallel Prolog: A recomputation based approach

  • Special Issue
  • Invited
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

We argue that in order to exploit both Independent And-and Or-parallelism in Prolog programs there is advantage in recomputing some of the independent goals, as opposed to all their solutions being reused. We present an abstract model, called the Composition-tree, for representing and-or parallelism in Prolog programs. The Composition-tree closely mirrors sequential Prolog execution by recomputing some independent goals rather than fully re-using them. We also outline two environment representation techniques for And-Or parallel execution offull Prolog based on the Composition-tree model abstraction. We argue that these techniques have advantages over earlier proposals for exploiting and-or parallelism in Prolog.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ali, K. and Karlsson, R., “The Muse Or-Parallel Prolog Model and Its Performance,” inProceedings of the 1990 North American Conference on Logic Programming, MIT Press, 1990.

  2. Ali, K. and Karlsson, R., “Full Prolog and Scheduling Or-Parallelism in Muse,” inInternational Journal of Parallel Programming, 19, 6, pp. 445–574, 1991.

  3. Baron, U. et. al., “The Parallel ECRC Prolog System PEPSys: An Overview and Evaluation Results,” inProceedings of the 1988 Conference on Fifth Generation Computing Systems, ICOT, Ohmsha/Springer-Verlag, pp. 841–850, 1988.

  4. Carro, M., Gomez, L. and Hermenegildo, M., “Some Event-Driven Paradigms for the Visualization of Parallelism in Logic Programs,” inProceedings of the 1993 International Conference on Logic Programming, MIT Press, 1993.

  5. Clocksin, W. F. and Alshawi, H., “A Method for Efficiently Executing Horn Clause Programs Using Multiple Processors,” inNew Generation Computing, 5, pp. 361–376, 1988.

  6. Chang, S-E. and Chiang, Y. P., “Restricted And-Parallellism Model with Side Effects,” inProceedings of the 1989 North American Conference on Logic Programming, MIT Press, pp. 350–368, 1989.

  7. Dutra, I., “Flexible Scheduling in the Andorra-I System,” inProceedings of the ICP’91 Workshop on Parallel Logic Programming, LNCS, 569, Springer Verlag, Dec. 1991.

  8. Gupta, G., “Paged Binding Array: Environment Representation in And-Or Parallel Prolog,”Technical Report, TR-91-24, Department of Computer Science, University of Bristol, Oct. 1991.

  9. Gupta, G., “And-Or Parallel Execution of Logic Programs on Shared Memory Multiprocessors,”Ph. D. thesis, U. of N. Carolina at Chapel Hill, Nov. 1991.

  10. Gupta, G. and Santos Costa, V., “And-Or Parallel Execution of Full Prolog Based on Paged Binding Arrays,” inProceedings of the 1992 Conference on Parallel Languages and Architectures Europe (PARLE’92), LNCS, 605, Springer Verlag, June 1992.

  11. Gupta, G. and Santos Costa, V., “Complete and Efficient Methods for Supporting Cuts and Side-Effects in And-Or Parallel Prolog,” inProceedings of the 1992 IEEE Symposium on Parallel and Distributed Systems, Arlington, TX, IEE, 1992.

  12. Gupta, G., Hermenegildo, M. and Santos Costa, V., “The ACE Model: And/Or-Parallel Copying-Based Execution of Full Prolog,”Technical Report, NMSU-TR-92-CS-13, New Mexico State University, 1991.

  13. Gupta, G. and Jayaraman, B., “Compiled And-Or Parallel Execution of Logic Programs,” inProceedings of the 1989 North American Conference on Logic Programming, MIT Press, pp. 332–349, 1989.

  14. Gupta, G. and Jayaraman, B., “On Criteria for Or-Parallel Execution Models of Logic Programs,” inProceedings of the 1990 North American Conference on Logic Programming, MIT Press, pp. 604–623, 1990.

  15. Gupta, G. and Jayaraman, B., “Optimizing And-Or Parallel Implementations,” inProceedings of the 1990 North American Conference on Logic Programming, MIT Press, pp. 737–756, 1990.

  16. Gupta, G., Santos Costa, V., Yang, R. and Hermenegildo, M., “IDIOM: A Model for Integrating Dependent and-, Independent and- and Or-parallelism,” inProceedings of the 1992 International Logic Programming Symposium, MIT Press, 1992.

  17. Hermenegildo, M. V., “An Abstract Machine for Restricted And Parallel Execution of Logic Programs”, in1986 International Conference on Logic Programming, London,LNCS, Springer-Verlag, 1986.

  18. Hermenegildo, M. V. and Greene, K. J., “&-Prolog and Its Preformance: Exploiting Independent And-Parallelism,” inProceedings of the 1990 International Conference on Logic Programming, MIT Press, pp. 253–268, 1990

  19. Hermenegildo, M. V. and Nasr, R. I., “Efficient Implementation of Backtracking in AND-Parallelism,” in1986 International Conference on Logic Programming, London,LNCS, Springer-Verlag, 1986.

  20. Hermenegilde, M. V. and Rossi, F., “Non-Strict Independent And-Parallelism,” inProceedings of the 1990 International Conference on Logic Programming, MIT Press, pp. 237–252, 1990.

  21. Hausman, B. et al., “Or-Parallel Prolog Made Efficient on Shared Memory Multiprocessors,” inProceedings of the 1987 IEEE International Symposium on Logic Programming, San Francisco, CA, IEEE Press, 1987.

    Google Scholar 

  22. Hausman, B., Ciepielewski, A. and Calderwood, A., “Cut and Side-Effects in Or-Parallel Prolog,” inProceedings of the 1988 Conference on Fifth Generation Computing Systems, ICOT, Ohmsha/Spring-Verlag, pp. 831–840, 1988.

  23. Janson, S. and Haridi, S., “Programming Paradigms of the Andorra Kernel Language,” inProceedings of the 1990 International Conference on Logic Programming, MIT Press, 1990.

  24. Lin, Y-J. and Kumar, V., “AND-Parallel Execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results,” inProceedings of the 1988 International Conference on Logic Programming, Seattle, WA, MIT Press, 1988.

    Google Scholar 

  25. Lusk, E., Warren, D. H. D. and Haridi, S. et. al., “The Aurora Or-Prolog System,” inNew Generation Computing, 7, 2–3, pp. 243–273, 1990.

  26. Muthukumar, K. and Hermenegildo, M., “Complete and Efficient Methods for Supporting Side-Effects in Independent/Restricted And-Parallelism,” inProceedings of the 1989 International Conference on Logic Programming, MIT Press, 1989.

  27. Muthukumar, K. and Hermenegildo, M. V., “Determination of Variable Dependence Information through Abstract Interpretation,” inProceedings of the 1989 North American Conference on Logic Programming, MIT Press, 1989.

  28. Muthukumar, K. and Hermenegildo, M. V., “The CDG, UDG, and MEL Methods for Automatic Compile-Time Parallelization of Logic Programs for Independent And-Parallelism,” inProceedings of the 1990 International Conference on Logic Programming, MIT Press, 1990.

  29. Ratcliffe, M. and Syre, J-C., “A Parallel Logic Programming Language for PEPSys,” inProceedings of the 1987 International Joint Conference on Artificial Intelligence, Milan, pp. 48–55, 1987.

  30. Ramkumar, B. and Kalé, L. V., “Compiled Execution of the REDUCE-OR Process Model,” inProceedings of the 1989 North American Conference on Logic Programming, MIT Press, pp. 313–331, 1989.

  31. Sindaha, R., “The Dharma Scheduler—Definitive Scheduling in Aurora on Multiprocessor Architecture,” inProceedings of the 1992 IEEE Symposium on Parallel and Distributed Processing, Arlington, TX, IEEE Press, 1992.

    Google Scholar 

  32. Szeredi, P., “Performance Analysis of the Aurora Or-Parallel Prolog System,” inProceedings of the 1989 North American Conference on Logic Programming, MIT Press, pp. 713–732, 1989.

  33. Shen, K. and Hermenegildo, M., “A Simulation Study of Or- and Independent And-Parallelism,” inProceedings of the 1991 International Logic Programming Symposium, MIT Press, 1991.

  34. Shen, K., “Studies of And-Or Parallelism in Prolog,”Ph. D. thesis, Cambridge University, 1992.

  35. Santos Costa, V., Warren, D. H. D. and Yang, R., “Andorra-I: A Parallel Prolog System That Transparently Exploits Both And- and Or-Parallelism,” inProceedings of the 1991 Conference on Principles & Practice of Parallel Programming, ACM Press, pp. 83–93, 1991.

  36. Véron, A. and Xu, J. et al., “Virtual Memory Support for Parallel Logic Programming Systems,” inProceedings of the 1991 Conference on Parallel Languages and Architectures Europe (PARLE’91), LNCS 506, Springer-Verlag, 1991.

  37. Warren, D. S., “Efficient Prolog Memory Management for Flexible Control Strategies,” inProceedings of the 1984 IEEE International Symposium on Logic Programming, IEEE Press, pp. 198–202, 1984.

  38. Warren, D. H. D., “The SRI-Model for Or-Parallel Execution of Prolog—Abstract Design and Implemention Issues,” inProceedings of the 1987 IEEE International Symposium on Logic Programming, IEEE Press, 1987.

  39. Warren D. H. D., “Extended Andorra Moded with Implicit Control,”talk given at Workshop on Parallel Logic Programming, 1990 International Conference on Logic Programming, Eilat, Israel, 1990.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This is an expanded version of the paper “Recomputation Based Implementations of And-Or Parallel Prolog” presented in FGCS’92.

Gopal Gupta, Ph. D.: He has been an Assistant Professor of Computer Science at New Mexico State University since January 1992. Prior to this he was a Research Associate at the University of Bristol. He obtained his M. S. and Ph. D. degrees in Computer Science from the University of North Carolina at Chapel Hill in 1987 and 1991 respectively, and a B. Tech. in Computer Science and Engineering from the Indian Institute of Technology in Kanpur, India, in 1985. He is a recipient of the 1992 Oak Ridge Associated Universities Junior Faculty Enhancement Award. His research interests are in parallel and constraint logic programming, programming languages, parallel processing, and parallel databases.

Manuel Hermenegildo, Ph. D.: He obtained his Ph. D. degree in Computer Science and Engineering from the University of Texas at Austin (U. S. A.). He is currently Professor in Computer Science at the Dept. of Artificial Intelligence in the School of Computer Science of the Technical University of Madrid. Previously he was project leader at the MCC research center and Adjunct Professor at the Dept. of Computer Science of the University of Texas at Austin. He has also been an invited scientist at ICOT and other research centers. He is area editor of the Journal of Logic Programming and editorial advisor of the Journal of New Generation Computing. His current interests are in parallel, concurrent, and constraint logic programming theory and implementation, abstract interpretation, execution visualization, and parallel computer architecture.

Vitor Santos Costa, Ph. D.: He has been an Assistant in Dept. of Mathematics, Faculty of Sciences, University of Oporto since 1985. Since 1988 he has been doing his research in the Department of Computer Science at Bristol University, where he is finishing his Ph. D. on the Compile-Time Tools for the Parallel Execution of Logic Programs. His current research interests concentrate on the parallel implementation of Prolog and other logic programming languages, particularly on compile-time analysis and the problem of correct and efficient execution of programs with sequential control in a parallel environment. He received bachelor’s begree from the University of Oporto in 1984. He received the 1992 IBM Portugal Award for his work on parallel execution of Prolog programs

About this article

Cite this article

Gupta, G., Hermenegildo, M.V. & Costa, V.S. And-Or parallel Prolog: A recomputation based approach. New Gener Comput 11, 297–321 (1993). https://doi.org/10.1007/BF03037180

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037180

Keywords

Navigation