Abstract
Logic programming languages have gained wide acceptance because of two reasons. First is their clear declarative semantics and the second is the wide scope for parallelism they provide which can be exploited by building suitable parallel architectures. In this paper, we propose a multi-ring dataflow machine to support theOR-parallelism and theArgument parallelism of logic programs. A new scheme is suggested for handling the deferred read mechanism of the dataflow architecture. The required data structures, the dataflow actors and the builtin dataflow procedures for OR-parallel execution are discussed. Multiple binding environments arising in the OR-parallel execution are handled by a new scheme called thetagged variable scheme. Schemes for constrained OR-parallel execution are also discussed.
Similar content being viewed by others
References
Arvind and Nikhil, R. S., “I-structres: Data Structures for Parallel Computing,”Technical Report Computation Structures Group Memo 271, Laboratory for Computer Science, Department of Electrical Engineering and Computer Science, MIT, 1987.
Arvind and Nikhil, R. S. and Pingali, K. K. “I-structures: Data Structures for Parallel Computing,”Technical Report Computation Structures Group Memo 269, Laboratory for Computer Science, Departments of Electrical Engineering and Computer Science, MIT, 1987.
Barahona, P. M. C. C. and Gurd, J. R., “Processor Allocation in a Multi-Ring Dataflow Machine,”Journal of Parallel and Distributed Computing, 3, 1986.
Borgwardt, P., Parallel Prolog Using Stack Segments on Shared Memory Multiprocessors,” in1984 International Symposium on Logic Programming, 1984.
Ciepielewski, A. and Haridi, S., “A Formal Model for OR-Parallel Execution of Logic Programs,” inInformation Processing 83, 1983.
Conery, J. S. and Kibler, D. F., “And Parallelism and Nondeterminism in Logic Programs,”New Generation Computing, 3, 1, pp. 43–70, 1985.
Conery, J.S., “Binding Environments for Parallel Logic Programs in Non-shared Multiprocessors,” in1987 Symposium on Logic Programming, 1987.
Crammond, J., “A Comparative Study of Unification Algorithms for Or-Parallel Execution of Logic Languages,”IEEE Transactions on Computers,c-34(10), 1985.
Special Issue on Dataflow Systems.IEEE Computer, Feb., 1982.
Hasegawa, R. et al., “An Architecture for List-Processing-Oriented Dataflow Machine,”REVIEW of the Electrical Communication Laboratories,32,5, 1985.
Hasegawa, R. and Amamiya, M., “Parallel Execution of Logic Programs Based on Dataflow Concept,” inInternational Conference on Fifth Generation Computer Systems, 1984.
Halim, Z., “A Data-Driven Machine for Or-Parallel Evaluation of Logic Programs,” New Generation Computing,4, 1, pp. 5–33, 1986.
Halim, Z. and Watson, I., “An Or-Parallel Data-Driven Model for Logic Programs,” inInternational Workshop on High Level Computer Architecture, 1984.
Ito, N. et al., “The Architecture and Preliminary Evaluation Results of the Experimental Parallel Inference Machine PIM-D,” in13th Annual Symposium on Computer Architecture, 1986.
Ito, N., et al., “Dataflow Based Execution Mechanisms of Parallel and Concurrent Prolog,” New Generation Computing,3, 1, pp. 15–41, 1985.
Conery, J. S. and Kibler, D., “Parallel Interpretation of Logic Programming,” inThe ACM Conference on Functional Programming and Computer Architecture, 1981.
Kirkham Gurd, J. R. and Watson, I., “The Prototype Manchester Dataflow Computer,”Communications of the ACM,28,1, 1985.
Kale, L. V., “Parallel Execution of Logic Programs: The Reduce-or Process Model,” inInternational Conference on Logic Programming, 1987.
Kawakami, K. and Gurd, J. R., “A Scalable Dataflow Structure Store,” in13th Annual Symposium on Computer Architecture, 1986.
Lindstrom, G., “Or-Parallelism on Applicative Architectures,” inSecond International Conference on Logic Programming, 1984.
Lloyd, J. W.,Foundations of Logic Programming, first edition, Springer-Verlag, Berlin, 1984.
Onai, R., et al., “Architecture of a Reduction Based Parallel Inference Machine PIM-R,” New Generation Computing,3, 2, pp. 197–228, 1985.
Robinson, J. A., “A Machine Oriented Logic Based on the Resolution Principle,”J. A. C. M., 12, pp. 23–41, 1965.
Sastry, A. V. S., “A Multi-Ring Dataflow Architecture for Parallel Execution of Logic Programs,”Master’s Thesis, Indian Institute of Science, Sept., 1988.
Sargeant, J. and Kirkham, C. C., “Stored Data Structures on the Manchester Dataflow Machine,” in13th Annual Symposium on Computer Architecture, 1986.
Sastry, A. V. S. and Patnaik, L. M., “A Dataflow Architecture for Or-Parallel Execution of Logic Programs,” inInternational Conference on Parallel Processing, 1988.
Warren, D. H. D., “Implementing Prolog: Compiling Predicate Logic Programs,”Technical Report, 39, DAI, London, 1977.
Warren, D. H. D., “An Abstract Prolog Instruction Set,”Technical Report 390, SRI, Menlo Park, CA, 1983.
Author information
Authors and Affiliations
Additional information
This work was done when the author was a student at the Indian Institute of Science, Bangalore, India.
About this article
Cite this article
Sastry, A.V.S., Patnaik, L.M. OR-parallel evaluation of logic programs on a multi-ring dataflow machine. New Gener Comput 10, 23–53 (1991). https://doi.org/10.1007/BF03037521
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037521