The software architecture of a parallel processing system for advanced database applications

A parallel processing scheme and software architecture of SMASH, a parallel processing system for supporting a wide variety of database applications is presented. The main feature of this system is that functional programming concepts are applied to define new database operations and data types and to exploit parallelism inherent in an arbitrary set of database operations. A primitive set (SMASH primitive set) of the software architecture is presented that defines an abstract machine interface between high-level database languages and general-purpose hardware systems for parallel processing. The primitive set is used to implement functional computation systems for executing arbitrary database operations in parallel. A previously proposed stream-oriented parallel processing scheme for relational database operations is extended to support more complex database operations which deal with complex data structures. Several experimental results of parallel processing for database operations are shown to clarify feasibility of the proposed architecture.<<ETX>>

[1]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[2]  Peter Buneman,et al.  FQL: a functional query language , 1979, SIGMOD '79.

[3]  David W. Shipman The functional data model and the data language DAPLEX , 1979, SIGMOD '79.

[4]  Peter Henderson,et al.  Functional programming - application and implementation , 1980, Prentice Hall International Series in Computer Science.

[5]  David W. Shipman,et al.  The functional data model and the data languages DAPLEX , 1981, TODS.

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

[7]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[8]  Yasushi Kiyoki,et al.  A Stream-Oriented Parallel Processing Scheme for Relational Database Operations , 1986, International Conference on Parallel Processing.

[9]  Takashi Masuda,et al.  A Relational-Database Machine Based on Functional Programming Concepts , 1986, FJCC.

[10]  Peter Buneman,et al.  Types and persistence in database programming languages , 1987, CSUR.

[11]  Roger King,et al.  Semantic database modeling: survey, applications, and research issues , 1987, CSUR.

[12]  Don S. Batory,et al.  Implementation concepts for an extensible data model and data language , 1988, TODS.

[13]  Yasushi Kiyoki,et al.  Efficient algorithms for resource allocation in distributed and parallel query processing environments , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[14]  Peter Buneman,et al.  Database programming in Machiavelli—a polymorphic language with static type inference , 1989, SIGMOD '89.

[15]  Peng Liu,et al.  Implementation and Experiments of an Extensible Parallel Processing System Supporting User Defined Database Operations , 1989, DASFAA.