The Gamma Database Machine Project
Abstract
This paper describes the design of the Gamma database machine and the techniques employed in its implementation. Gamma is a relational database machine currently operating on an Intel iPSC/2 hypercube with 32 processors and 32 disk drives. Gamma employs three key technical ideas which enable the architecture to be scaled to 100s of processors. First, all relations are horizontally partitioned across multiple disk drives enabling relations to be scanned in parallel. Second, novel parallel algorithms based on hashing are used to implement the complex relational operators such as join and aggregate functions. Third, dataflow scheduling techniques are used to coordinate multioperator queries. By using these techniques it is possible to control the execution of very complex queries with minimal coordination - a necessity for configurations involving a very large number of processors. In addition to describing the design of Gamma software, a thorough performance evaluation of the iPSC/2 hypercube version of Gamma is also presented. In addition to measuring the effect of relation size and indices on the response time for selection, join, aggregation, and update queries, we also analyze the performance of Gamma relative to the number of processors employed when the sizes of the input relations are kept constant (speedup) and when the sizes results obtained for both selection and join queries are linear; thus, doubling the number of processors halves the response time for a query.
Document Details
- Document Type
- Technical Report
- Publication Date
- Mar 01, 1990
- Accession Number
- ADA223436
Entities
People
- Allan Bricker
- David J. Dewitt
- Donovan Schneider
- Hui-i Hsiao
- Shahram Ghandeharizadeh
Organizations
- University of Wisconsin Madison Department of Computer Science