Abstract
Research in the area of parallel evaluation mechanisms for logic programs have led to the proposal of a number of schemes exploiting various forms of parallelism. Many of the early models have been based on the conventional approach of organising concurrent components of computations as communicating processes. More recently, however, models based on more novel computation organisations, in particular, data-driven organisations, have been proposed. This paper describes the development of one such model, its implementation and the design of a data-driven machine to support it. The model exploits a form of parallelism known as OR-parallelism and is particularly suited to database applications, although it would also support general applications. It is envisaged that the proposed machine may be refined into an efficient database engine, which can then be a component of a more powerful and integrated logic programming machine.
Similar content being viewed by others
References
Arvind and Kathail, V., “A Multiple Processor Dataflow Machine That Supports Generalised Procedures,”Proc. of the 8th Annual Symposium on Computer Architecture, p. 291, May, 1981.
Bic, L., “A Data-Driven Model for Parallel Interpretation of Logic Programs,” Dept. of Information and Computer Science, University of California, Irvine, California, Jan., 1984.
Bowen, D. L., “Implementation of Data Structures on a Dataflow Computer,”Ph. D. Thesis, University of Manchester, 1981.
Bruynooghe, M. and Pereira, L. M., “Deduction Revision by Intelligent Backtracking,” inImplementations of PROLOG (Campbell, J. A., ed.), Ellis Horwood Ltd., Chichester, pp. 194–215, 1984.
Ciepielewski, A. and Haridi, S., “Formal Models for OR-Parallel Execution of Logic Programs,”CSALAB Working Paper, 821121, TTDS, Royal Inst. of Tech., Stockholm, Sweden, 1982.
Clark, K. L. and Gregory, S., “PARLOG: A Parallel Logic Programming Language,”Research Rep. Doc. 83/85, Imperial College, London, 1983.
Conery, J. S. and Kibler, D. F., “Parallel Interpretation of Logic Programs,”ACM Conf. on Functional Languages and Architectures, 1981.
Cox, P. T., “Finding Backtrack Points for Intelligent Backtracking,” inImplementations of PROLOG (Campbell, J. A., ed.), Ellis Horwood Ltd., Chichester, pp. 216–234, 1984.
Dennis, J. B., Boughton, J. A. and Leung, C. K. C., “Building Blocks for Dataflow Prototypes,” inProc. 7th Annual Symposium on Computer Architecture, May, 1980.
Deliani, A. and Kowalski, R. A., “Logic and Semantic Networks,”CACM Vol. 22,No. 2, March, 1979.
Gajski, D., et al., “A Second Opinion on Dataflow Machines and Languages,”IEEE Computer,Vol. 15,No. 2, pp. 58–69, Feb., 1982.
Gurd, J. R., “Dataflow Architectures,”Infotech State of the Art Report: Supercomputer Systems Technology,Series 10,No. 6, 1982.
Gurd, J. R. and Watson, I., “Dataflow Systems for High Speed Parallel Computing,”Computer Design, Vol. 19, Nos. 6 and 7, p. 91, June, 1980, and p. 97, July, 1980.
Gurd, J. R. and Watson, I., “Preliminary Evaluation of a Prototype Dataflow Computer,”Proc. IFIP-83 Congress, North-Holland, 1983.
Halim, M. Z., “Data-driven and Demand-driven Evaluation of Logic Programs,”Ph. D. Thesis, University of Manchester, 1984.
Halim, M. Z. and Watson, I., “An OR-Parallel Data-driven Model for Logic Programs,” inProc. of International Workshop on High-Level Computer Architecture, L. A., Calif., May, 1984.
Johnson, D., “Automatic Partitioning of Programs in Multiprocessor Systems,”Proc. IEEE Spring COMPCON, April, 1980.
Kowalski, R. A., “Predicate Logic as a Programming Language,”Proc. IFIP-74 Congress, North-Holland, pp. 569–574, 1974.
Pollard, G. H., “Parallel Execution of Horn Clause Programs,”Ph. D. Thesis, Imperial College, London, 1982.
Rumbaugh, J. E., “A Dataflow Multiprocessor,”IEEE Trans. on Computers, C-26, No. 2, pp. 138–146, Feb., 1977.
Sargeant, J., “Data Structure Storage — a survey of the problems and an approach to solving them,”Discussion Document JSI, Dept. of Computer Science, University of Manchester, Manchester, 1982.
Umeyama, S. and Tamura, K., “Parallel Execution of Logic Programs,” inProc. of the 10th Annual Symposium on Computer Architecture, pp. 349–355, 1983.
Watson, I. and Gurd, J. R., “A Practical Dataflow Computer,”IEEE Computer.Vol. 15,No. 2, Feb., 1982.
Wise, M. J., “A Parallel PROLOG: the construction of a data-driven model,”ACM Conf. on LISP and Functional Programming, 1982.
Author information
Authors and Affiliations
About this article
Cite this article
Halim, Z. A data-driven machine for OR-parallel evaluation of logic programs. New Gener Comput 4, 5–33 (1986). https://doi.org/10.1007/BF03037380
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF03037380