Fast computation of database operations using graphics processors

We present new algorithms for performing fast computation of several common database operations on commodity graphics processors. Specifically, we consider operations such as conjunctive selections, aggregations, and semi-linear queries, which are essential computational components of typical database, data warehousing, and data mining applications. While graphics processing units (GPUs) have been designed for fast display of geometric primitives, we utilize the inherent pipelining and parallelism, single instruction and multiple data (SIMD) capabilities, and vector processing functionality of GPUs, for evaluating boolean predicate combinations and semi-linear queries on attributes and executing database operations efficiently. Our algorithms take into account some of the limitations of the programming model of current GPUs and perform no data rearrangements. Our algorithms have been implemented on a programmable GPU (e.g. NVIDIA's GeForce FX 5900) and applied to databases consisting of up to a million records. We have compared their performance with an optimized implementation of CPU-based algorithms. Our experiments indicate that the graphics processor available on commodity computer systems is an effective co-processor for performing database operations.

[1]  Rüdiger Westermann,et al.  Linear algebra operators for GPU implementation of numerical algorithms , 2003, SIGGRAPH Courses.

[2]  David J. DeWitt,et al.  Weaving Relations for Cache Performance , 2001, VLDB.

[3]  David K. McAllister,et al.  Fast Matrix Multiplies Using Graphics Hardware , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[4]  Jarek Rossignac,et al.  Interactive inspection of solids: cross-sections and interferences , 1992, SIGGRAPH.

[5]  Yahiko Kambayashi,et al.  Acceleration of relational database operations on vector processors , 2000, Systems and Computers in Japan.

[6]  David J. DeWitt,et al.  DBMSs on a Modern Processor: Where Does Time Go? , 1999, VLDB.

[7]  Eitan Grinspun,et al.  Sparse matrix solvers on the GPU: conjugate gradients and multigrid , 2003, SIGGRAPH Courses.

[8]  William R. Mark,et al.  Cg: a system for programming graphics hardware in a C-like language , 2003, ACM Trans. Graph..

[9]  Anselmo Lastra,et al.  Physically-based visual simulation on graphics hardware , 2002, HWWS '02.

[10]  Michael R. Macedonia,et al.  The GPU Enters Computing's Mainstream , 2003, Computer.

[11]  S. Muthukrishnan,et al.  Selectively estimation for Boolean queries , 2000, PODS '00.

[12]  Michael Doggett Programmability Features of Graphics Hardware , 2002 .

[13]  Yahiko Kambayashi,et al.  Acceleration of relational database operations on vector processors , 2000 .

[14]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[15]  Martin L. Kersten,et al.  What Happens During a Join? Dissecting CPU and Memory Optimization Effects , 2000, VLDB.

[16]  Nabil H. Mustafa,et al.  Streaming Geometric Optimization Using Graphics Hardware , 2003, ESA.

[17]  Martin L. Kersten,et al.  Database Architecture Optimized for the New Bottleneck: Memory Access , 1999, VLDB.

[18]  Kenneth A. Ross,et al.  Conjunctive selection conditions in main memory , 2002, PODS.

[19]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[20]  Kenneth A. Ross,et al.  Implementing database operations using SIMD instructions , 2002, SIGMOD '02.

[21]  Nabil H. Mustafa,et al.  Hardware-assisted computation of depth contours , 2002, SODA '02.

[22]  Ben Taskar,et al.  Selectivity estimation using probabilistic models , 2001, SIGMOD '01.

[23]  Greg Humphreys,et al.  A multigrid solver for boundary value problems using programmable graphics hardware , 2003, HWWS '03.

[24]  Martin L. Kersten,et al.  Generic Database Cost Models for Hierarchical Memory Systems , 2002, VLDB.

[25]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[26]  Mark Oskin,et al.  Using modern graphics architectures for general-purpose computing: a framework and analysis , 2002, MICRO 35.

[27]  Ramez Elmasri,et al.  Towards an infrastructure for temporal databases: report of an invitational ARPA/NSF workshop , 1994, SGMD.

[28]  Divyakant Agrawal,et al.  Hardware acceleration for spatial selections and joins , 2003, SIGMOD '03.

[29]  Kenneth A. Ross,et al.  Cache Conscious Indexing for Decision-Support in Main Memory , 1999, VLDB.

[30]  Dinesh Manocha,et al.  Interactive shadow generation in complex environments , 2003, ACM Trans. Graph..

[31]  Jeffrey F. Naughton,et al.  Cache Conscious Algorithms for Relational Query Processing , 1994, VLDB.

[32]  C. A. R. Hoare,et al.  Algorithm 65: find , 1961, Commun. ACM.

[33]  Pat Hanrahan,et al.  Photon mapping on programmable graphics hardware , 2003, HWWS '03.