A Systolic (VLSI) Array for Processing Simple Relational Queries

This paper discusses die use of systolic arrays (a conceptual and design tool for VLSI systems [11]) to produce VLSI capable of processing simple relational database queries, which are by far the most frequently executed queries in practical large database systems. We will be concerned with the exploitation of VLSI technology to process “simple” relational queries very rapidly; the design of an array for this task is described below. The systolic properties of the array design arc considered, and are shown to have analogs in the domain of databases by using the systolic properties to prove certain consistency and scheduling complexity properties of all transactions executed by the array (hereinafter called the simple query array, or SQA). The SQA is intended for use as an integral part of a systolic database machine [13], which would handle very large databases and is expected to have a high performance gain over conventional database systems. The machine should also compare quite favorably with other database machine designs (for example [1,4,16,17,19]), especially when used for databases with frequent simple queries, i.e. those databases used by most commercial applications!

[1]  H. T. Kung,et al.  An optimality theory of concurrency control for databases , 1979, SIGMOD '79.

[2]  G. Jack Lipovski,et al.  The Architectural Features and Implementation Techniques of the Multicell CASSM , 1979, IEEE Transactions on Computers.

[3]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[4]  Kenneth C. Smith,et al.  RAP.2—An Associative Processor for Databases and Its Applications , 1979, IEEE Transactions on Computers.

[5]  Jayanta Banerjee,et al.  DBC—A Database Computer for Very Large Databases , 1979, IEEE Transactions on Computers.

[6]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[7]  H. T. Kung Let's Design Algorithms for VLSI Systems , 1979 .

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

[9]  H. T. Kung,et al.  Systolic (VLSI) arrays for relational database operations , 1980, SIGMOD '80.

[10]  D. J. De Witt,et al.  Direct—A Multiprocessor Organization for Supporting Relational Database Management Systems , 1979 .

[11]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[12]  Benjamin W. Wah,et al.  DIALOG: a distributed processor organization for database machine , 1980, AFIPS '80.

[13]  Mihalis Yannakakis,et al.  Locking policies: Safety and freedom from deadlock , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[14]  H. T. Kung,et al.  Concurrent manipulation of binary search trees , 1980, TODS.

[15]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.