Revisiting Hash Join on Graphics Processors: A Decade Later
Johns Paul, Bingsheng He, Shengliang Lu, Chiew Tong Lau · 2019
The large number of computational cores and the high memory bandwidth provided by modern graphics processors (GPUs) make them an ideal hardware accelerator for in-memory hash joins. Over the last decade, significant research effort has been put into improving the performance of hash join operation on GPUs. Looking back at the literature, we find that the fundamentals of the GPU hash join operation has remained unchanged. In-spite of this, modern GPU hash join implementations have managed to achieve over 5.3x end-to-end performance improvement over the original implementation by taking advantage of the GPU architecture features introduced in the last decade. Hence, a systematic revisit of the hash join implementations from the perspective of GPU hardware changes is necessary to understand the past research and to guide future studies. In this paper, we first revisit the major GPU hash join implementations in the last decade and detail how they take advantage of different GPU architecture features. We then perform a comprehensive performance evaluation of these implementations using the latest hardware. This helps to shed light on the impact of different architecture features and to identify the factors guiding the choice of these architecture features. Finally, we study how data characteristics like skew and match rate impact the performance of GPU hash join implementations and propose techniques to improve the performance of existing implementations under such conditions.