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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
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.
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.
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.
Ben-Amram, A. M., “What is a Pointer Machine?,”Technical report, DIKU, University of Copenhagen, 1995.
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.
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.
Chazelle, B., “A Functional Approach to Data Structures and its Use in Multidimensional Searching,”SIAM Journal of Computing, 17(3), pp. 427–462, 1988.
Clocksin, W. F. and Mellish, C. S.,Programming in Prolog, Springer-Verlag, 1981.
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.
Gabow, H. N., “Data structures for weighted matching and nearest common ancestor,” inACM Symp. on Discrete Algorithms, pp. 434–443, 1990.
Gupta, G.,Multiprocessor Execution of Logic Programs, Kluwer Academic Press, 1994.
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.
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.
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.
Gupta, G. and Jayaraman, B., “Analysis of or-parallel execution models,”ACM TOPLAS, 15(4), pp. 659–680, 1993.
Harel, D. and Tarjan, R. E., “Fast Algorithms for Finding Nearest Common Ancestor,”SIAM Journal of Computing, 13(2), pp. 338–355, 1984.
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.
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.
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.
Kergommeaux, J. C. and Codognet, P., “Parallel logic programming systems,”ACM Computing Surveys, 26(3), pp. 295–336, 1994.
Knuth, D. E.,The Art of Computer Programming, vol. 1, Addison-Wesley, 1968.
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.
Lloyd, J. W.,Foundations of Logic Programming, Springer-Verlag, 1987.
Lusk, E. et al., “The Aurora Or-parallel Prolog System,”New Generation Computing,7(2/3), 1990.
Montelius, J., “Exploiting Fine-grain Parallelism in Concurrent Constraint Languages,”Ph.D. thesis, Uppsala University, 1997.
Pippenger, N., “Pure versus Impure Lisp,”ACM Transactions on Programming Languages and Systems, 19(2), pp. 223–238, 1997.
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.
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.
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.
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.
Robinson, J. A., “A Machine Oriented Logic Based on the Resolution Principle,”Journal of the ACM, 12(23), pp. 23–41, Jan. 1965.
Schönhage, A., “Storage Modification Machines,”SIAM Journal of Computing, 9(3), pp. 490–508, Aug. 1980.
Shapiro, E. Y. ed,Concurrent Prolog: Collected Papers, MIT Press, Cambridge, MA, 1987.
Sleator, D. D. and Tarjan, R. E., “A data structure for dynamic trees,”Journal of Computer and System Sciences, 26, pp. 362–391, 1983.
Sterling, L. and Shapiro, E. Y.,The Art of Prolog, MIT Press, Cambridge, MA, 1994.
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.
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.
Tsakalidis, A. K., “The Nearest Common Ancestor in a Dynamic Tree,”ACTA Informatica, 25, 1988.
Westphal, H. and Robert, P., “The PEPSys Model: Combining Backtracking, AND- and OR- Parallelism,” inIEEE International Symp. on Logic Programming, pp. 436–448, 1987.
Author information
Authors and Affiliations
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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037223