Abstract
This paper defines an abstract interpreter for logic programs based on a system of asynchronous, independent processors which communicate only by passing messages. Each logic program is automatically partitioned and its pieces distributed to available processors. This approach permits two distinct forms of parallelism. OR parallelism arises from evaluating nondeterministic choices simultaneously. AND parallelism arises when a computation involves independent, but necessary, subcomputations. Algorithms like quicksort, which follow a divide and conquer approach, usually exhibit this form of parallelism. These two forms of parallelism are conjointly achieved by the parallel interpreter.
Similar content being viewed by others
References
Conery, J. S., Morris, P. H. and Kibler, D. F., “Efficient Logic Programs: A Research Proposal,”Technical Report 166, Department of Information and Computer Science, University of California, Irvine, April, 1981.
Conery, J. S. and Kibler, D. F., “Parallel Interpretation of Logic Programs,”Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pp. 163–170, ACM, October, 1981.
Conery, J. S. and Kibler, D. F., “AND Parallelism in Logic Programs.” inProceedings of the Eight International Joint Conference on Artificial Intelligence, pp. 539–543, 1983.
Conery, J. S., “The AND/OR Process Model for Parallel Interpretation of Logic Programs,”Ph.D. Thesis, University of California, Irvine, 1983. (Available asTech. Report 204. Department of Computer ane Information Science, UC Irvine)
Gostelow, K. P. and Thomas, R., “Performance of a Simulated Dataflow Computer,”IEEE Transactions on Computers, C-29(10), pp. 905–919, October, 1980.
Warren, D. S., Ahamad, M., Debray, S. K. and Kale, L. V., “Executing Distributed Prolog Programs on a Broadcast Network.” in1984 International Symposium on Logic Programming, pp. 12–21, 1984.
Taylor, S., Lowry, A., Maguire, Jr., G. Q. and Stolfo, S. J., “Logic Programming Using Parallel Associative Operations,” in1984 International Symposium on Logic Programming, pp. 58–68, 1984.
Eisinger, N., Kasif, S. and Minker, J., “Logic Programming: A Parallel Approach,”Proceedings of the First International Programming Conference, pp. 1–8. Faculté des Sciences de Luminy, Marseille, Sept., 1982.
Ciepielewski, A. and Haridi, S., “Formal Models for OR-Parallel Execution of Logic Programs,”CSALAB Working Paper 821121, Royal Institurte of Technology, Stockholm, Sweden, 1982.
Furukawa, K., Nitta, K. and Matsumoto, Y., “Prolog Interpreter Based on Concurrent Programming“,Proceedings of the First International Logic Programming Conference, pp. 38–44. Faculté des Sciences Luminy, Marseille, Sept., 1982.
Kowalski, R. A., “Predicate Logic as a Programming Language,”IFIPS 74.
Clark, K. L. and McCabe, F., “The Control Facilities of IC-Prolog,” inExpert Systems in the Microelectronic Age (D. Michie, ed.), Edinburgh University Press, 1979.
Shapiro, E. Y., “A Subset of Concurrent Prolog and Its Interpreter,”ICOT Technical Report TR-003, Institute for New Generation Computer Technology, Tokyo, Japan, 1983.
Clark, K. L. and Gregory, S., “A Relational Language for Parallel Programming,”Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pp. 171–178. ACM, October, 1981.
Zara, R. V., “A Semantic Model for a Language Processor,”Proceedings of the A. C. M. National Meeting, pp. 323–339, 1967.
Hewitt, C. and Attardi, G., “Act I for Parallel Problem Solving,”Technical Report, MIT.
van Emden, M. H. and Kowalski, R. A., “The Semantics of Predicate Logic as a Programming Language,”JACM, 23(4), pp. 773–742, October, 1976.
Pereira, L. M., Pereira, F. C. N. and Warren, D. H. D., “Users Guide to DEC system-10 Prolog,”Technical Report, Department of Artificial Intelligence, University of Edinburgh, September, 1978.
Wulf, W. A. and Shaw, M., “Abstraction and Verification in ALPHARD: Defining and Specifying Iteration and Generators,”CACM.20(8), pp. 553–564, August, 1977.
Pereira, L. M. and Porto, A., “Intelligent Backtracking and Sidetracking in Horn Clause Programs—the Theory,”Report 2/79, Departmento de Informatica, Universidade Nova de Lisboa, Portugal, October 1979.
Author information
Authors and Affiliations
About this article
Cite this article
Conery, J.S., Kibler, D.F. AND parallelism and nondeterminism in logic programs. NGCO 3, 43–70 (1985). https://doi.org/10.1007/BF03037115
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF03037115