Relational joins on graphics processors 论文

2008引用 352
Data Management and AlgorithmsPeer-to-Peer Network TechnologiesAlgorithms and Data Compression

详细信息

发表日期
2008-06-09
发表年份
2008

关键词

Data Management and AlgorithmsPeer-to-Peer Network TechnologiesAlgorithms and Data Compression

摘要

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.