## Fast Computation of Database Operations Using Graphics Processors (2004)

### Cached

### Download Links

- [www.cs.unc.edu]
- [www.cs.unc.edu]
- [www.cs.ucla.edu]
- [gamma.cs.unc.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Proc. of ACM SIGMOD |

Citations: | 82 - 15 self |

### BibTeX

@INPROCEEDINGS{Govindaraju04fastcomputation,

author = {Naga K. Govindaraju and Brandon Lloyd and Wei Wang and Ming Lin and Dinesh Manocha},

title = {Fast Computation of Database Operations Using Graphics Processors},

booktitle = {Proc. of ACM SIGMOD},

year = {2004},

pages = {215--226},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

We present new algorithms on commodity graphics processors for performing fast computation of several common database operations. 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 e#ciently. 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 e#ective co-processor for performing database operations.

### Citations

237 | Linear Algebra Operators for GPU Implementation of Numerical Algorithms
- Kruger, Westermann
- 2003
(Show Context)
Citation Context ...ertain numerical algorithms, including dense matrix-matrix multiplication [18], general purpose vector processing [36], visual simulation based on coupled-map lattices [13], linear algebra operations =-=[17]-=-, sparse matrix solvers for conjugate gradient and multigrid [4], a multigrid solver for boundary value problems [11], geometric computations [16, 1], etc. 3. OVERVIEWsIn this section, we introduce th... |

218 | Sparse matrix solvers on the gpu: conjugate gradients and multigrid
- Bolz, Farmer, et al.
(Show Context)
Citation Context ...lication [18], general purpose vector processing [36], visual simulation based on coupled-map lattices [13], linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid =-=[4]-=-, a multigrid solver for boundary value problems [11], geometric computations [16, 1], etc. 3. OVERVIEWsIn this section, we introduce the basic functionality available on GPUs and give an overview of ... |

210 | Cg: A System for Programming Graphics Hardware in a C-like Language
- Mark, Glanville, et al.
- 2003
(Show Context)
Citation Context ...he average running time for the test. 5.3 GPU Implementation Our algorithms described in Section 4 are implemented using OpenGL API. For generating the fragment programs, we used NVIDIA’s CG compile=-=r [23]-=-. As the code generated by the compiler is often sub-optimal, we examined the assembly code generated by the compiler and reduced the 1 http://www.intel.com/software/products/compilers/ techtopics/com... |

193 | Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware
- Hoff, Keyser, et al.
- 1999
(Show Context)
Citation Context ...scretized geometric computations [22]. These include using stencil buffer hardware for interference computations [33], using depth-buffer hardware to perform distance field and proximity computations =-=[15]-=-, and visibility queries for interactive walkthroughs and shadow generation [12]. The high throughput of the fragment processors and direct access to texture memory makes the fragment engines a powerf... |

192 | DBMSs on a modern processor: Where does time go
- Ailamaki, DeWitt, et al.
- 1999
(Show Context)
Citation Context ...abase system. As the current trend of database architecture moves from disk-based system towards main-memory databases, applications have become increasingly computation- and memorybound. Recent work =-=[3, 21]-=- investigating the processor and memory behaviors of current DBMSs has demonstrated a significant increase in the query execution time due to memory stalls (on account of data and instruction misses),... |

127 | Database Architecture Optimized for the New Bottleneck: Memory Access
- Boncz, Manegold, et al.
- 1999
(Show Context)
Citation Context ...base algorithms for fully utilizing the available architectural features and for exploiting parallel execution possibilities, minimizing memory and resource stalls, and reducing branch mispredictions =-=[2, 5, 20, 24, 31, 32, 34, 37]-=-. 1.1 Graphics Processing Units In this paper, we exploit the computational power of graphics processing units (GPUs) for database operations. In the last decade, high-performance 3D graphics hardware... |

125 | Photon mapping on programmable graphics hardware
- PURCELL, DONNER, et al.
- 2005
(Show Context)
Citation Context ...omputing Using GPUs In theory, GPUs are capable of performing any computation that can be mapped to the stream-computing model. This model has been exploited for ray-tracing [29], global illumination =-=[30]-=- and geometric computations [22]. The programming model of GPUs is somewhat limited, mainly due to the lack of random access writes. This limitation makes it more difficult to implement many data stru... |

107 |
Tracing on Programmable Graphics Hardware
- Ray
(Show Context)
Citation Context ...ive. 2.2 General-Purpose Computing Using GPUs In theory, GPUs are capable of performing any computation that can be mapped to the stream-computing model. This model has been exploited for ray-tracing =-=[29]-=-, global illumination [30] and geometric computations [22]. The programming model of GPUs is somewhat limited, mainly due to the lack of random access writes. This limitation makes it more difficult t... |

100 | Fast matrix multiplies using graphics hardware
- Larsen, McAllister
(Show Context)
Citation Context ... of the fragment processors and direct access to texture memory makes the fragment engines a powerful computation engine for certain numerical algorithms, including dense matrix-matrix multiplication =-=[18]-=-, general purpose vector processing [36], visual simulation based on coupled-map lattices [13], linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid [4], a multig... |

96 | Weaving relations for cache performance
- Ailamaki, DeWitt, et al.
- 2001
(Show Context)
Citation Context ...base algorithms for fully utilizing the available architectural features and for exploiting parallel execution possibilities, minimizing memory and resource stalls, and reducing branch mispredictions =-=[2, 5, 20, 24, 31, 32, 34, 37]-=-. 1.1 Graphics Processing Units In this paper, we exploit the computational power of graphics processing units (GPUs) for database operations. In the last decade, high-performance 3D graphics hardware... |

90 | A multigrid solver for boundary value problems using programmable graphics hardware
- Goodnight, Woolley, et al.
- 2003
(Show Context)
Citation Context ...], visual simulation based on coupled-map lattices [13], linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid [4], a multigrid solver for boundary value problems =-=[11]-=-, geometric computations [16, 1], etc. 3. OVERVIEWsIn this section, we introduce the basic functionality available on GPUs and give an overview of the architectural pipeline. More details are given in... |

88 | Cache Conscious Algorithms for Relational Query Processing
- Shatdal, Kant, et al.
- 1994
(Show Context)
Citation Context ...base algorithms for fully utilizing the available architectural features and for exploiting parallel execution possibilities, minimizing memory and resource stalls, and reducing branch mispredictions =-=[2, 5, 20, 24, 31, 32, 34, 37]-=-. 1.1 Graphics Processing Units In this paper, we exploit the computational power of graphics processing units (GPUs) for database operations. In the last decade, high-performance 3D graphics hardware... |

86 | Physically-based visual simulation on graphics hardware
- Harris, Coombe, et al.
- 2002
(Show Context)
Citation Context ...owerful computation engine for certain numerical algorithms, including dense matrix-matrix multiplication [18], general purpose vector processing [36], visual simulation based on coupled-map lattices =-=[13]-=-, linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid [4], a multigrid solver for boundary value problems [11], geometric computations [16, 1], etc. 3. OVERVIEWs... |

80 | Selectivity estimation using probabilistic models
- Getoor, Taskar, et al.
- 2001
(Show Context)
Citation Context ...e on the CPU and by the GPU-based Accumulator algorithm 5.11 Selectivity Analysis Recently, several algorithms have been designed to implement join operations efficiently using selectivity estimation =-=[7, 10]-=-. We compute the selectivity of a query using the COUNT algorithm (Section 4.3) We use image space occlusion queries to obtain the selectivity count. We performed the experiments described in Sections... |

80 | Cache Conscious Indexing for Decision-Support
- Rao, Ross
- 1999
(Show Context)
Citation Context |

58 | Using modern graphics architecture for general-purpose computing: A framework and analysis
- Thompson, Hahn, et al.
- 2002
(Show Context)
Citation Context ...ccess to texture memory makes the fragment engines a powerful computation engine for certain numerical algorithms, including dense matrix-matrix multiplication [18], general purpose vector processing =-=[36]-=-, visual simulation based on coupled-map lattices [13], linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid [4], a multigrid solver for boundary value problems [... |

37 | Interactive inspection of solids: Crosssections and interferences
- Rossignac, Megahed, et al.
- 1992
(Show Context)
Citation Context ... for database operations on large databases. GPUs have been used for performing many discretized geometric computations [22]. These include using stencil buffer hardware for interference computations =-=[33]-=-, using depth-buffer hardware to perform distance field and proximity computations [15], and visibility queries for interactive walkthroughs and shadow generation [12]. The high throughput of the frag... |

35 |
Algorithm 65: Find
- Hoare
- 1961
(Show Context)
Citation Context ...e the kth largest number. k-th Largest Number Computing the k-th largest number occurs frequently in several applications. We can utilize expected linear time selection algorithms such as QuickSelect =-=[14]-=- to compute the k-th largest number. Most of these algorithms require data rearrangement, which is extremely expensive on current GPUs because there is no functionality for data writes to arbitrary lo... |

35 | Generic database cost models for hierarchical memory systems
- Manegold, Boncz, et al.
(Show Context)
Citation Context ...abase system. As the current trend of database architecture moves from disk-based system towards main-memory databases, applications have become increasingly computation- and memorybound. Recent work =-=[3, 21]-=- investigating the processor and memory behaviors of current DBMSs has demonstrated a significant increase in the query execution time due to memory stalls (on account of data and instruction misses),... |

33 | Selectivity Estimation for Boolean Queries
- SIGKDD, Korn, et al.
- 2000
(Show Context)
Citation Context ...e on the CPU and by the GPU-based Accumulator algorithm 5.11 Selectivity Analysis Recently, several algorithms have been designed to implement join operations efficiently using selectivity estimation =-=[7, 10]-=-. We compute the selectivity of a query using the COUNT algorithm (Section 4.3) We use image space occlusion queries to obtain the selectivity count. We performed the experiments described in Sections... |

29 |
The gpu enters computings mainstream
- Macedonia
- 2003
(Show Context)
Citation Context ...ormance of GPUs has been increasing at the rate of 2.5 − 3.0 times a year, much faster than the Moore’s law for CPUs. At this rate, the GPU’s peak performance may move into the teraflop range by=-= 2005 [19]-=-. Most of this performance arises from multiple processing units and stream processing. The GPU treats the vertices and pixels constituting graphics primitives as streams. Multiple vertex and pixel pr... |

27 |
What Happens During a Join? Dissecting CPU and Memory Optimization Effects
- Manegold, Boncz, et al.
- 2000
(Show Context)
Citation Context |

27 | Implementing database operations using SIMD instructions
- Zhou, Ross
- 2002
(Show Context)
Citation Context |

26 | Selection Conditions in Main Memory
- Ross
(Show Context)
Citation Context |

18 | Towards an Infrastructure for temporal Databases: Report of an Invitational ARPA/NSF Workshop
- Pissinou, Snodgrass, et al.
- 1994
(Show Context)
Citation Context ...rdware compares the fragment depth d against the attribute values in depth buffer using the operation op. fine geometric data objects as linear inequalities of the attributes in a relational database =-=[28]. S-=-uch geometric data objects are called semi-linear sets. GPUs are capable of fast computation of semi-linear sets. A linear combination of m attributes is represented as: i=m � i=1 si · ai where eac... |

17 | Interactive shadow generation in complex environments
- Govindaraju, Lloyd, et al.
- 2003
(Show Context)
Citation Context ...re for interference computations [33], using depth-buffer hardware to perform distance field and proximity computations [15], and visibility queries for interactive walkthroughs and shadow generation =-=[12]-=-. The high throughput of the fragment processors and direct access to texture memory makes the fragment engines a powerful computation engine for certain numerical algorithms, including dense matrix-m... |

15 | Hardware-assisted computation of depth contours
- Krishnan, Mustafa, et al.
(Show Context)
Citation Context ... coupled-map lattices [13], linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid [4], a multigrid solver for boundary value problems [11], geometric computations =-=[16, 1]-=-, etc. 3. OVERVIEWsIn this section, we introduce the basic functionality available on GPUs and give an overview of the architectural pipeline. More details are given in [9]. 3.1 Graphics Pipeline A GP... |

8 |
Interactive Geometric and Scientific Computations using Graphics Hardware
- Manocha
(Show Context)
Citation Context ...PUs are capable of performing any computation that can be mapped to the stream-computing model. This model has been exploited for ray-tracing [29], global illumination [30] and geometric computations =-=[22]-=-. The programming model of GPUs is somewhat limited, mainly due to the lack of random access writes. This limitation makes it more difficult to implement many data structures and common algorithms suc... |

4 |
Suresh Venkatasubramanian. Streaming geometric optimization using graphics hardware
- Agarwal, Krishnan, et al.
- 2003
(Show Context)
Citation Context ... coupled-map lattices [13], linear algebra operations [17], sparse matrix solvers for conjugate gradient and multigrid [4], a multigrid solver for boundary value problems [11], geometric computations =-=[16, 1]-=-, etc. 3. OVERVIEWsIn this section, we introduce the basic functionality available on GPUs and give an overview of the architectural pipeline. More details are given in [9]. 3.1 Graphics Pipeline A GP... |

3 | Programmability features of graphics hardware
- Doggett
(Show Context)
Citation Context ... geometric computations [16, 1], etc. 3. OVERVIEWsIn this section, we introduce the basic functionality available on GPUs and give an overview of the architectural pipeline. More details are given in =-=[9]-=-. 3.1 Graphics Pipeline A GPU is designed to rapidly transform the geometric description of a scene into the pixels on the screen that constitute a final image. Pixels are stored on the graphics card ... |

3 |
Divyakant Agrawal, and Amr El Abbadi. Hardware acceleration for spatial selections and joins
- Sun
- 2003
(Show Context)
Citation Context ...e achieved by exploiting the inherent parallelism of SIMD instructions and reducing branch mispredictions. Recently, Sun et al. present the use of graphics processors for spatial selections and joins =-=[35]-=-. They use color blending capabilities available on graphics processors to test if two polygons intersect in screen-space. Their experiments on graphics processors indicate a speedup of nearly 5 times... |