Please use this identifier to cite or link to this item: http://hdl.handle.net/1783.1/3279

Relational joins on graphics processors

Authors He, B.
Yang, K.
Fang, R.
Lu, M.
Govindaraju, N.K.
Luo, Q.
Sander, P.V.
Issue Date 2008
Source Proceedings of the ACM SIGMOD International Conference on Management of Data, 2008, p. 511-524
Summary 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 ACM.
Subjects
ISSN 0730-8078
Rights © ACM, 2008. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, Vancouver, Canada, {9-12 June 2008}
Language English
Format Conference paper
Access View full-text via DOI
View full-text via Scopus
Find@HKUST