Relational joins on graphics processors
Top Cited Papers
- 9 June 2008
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 511-524
- https://doi.org/10.1145/1376616.1376670
Abstract
We present a novel design and implementation of relational join algorithms for new-generation graphics processing units (GPUs). The most recent GPU features include support for writing to random memory locations, efficient inter-processor communication, and a programming model for general-purpose computing. Taking advantage of these new features, we design a set of data-parallel primitives such as split and sort, and use these primitives to implement indexed or non-indexed nested-loop, sort-merge and hash joins. Our algorithms utilize the high parallelism as well as the high memory bandwidth of the GPU, and use parallel computation and memory optimizations to effectively reduce memory stalls. We have implemented our algorithms on a PC with an NVIDIA G80 GPU and an Intel quad-core CPU. Our GPU-based join algorithms are able to achieve a performance improvement of 2-7X over their optimized CPU-based counterparts. © Copyright 2008 ACMKeywords
This publication has 16 references indexed in Scilit:
- A Fast Similarity Join Algorithm Using Graphics Processing UnitsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2008
- Efficient gather and scatter operations on graphics processorsPublished by Association for Computing Machinery (ACM) ,2007
- AcceleratorPublished by Association for Computing Machinery (ACM) ,2006
- Extended-precision floating-point numbers for GPU computationPublished by Association for Computing Machinery (ACM) ,2006
- The Direct3D 10 systemPublished by Association for Computing Machinery (ACM) ,2006
- Realizing parallelism in database operationsPublished by Association for Computing Machinery (ACM) ,2006
- Brook for GPUsPublished by Association for Computing Machinery (ACM) ,2004
- Fast computation of database operations using graphics processorsPublished by Association for Computing Machinery (ACM) ,2004
- A parallel join algorithm for SIMD architecturesJournal of Systems and Software, 1997
- Parallel database systemsCommunications of the ACM, 1992