Active Disk Architecture for Databases (CMU-CS-00-145)

Today’s commodity disk drives, the basic unit of storage for computer systems large and small, are actually small computers, with a processor, memory and a network connection, in addition to the spinning magnetic material that stores the data. Large collections of data are becoming larger, and people are beginning to analyze, rather than simply store-and-forget, these masses of data. At the same time, advances in I/O performance have lagged the rapid development of commodity processor and memory technology. This paper describes the use of Active Disks to take advantage of the processing power on individual disk drives to run a carefully chosen portion of a relational database system. Moving a portion of the database processing to execute directly at the disk drives improves performance by: 1) dramatically reducing data traffic; and 2) exploiting the parallelism in large storage systems. It provides a new point of leverage to overcome the I/O bottleneck. This paper discusses how to map all the basic database operations select, project, and join onto an Active Disk system. The changes required are small and the performance gains are dramatic. A prototype based on the Postgres database system demonstrates a factor of 2x performance improvement on a small system using a portion of the TPC-D decision support benchmark, with the promise of larger improvements in more realistically-sized systems. Active Disk Architecture for Databases Erik Riedel1, Christos Faloutsos, David Nagle April 2000 CMU-CS-00-145 This research was sponsored by DARPA/ITO through ARPA Order D306, and issued by Indian Head Division, NSWC under contract N00174-96-0002. Partial funding was provided by the National Science Foundation under grants IRI-9625428, DMS-9873442, IIS9817496, and IIS-9910606. Additional funding was provided by donations from NEC and Intel. We are indebted to generous contributions from the member companies of the Parallel Data Consortium. At the time of this writing, these companies include Hewlett-Packard Laboratories, LSI Logic, Data General, EMC, Compaq, Intel, 3Com, Quantum, IBM, Seagate Technology, Hitachi, Infineon, Novell, and Wind River Systems. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of any supporting organization or the U.S. Government. 1. now with Hewlett-Packard Labs, riedel@hpl.hp.com

[1]  Kenneth C. Smith,et al.  RAP: an associative processor for data base management , 1975, AFIPS '75.

[2]  Christos Faloutsos,et al.  Active Storage for Large-Scale Data Mining and Multimedia , 1998, VLDB.

[3]  David A. Patterson,et al.  A case for intelligent disks (IDISKs) , 1998, SGMD.

[4]  David B. Lomet,et al.  AlphaSort: a RISC machine sort , 1994, SIGMOD '94.

[5]  Miron Livny,et al.  Partially preemptible hash joins , 1993, SIGMOD Conference.

[6]  Philip A. Bernstein,et al.  Power of Natural Semijoins , 1981, SIAM J. Comput..

[7]  Hansjörg Zeller,et al.  An Adaptive Hash Join Algorithm for Multiuser Environments , 1990, VLDB.

[8]  Alan Jay Smith,et al.  Projecting the performance of decision support workloads on systems with smart storage (SmartSTOR) , 1999, Proceedings Seventh International Conference on Parallel and Distributed Systems (Cat. No.PR00568).

[9]  Sarita V. Adve,et al.  Performance of database workloads on shared-memory systems with out-of-order processors , 1998, ASPLOS VIII.

[10]  David J. DeWitt,et al.  A performance evaluation of four parallel join algorithms in a shared-nothing multiprocessor environment , 1989, SIGMOD '89.

[11]  Guy M. Lohman,et al.  Optimizer Validation and Performance Evaluation for Distributed Queries , 1998 .

[12]  David J. DeWitt,et al.  A PERFORMANCE EVALUATION OF DATABASE MACHINE ARCHITECTURES , 1981 .

[13]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[14]  Goetz Graefe,et al.  Fast algorithms for universal quantification in large databases , 1995, TODS.

[15]  David J. DeWitt,et al.  Tradeoffs in Processing Complex Join Queries via Hashing in Multiprocessor Database Machines , 1990, VLDB.

[16]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[17]  Joel H. Saltz,et al.  Evaluation of active disks for decision support databases , 2000, Proceedings Sixth International Symposium on High-Performance Computer Architecture. HPCA-6 (Cat. No.PR00550).

[18]  Luiz André Barroso,et al.  Memory system characterization of commercial workloads , 1998, ISCA.

[19]  Masato Oguchi,et al.  High Performanee Parallel Query Processing on a 100 Node ATM Connected PC Cluster (Special Issue on New Generation Database Technologies) , 1999 .