Skip to main content
Log in

High-level characteristics of or- and independent and-parallelism in prolog

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Although studies of a number of parallel implementations of logic programming languages are now available, their results are difficult to interpret due to the multiplicity of factors involved, the effect of each of which is difficult to separate. In this paper we present the results of a high-level simulation study of or- and independent and-parallelism with a wide selection of Prolog programs that aims to determine the intrinsic amount of parallelism, independently of implementation factors, thus facilitating this separation. We expect this study will be instrumental in better understanding and comparing results from actual implementations, as shown by some examples provided in the paper. In addition, the paper examines some of the issues and tradeoffs associated with the combination of and- and or-parallelism and proposes reasonable solutions based on the simulation data obtained.

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. K. Shen and M. V. Hermenegildo, A Simulation Study of Or- and Independent And-Parallelism. In:Logic Programming: Proc. of Int'l. Symp. V. Saraswat and K. Ueda, (eds.), The MIT Press, pp. 135–115 (1991).

  2. J. S. Conery and D. F. Kibler, Parallel Interpretation of Logic Programs.Proc. of the ACM Conf. on Functional Programming Languages and Computer Architecture, pp. 163–170 (October 1981).

  3. L. V. Kalé, Parallel Architectures for Problem Solving.Ph.D. Thesis, State University of New York at Stony Brook (1985).

  4. L. Naish, Parallelizing NU-Prolog.Fifth Int'l. Conf. and Symp. on Logic Programming, University of Washington, The MIT Press, pp. 1546–1564 (August 1988).

  5. E. L. Lusk, R. Butler, T. Disz, R. Olson, R. A. Overbeek, R. Stevens, D. H. D. Warren, A. Calderwood, P. Szeredi, S. Haridi, P. Brand, M. Carlsson, A. Ciepielewski, and B. Hausman. The Aurora Or-Parallel Prolog System.Proc. of the Int'l. Conf. on Fifth Generation Computer Systems Institute for New Generation Computer Technology,3:819–830 (1988).

    Google Scholar 

  6. U. C. Baron, J. Chassin de Kergommeaux, M. Hailperin, M. Ratcliffe, P. Robert, J.-C. Syre, and H. Westphal. The Parallel ECRC Prolog System PEPSys: An Overview and Evaluation Results. InProc. of the Int'l. Conf. on Fifth Generation Computer Systems 3:841–850 (1988).

  7. Y. J. Lin and V. Kumar, AND-Parallel Execution of Logic Programs on a Shared Memory Multiprocessor: A Summary of Results.Logic Programming: Proc. of the Fifth Int'l. Conf. and Symp. The MIT Press, pp. 1123–1141 (August 1988).

  8. G. Gupta and B. Jayaraman, Combined And-Or Parallelism on Shared Memory Multiprocessors. In:Logic Programming: Proc. of the North American Conf. E. L. Lusk and R. A. Overbeek, (eds.),1:332–349 (1989).

  9. Z. Lin, Self-organizing Task Scheduling for Parallel Execution of Logic Programs.Proc. of the Int'l. Conf. on Fifth Generation Computer Systems, ICOT, pp. 859–868 (1992).

  10. W. F. Clocksin and H. Alshawi, A Method for Efficiently Executing Horn Clause Programs Using Multiple Processors.New Generation Computing,5(4):361–376 (1988).

    Google Scholar 

  11. K. A. M. Ali and R. Karlsson, Full Prolog and Scheduling Or-Parallelism in Muse.IJPP,19(6):445–475 (December 1990).

    MathSciNet  Google Scholar 

  12. M. V. Hermenegildo, An Abstract Machine Based Execution Model for Computer Architecture Design and Efficient Implementation of Logic Programs in Parallel. Ph.D. Thesis, The University of Texas at Austin (1986).

  13. M. V. Hermenegildo and K. Greene, The &-Prolog System: Exploiting Independent And-Parallelism.New Generation Computing,9(3,4):233–257 (1991).

    Google Scholar 

  14. K. Shen, Exploiting And-Parallelism in Prolog: the Dynamic Dependent And-parallel Scheme (DDAS).Logic Programming: Proc. of the Joint Int'l. Conf. and Symp. on Logic Programming, The MIT Press, pp. 717–731 (1992).

  15. V. Santos Costa, D. H. D. Warren, and R. Yang. Andorra-I Compilation.New Generation Computing,14(1):3–30 (January 1996).

    Article  Google Scholar 

  16. G. Gupta, V. Santos Costa, R. Yang, and M. V. Hermenegildo, IDIOM: A Model Integrating Dependent-, Independent-, and Or-Parallelism. In:Logic Programming: Proc. of Int'l. Symp. V. Saraswat and K. Ueda, (eds.), The MIT Press, pp. 152–166 (1991).

  17. J. Bevemyr, T. Lindgren, and H. Millroth, Reform Prolog: the Language and its Implementation.Logic Programming: Proc. of the Tenth Int'l. Conf. The MIT Press (1993).

  18. H. Millroth, Reforming Compilation of Logic Programs. In:Logic Programming: Proc. of Int'l. Symp. V. Saraswat and K. Ueda, (eds.), The MIT Press, pp. 485–499 (1991).

  19. G. Gupta, M. V. Hermenegildo, E. Pontelli, and V. Santos Costa, ACE: And/Or-Parallel Copying-Based Execution of Logic Programs.Logic Programming: Proc. of the Eleventh Conf., The MIT Press, pp. 93–110 (June 1994).

  20. W. F. Clocksin and C. S. Mellish,Programming in Prolog. Second Edition, Springer-Verlag, (1984).

  21. L. Sterling and E. Shapiro,The Art of Prolog. The MIT Press (1986).

  22. J. Chassin de Kergommeaux and P. Codognet, Parallel Logic Programming Systems.Computing Surveys,26(3):295–336 (September 1994).

    Article  Google Scholar 

  23. J. S. Conery, The And/Or Process Model for Parallel Interpretation of Logic Programs. Ph.D. Thesis, The University of California At Irvine, Technical Report 204 (1983).

  24. K. Shen, Implementing Dynamic Dependent And-parallelism.Logic Programming: Proc. of the Tenth Int'l. Conf. The MIT Press, pp. 167–183 (1993).

  25. M. V. Hermenegildo and F. Rossi, Non-Strict Independent And-Parallelism.Int'l. Conf. on Logic Programming, The MIT Press, pp. 237–252 (June 1990).

  26. W. Winsborough and A. Wærn, Transparent And-Parallelism in the Presence of Shared Free Variables. InLogic Programming: Proc. of the Fifth Int'l. Conf. and Symp. R. A. Kowalski and K. A. Bowen, (eds.), The MIT Press,1:700–710 (1988).

  27. M. V. Hermenegildo and F. Rossi, Strict and Non-Strict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions.The Journal of Logic Programming,22(1):1–45 (1995).

    Article  MATH  MathSciNet  Google Scholar 

  28. M. V. Hermenegildo and M. Carro, Relating Data-Parallelism and And-Parallelism in Logic Programs.Proc. of EURO-PAR'95, Swedish Institute of Computer Science (SICS) (August 1995).

  29. A. Singhal and Y. N. Patt, Unification Parallelism: How Much Can We Exploit? In:Logic Programming: Proc. of North American Conf., E. L. Lusk and R. A. Overbeek, (eds.), The MIT Press,2:1135–1147 (1989).

  30. J. Barklund, Parallel Unification. Ph.D. Thesis, Computer Science Department Uppsala University, Uppsala (1990).

    Google Scholar 

  31. A. L. Delcher and S. Kasif, Some Results on the Complexity of Exploiting Dependency in Parallel Logic Programs,The Journal of Logic Programming,6(3):229–241 (May 1989).

    Article  MathSciNet  MATH  Google Scholar 

  32. D. C. Sehr and L. V. Kalé, Estimating the Inherent Parallelism in Prolog Programs.Proc. of the Int'l. Conf. on Fifth Generation Computer System, ICOT, pp. 783–790 (1992).

  33. A. Ciepielewski, S. Haridi, and B. Hausman, Initial Evaluation of a Virtual Machine for Or-Parallel Execution of Logic Programs,IFIP-TC10 Working Conf. on Fifth Generation Computer Architecture, Manchester, United Kingdom (1985).

  34. K. Shen and D. H. D. Warren, A Simulation Study of the Argonne Model for Or-Parallel Execution of Prolog.Proc. of the Fourth Symp. on Logic Programming. Computer Society Press of the IEEE, (September 1987).

  35. L. Hirschman, W. C. Hopkins, and R. C. Smith, Or-Parallel Speed-Up in Natural Language Processing: A Case Study. InLogic Programming: Proc. of the Fifth Int'l. Conf. and Symp. R. A. Kowalski and K. A. Bowen, The MIT Press,1:263–279 (1988).

  36. B. S. Fagin and A. M. Despain, The Performance of Parallel Prolog Programs.IEEE Trans. on Computers,39(12):1434–1445 (December 1990).

    Article  MathSciNet  Google Scholar 

  37. M. J. Fernández, M. Carro, and M. V. Hermenegildo, IDRA (IDeal Resource Allocation): A Tool for Computing Ideal Speedups.ICLP Workshop on Parallel and Data Parallel Execution of Logic Programs (1994).

  38. D. DeGroot, Restricted AND-Parallelism.Int'l. Conf. on Fifth Generation Computer Systems. Tokyo, pp. 471–478 (November 1984).

  39. R. Warren, M. V. Hermenegildo, and S. Debray, On the Practicality of Global Flow Analysis of Logic Programs.Fifth Int'l. Conf. and Symp. on Logic Programming. The MIT Press, Seattle, Washington, pp. 684–699 (August 1988).

    Google Scholar 

  40. K. Muthukumar and M. V. Hermenegildo, The CDG, UDG, and MEL Methods for Automatic Compile-time Parallelization of Logic Programs for Independent And-Parallelism. InLogic Programming: Proc. of the Seventh Int'l. Conf., D. H. D. Warren and P. Szeredi, (eds.), The MIT Press, pp. 221–236 (1990).

  41. F. Bueno, M. García de la Banda, and M. V. Hermenegildo, Effectiveness of Global Analysis in Strict Independence-Based Automatic Program Parallelization.Int'l. Symp. on Logic Programming, The MIT Press, pp. 320–336 (November 1994).

  42. D. Michie, “Memo” Functions and Machine Learning.Nature, 218:19–22 (April 1968).

    Article  Google Scholar 

  43. L. Kalé, Completeness and Full Parallelism of Parallel Logic Programming Schemes.Fourth IEEE Symp. on Logic Programming, pp. 125–133 (1987).

  44. P. Biswas, S.-C. Su, and D. Y. Y. Yun, A Scalable Abstract Machine Model to Support Limited-OR (LOR)/Restricted-AND Parallelism (RAP) in Logic Programs. In:Logic Programming: Proc. of the Fifth Int'l. Conf. and Symp. R. A. Kowalski and K. A. Bowen, (eds.), The MIT Press,2:1160–1179 (1988).

  45. K. Shen, An Investigation of the Argonne Model of Or-Parallel Prolog. Master's Thesis, University of Manchester, 1986. Available as University of Manchester Computer Science Technical Report UMCS-87-1-1.

  46. R. A. Overbeek, J. Gabriel, T. Lindholm, and E. L. Lusk, Prolog on Multiprocessors. Internal report, Argonne National Laboratory, Argonne, Illinois 60439 (1985).

    Google Scholar 

  47. P. Tinker and G. Linstrom, A Performance-Oriented Design for Or-Parallel Logic Programming. In:Logic Programming: Proc. of the Fourth Int'l. Conf. J.-L. Lassez, (eds.), The MIT Press,2:601–615 (1987).

  48. D.H. D. Warren, OR-Parallel Execution Models of Prolog.Proc. of TAPSOFT'87, Lecture Notes in Computer Science. Springer-Verlag (March 1987).

  49. K. A. M. Ali, OR-Parallel Execution of Prolog on BC-Machine. In:Logic Programming: Proceedings of the Fifth International Conference and Symposium, R. A. Kowalski and K.A. Bowen, (eds.), The MIT Press,2:1531–1545 (1988).

  50. M. J. Wise,Prolog Multiprocessors. Prentice-Hall (1986).

  51. V. K. Janakiram, D. P. Agrawal, and R. Mehrotra, A Randomised Parallel Backtracking Algorithm.IEEE Trans. on Computers,37(12):1665–1676 (December 1988).

    Article  MATH  Google Scholar 

  52. P. Szeredi, Performance Analysis of the Aurora Or-Parallel System. In:Logic Programming: Proc. of the North American Conf. E. L. Lusk and R. A. Overbeek, (eds.), The MIT Press,2:713–732 (October 1989).

  53. M. V. Hermenegildo and K. J. Green, &-Prolog and Its Performance: Exploiting Independent And-Parallelism. InLogic Programming: Proc. of the Seventh Int'l. Conf. D. H. D. Warren and P. Szeredi, (eds.), The MIT Press, pp. 253–268 (1990).

  54. E. Tick, Studies in Prolog Architectures. Ph.D. Thesis, Stanford University, Stanford, California 94305 (June 1987).

    Google Scholar 

  55. K. Shen, Studies of And/Or Parallelism in Prolog. Ph.D. Thesis, Computer Laboratory, University of Cambridge (1992).

  56. G. Gupta and M. V. Hermenegildo, Recomputation Based Implementation of And-Or Parallel Prolog.Proc. of the Int'l. Conf. on Fifth Generation Computer Systems Institute for New Generation Computing,2:770–782 (June 1992).

    Google Scholar 

  57. S. K. Debray, N.-W. Lin, and M. V. Hermenegildo, Task Granularity Analysis in Logic Programs.Proc. of the ACM SIGPLAN'90 Conf. on Programming Language Design and Implementation, pp. 174–188 (June 1990).

  58. A. King and P. Soper, Granularity Analysis of Concurrent Logic Programs.The Fifth Int'l. Symp. on Computer and Inf. Sci., Nevsehir, Cappadocia, Turkey (October 1990).

  59. X. Zhong, E. Tick, S. Duvvuru, L. Hansen, A. V. S. Sastry, and R. Sundararajan, Towards an Efficient Compile-Time Granularity Analysis Algorithm.Proc. of Int'l. Conf. on Fifth Generation Computer Systems, Institute for New Generation Computing2:809–816. (June 1992)

    Google Scholar 

  60. P. L. García, M. V. Hermenegildo, and S. Debray, Towards Granularity Based Control of Parallelism in Logic Programs.Proc. of First Int'l. Symp. on Parallel Symbolic Computation, PASCO'94, World Scientific Publishing Company, pp. 133–144 (September 1994).

  61. S. Debray, P. L. García, M. V. Hermenegildo, and N. Lin, Lower Bound Cost Estimation for Logic Programs.Int'l. Static Analysis Symp. Namur, Belgium pp. 255–266 (September 1994).

  62. A.J. Beaumont and D. H. D. Warren, Scheduling Speculative Work on Or-Parallel Prolog Systems.Logic Programming: Proc. of the Tenth Int'l. Conf. The MIT Press, pp. 135–149 (1993).

  63. R.Y. Sindaha, The Dharma Scheduler—Definitive Scheduling in Aurora on Multiprocessors Architecture.Proc. of the Fourth IEEE Symp. on Parallel and Distributed Processing. IEEE Computer Society Press, pp. 296–303 (December 1992).

  64. K. A. M. Ali and R. Karlsson, Scheduling Speculative Work in Muse and Performance Results.IJPP,21(6):449–476 (December 1992).

    MATH  Google Scholar 

  65. R.Y. Sindaha, Branch-level Scheduling in Aurora: The Dharma Scheduler. In:Logic Programming: Proc. of Int'l. Symp., D. Miller, (ed.), The MIT Press, pp. 403–419 (1993).

  66. D. Cabeza and M. V. Hermenegildo, Extracting Non-Strict Independent And-Parallelism Using Sharing and Freeness Information.Int'l. Static Analysis Symp., Namur, BelgiumLNCS,864:297–313 (September 1994).

    Google Scholar 

  67. E. Pontelli, G. Gupta, and M. V. Hermenegildo, &ACE: A High-Performance Parallel Prolog System.Int'l. Parallel Processing Symp. IEEE Computer Society Technical Committee on Parallel Processing, IEEE Computer Society (April 1995).

  68. K. Shen, Prometheus: An And/Or Parallel Prolog—A High-level View. Technical Report TR-91-39, Computer Science Department, University of Bristol (1991).

  69. V. Santos Costa, D. H. D. Warren, and R. Yang, The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model.Logic Programming: Proc. of the Eighth Int'l. Conf., pp. 825–839 (1991).

  70. M. V. Hermenegildo and the CLIP Group, Some Methodological Issues in the Design of CIAO—A Generic, Parallel Concurrent Constraint System.Proc. of the 1994Workshop on the Principles and Practice of Constraint Programming. University of Washington (May 1994).

  71. M. V. Hermenegildo, F. Bueno, M. García de la Banda, and G. Puebla, The CIAO Multi-Dialect Compiler and System: An Experimentation Workbench for Future (C)LP Systems.Proc. of the ILPS'95 Workshop on Visions for the Future of Logic Programming, Portland, Oregon (December 1995).

  72. R. P. Gabriel,Performance and Evaluation of Lisp Systems. Computer Systems Series. The MIT Press (1985).

  73. E. Tick, Memory Performance of Lisp and Prolog Programs.Third Int'l. Conf. on Logic Programming, Lecture Notes in Computer Science, Imperial College, Springer-Verlag,225:642–649 (July 1986). Also available as Stanford University Technical Report CSL-TR-86-291.

  74. R. Yang, A. J. Beaumont, I. Dutra, V. Santos Costa, and D. H. D. Warren, Performance of the Compiler-based Andorra-I System.Logic Programming: Proc. of the Tenth Int'l. Conf., The MIT Press, pp. 150–166 (1993).

  75. P. Van Roy, A Prolog Compiler for the PLM. Master's Thesis, University of California at Berkeley (August 1984). Also available as Technical Report UCB/CSD 84/203.

  76. L. B. Kovács, An Incremental Prolog Systems Development for Floor Plan Design by Dissecting.Proc. of The Practical Application of Prolog, Volume 2 (April 1992).

Download references

Author information

Authors and Affiliations

Authors

Additional information

This paper is an extended and updated version of Ref. 1. The descriptions in various parts of the paper have been extended; new descriptions, such as the discussion of speculative scheduling have been included; finally, new results are presented: some more programs are studied, and results for Aurora and Muse are provided, along with new results for &-Prolog.

Most of the work reported in this paper was carried out while this author was at: Computer Laboratory, Cambridge University, United Kingdom.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Shen, K., Hermenegildo, M.V. High-level characteristics of or- and independent and-parallelism in prolog. Int J Parallel Prog 24, 433–478 (1996). https://doi.org/10.1007/BF02583023

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Issue Date:

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

Key Words

Navigation