Skip to main content
Log in

On the complexity of or-parallelism

  • Regular papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

We formalize the implementation mechanisms required to support or-parallel execution of logic programs in terms of operations on dynamic data structures. Upper and lower bounds are derived, in terms of the number of operationsn performed on the data structure, for the problem of guaranteeing correct semantics during or-parallel execution. The lower bound Ω(lgn) formally proves the impossibility of achieving an ideal implementation (i.e., parallel implementation with constant time overhead per operation). We also derive an upper bound of\(\tilde O\left( {\sqrt[3]{n}} \right)\) per operation for or-parallel execution. This upper bound is far better than what has been achieved in the existing or-parallel systems and indicates that faster implementations may be feasible.

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. A. M. and Karlsson, R., “The Muse Or-parallel Prolog Model and its Performance,” in1990 North American Conf. on Logic Programming, MIT Press, pp. 757–776, 1990.

  2. Ali, K. A. M. and Karlsson, R., “Full Prolog and Scheduling Or-parallelism in Muse,”International Journal of Parallel Programming, 19(6), pp. 445–475, 1991.

    Article  MathSciNet  Google Scholar 

  3. Beaumont, T. and Warren, D. H. D., “Scheduling Speculative Work in Or-Parallel Prolog Systems,” in10th International Conf. on Logic Programming, MIT Press, pp. 135–149, 1993.

  4. Ben-Amram, A. M., “What is a Pointer Machine?,”Technical report, DIKU, University of Copenhagen, 1995.

  5. Blum, N., “On the single-operation worst-case time complexity of the disjoint set union problem,”SIAM Journal on Computing, 15(4), pp. 1021–1024, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  6. Chang, S-E. and Chiang, Y-P., “Restricted AND-Parallelism Execution Model with Side-Effects,” inProc. of the North American Conf. on Logic Programming (Ewing L. Lusk and Ross A. Overbeek, eds.), pp. 350–368, 1989.

  7. Chazelle, B., “A Functional Approach to Data Structures and its Use in Multidimensional Searching,”SIAM Journal of Computing, 17(3), pp. 427–462, 1988.

    Article  MATH  MathSciNet  Google Scholar 

  8. Clocksin, W. F. and Mellish, C. S.,Programming in Prolog, Springer-Verlag, 1981.

  9. Fredman, M. L. and Saks, M. E., “The Cell Probe Complexity of Dynamic Data Structures,” inProc. of 21st ACM Symp. on Theory of Computing, ACM, pp. 345–354, 1989.

  10. Gabow, H. N., “Data structures for weighted matching and nearest common ancestor,” inACM Symp. on Discrete Algorithms, pp. 434–443, 1990.

  11. Gupta, G.,Multiprocessor Execution of Logic Programs, Kluwer Academic Press, 1994.

  12. Gupta, G. and Santos Costa, V., “Cuts and Side-effects in And/Or Parallel Prolog,”Journal of Logic Programming, 27(1), pp. 45–71, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  13. Gupta, G., Santos Costa, V. and Pontelli, E., “Shared Paged Binding Arrays: A Universal Data-structure for Parallel Logic Programming,” inProc. NSF/ICOT Workshop on Parallel Logic Programming and its Environments, CIS-94-04, University of Oregon, Mar. 1994.

  14. Gupta, G., Pontelli, E., Hermenegildo, H. and Santos Costa, V., “ACE: And/Or-parallel Copying-based Execution of Logic Programs,” inProc. ICLP'94, MIT Press, pp. 93–109, 1994.

  15. Gupta, G. and Jayaraman, B., “Analysis of or-parallel execution models,”ACM TOPLAS, 15(4), pp. 659–680, 1993.

    Article  Google Scholar 

  16. Harel, D. and Tarjan, R. E., “Fast Algorithms for Finding Nearest Common Ancestor,”SIAM Journal of Computing, 13(2), pp. 338–355, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  17. Haridi, S. and Janson, S., “Kernel Andorra Prolog and its Computation Model,” inProc. 7th International Conf. on Logic Programming, MIT Press, pp. 31–46, 1990.

  18. Hausman, B., Ciepielewski, A. and Calderwood, A., “Cut and Side-Effects in Or-Parallel Prolog,” inInternational Conf. on Fifth Generation Computer Systems, Tokyo, pp. 831–840, Nov. 1988.

  19. Hermenegildo, M. and Greene, K., “&-Prolog and its Performance: Exploiting Independent And-Parallelism,” in1990 International Conf. on Logic Programming, MIT Press, pp. 253–268, Jun. 1990.

  20. Kergommeaux, J. C. and Codognet, P., “Parallel logic programming systems,”ACM Computing Surveys, 26(3), pp. 295–336, 1994.

    Article  Google Scholar 

  21. Knuth, D. E.,The Art of Computer Programming, vol. 1, Addison-Wesley, 1968.

  22. LaPoutré, H., “Lower Bounds for the Union-Find and the Split-Find Problem on Pointer Machines,”Journal of Computer and System Sciences, 52, pp. 87–99, 1996.

    Article  MathSciNet  Google Scholar 

  23. Lloyd, J. W.,Foundations of Logic Programming, Springer-Verlag, 1987.

  24. Lusk, E. et al., “The Aurora Or-parallel Prolog System,”New Generation Computing,7(2/3), 1990.

  25. Montelius, J., “Exploiting Fine-grain Parallelism in Concurrent Constraint Languages,”Ph.D. thesis, Uppsala University, 1997.

  26. Pippenger, N., “Pure versus Impure Lisp,”ACM Transactions on Programming Languages and Systems, 19(2), pp. 223–238, 1997.

    Article  MathSciNet  Google Scholar 

  27. Pontelli, E., Gupta, G. and Hermenegildo, M., “&ACE: A High-performance Parallel Prolog System,” inInternational Parallel Processing Symp., Santa Barbara, CA, IEEE Computer Society, pp. 564–571, Apr. 1995.

  28. Pontelli, E., Ranjan, D. and Gupta, G., “On the Complexity of Parallel Implementation of Logic Programs,” inProc. of the International Conf. on Foundations of Software Technology and Theoretical Computer Science, Springer-Verlag, pp. 123–137, 1997.

  29. Pontelli, E., Ranjan, D. and Gupta, G., “The Complexity of Late-binding in Dynamic Object-Oriented Languages,” inProc. of the International Symp. on Programming Languages, Implementations, Logic, and Languages (PLILP), Springer-Verlag, pp. 213–229, 1998.

  30. Ranjan, D., Pontelli, E. and Gupta, G., “Dynamic Data Structures in Advanced Programming Languages Implementation,”Technical report, Dept. Computer Science, New Mexico State University, 1997.

  31. Robinson, J. A., “A Machine Oriented Logic Based on the Resolution Principle,”Journal of the ACM, 12(23), pp. 23–41, Jan. 1965.

    Article  MATH  Google Scholar 

  32. Schönhage, A., “Storage Modification Machines,”SIAM Journal of Computing, 9(3), pp. 490–508, Aug. 1980.

    Article  MATH  Google Scholar 

  33. Shapiro, E. Y. ed,Concurrent Prolog: Collected Papers, MIT Press, Cambridge, MA, 1987.

    Google Scholar 

  34. Sleator, D. D. and Tarjan, R. E., “A data structure for dynamic trees,”Journal of Computer and System Sciences, 26, pp. 362–391, 1983.

    Article  MATH  MathSciNet  Google Scholar 

  35. Sterling, L. and Shapiro, E. Y.,The Art of Prolog, MIT Press, Cambridge, MA, 1994.

    MATH  Google Scholar 

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

  37. Tarjan, R. E., “A Class of Algorithms which Require Nonlinear Time to Mantain Disjoint Sets,”Journal of Computer and System Sciences, 2(18), pp. 110–127, 1979.

    Article  MathSciNet  Google Scholar 

  38. Tsakalidis, A. K., “The Nearest Common Ancestor in a Dynamic Tree,”ACTA Informatica, 25, 1988.

  39. Westphal, H. and Robert, P., “The PEPSys Model: Combining Backtracking, AND- and OR- Parallelism,” inIEEE International Symp. on Logic Programming, pp. 436–448, 1987.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Desh Ranjan, Ph.D.: He is currently an Assistant Professor in the department of Computer Science at New Mexico State University where he has been since 1993. His research interests are in theoretical computer science especially algorithms, complexity theory and randomized computation. He received his B. Tech in Computer Science from Indian Institute of Technology, Kanpur in India in 1987 and his M.S. and Ph.D. in Computer Science from Cornell University in 1990 and 1992 respectively. He spent 1992–93 as a post-doctoral fellow at the Max-Planck-Institut fur Informatik in Saarbrucken, Germany.

Enrico Pontelli, Ph.D.: He currently works as an Assistant Professor in the dept. of Computer Science of New Mexico State University, where he also serves as Associate Director of the Lab. for Logic, Databases, and Advanced Programming. His interests are in the theoretical and practical aspects of parallel execution of logic and constraint programming languages. He has also performed research on programming with sets and Internet computing. He received his Laurea in Computer Science from the University of Udine in 1991, his M. Sc. in Computer Science from the University of Houston in 1992, and his Ph.D. in Computer Science from New Mexico State University in 1997.

Gopal Gupta, Ph.D.: He is an Associate Professor of Computer Science at New Mexico State University. He co-directs the Laboratory for Logic, Databases and Advanced Programming which he co-founded in 1994. His areas of research interest are Logic Programming, Parallel Computing, Programming Language Semantics, and Software Engineering. He has written/edited 3 books and has authored over 60 research papers. He has served in the program committees of several conferences. He also serves in the editorial board of the Journal of Logic Programming.

About this article

Cite this article

Ranjan, D., Pontelli, E. & Gupta, G. On the complexity of or-parallelism. NGCO 17, 285–307 (1999). https://doi.org/10.1007/BF03037223

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Keywords

Navigation