A Relational-Database Machine Based on Functional Programming Concepts

We present a novel approach to a relational database machine for processing knowledge bases. This approach is based on functional programming concepts in order to manage processor resources and memory resources with the theoretical neatness of functional computation. By using demand-driven evaluation as a driving method of functional. computation, parallelism can be exploited in executing relational operations (relational database operations) and inference operations- based on unification. Furthermore, these operations can be executed avoiding the complexity of resource management within a restricted resource environment. This approach is implemented under a multiprocessor architecture combined with a demanddriven evaluation mechanism. In this paper, we define the basic primitives which are used to implement demand-driven evaluation and function application. We also present a basic algorithm and a system architecture for executing basic operations for knowledge bases by using a demand-driven evaluation mechanism. To ascertain feasibility of our approach, a relational operation system has been implemented on the basis of the approach.

[1]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[2]  Jack Minker,et al.  Logic and Databases: A Deductive Approach , 1984, CSUR.

[3]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[4]  Robert M. Keller,et al.  Applicative caching: Programmer control of object sharing and lifetime in. distributed implementations of applicative languages , 1981, FPCA '81.

[5]  Daniel P. Friedman,et al.  Aspects of Applicative Programming for Parallel Processing , 1978, IEEE Transactions on Computers.

[6]  Richard P. Hopkins,et al.  Data-Driven and Demand-Driven Computer Architecture , 1982, CSUR.

[7]  Hidenori Itoh,et al.  A model and an architecture for a relational knowledge base , 1986, ISCA 1986.

[8]  Yasushi Kiyoki,et al.  Design and evaluation of a relational data base machine employing advanced data structures and algorithms , 1981, ISCA '81.

[9]  Steven R. Vegdahl,et al.  A Survey of Proposed Architectures for the Execution of Functional Languages , 1984, IEEE Transactions on Computers.

[10]  Yasushi Kiyoki,et al.  An Execution Scheme for Relational Database Operations with Eager and Lazy Evaluations , 1985 .

[11]  Ryuzo Hasegawa,et al.  Parallel Execution of Logic Programs based on Dataflow Concept , 1984, Fifth Generation Computer Systems.

[12]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[13]  Deyi Li A PROLOG database system , 1984 .

[14]  Hideo Aiso,et al.  A look-ahead data staging architecture for relational data base machines , 1981, ISCA '81.

[15]  Yasushi Kiyoki,et al.  Performance Analysis for Parallel Processing Schemes of Relational Operations and a Relational Database Machine Architecture with Optimal Scheme Selection Mechanism , 1982, IEEE International Conference on Distributed Computing Systems.

[16]  David J. DeWitt,et al.  Design considerations for data-flow database machines , 1980, SIGMOD '80.