||Relational Joins on GPUs: A Closer Look
Makoto, Yabuta ,
Anh, Nguyen ,
Shinpei, Kato ,
Masato, EdahiroHideyuki, Kawashima
IEEE Transactions on Parallel and Distributed Systems
2673 , 2017-09-01 , IEEE
The problem of scaling out relational join performance for large data sets in the database management system (DBMS) hasbeen studied for years. Although in-memory DBMS engines can reduce load times by storing data in the main memory, join queries stillremain computationally expensive. Modern graphics processing units (GPUs) provide massively parallel computing and may enhancethe performance of such join queries; however, it is not clear yet in what condition relational joins perform well on GPUs. In this paper,we identify the performance characteristics of GPU computing for relational joins by implementing several well-known GPU-based joinalgorithms under various configurations. Experimental results indicate that the speedup ratio of GPU-based relational joins toCPU-based counterparts depends on the number of compute cores, the size of data sets, join conditions, and join algorithms. In thebest case, the speedup ratios are up to 6.67 times for non-index joins, 9.41 times for sort index joins, and 2.55 times for hash joins. Theexecution time of GPU-based implementation for index joins, on the other hand, is only about 0.696 times less than the execution timeof the CPU’s counterparts.