GPU join processing revisited

  • Authors:
  • Tim Kaldewey;Guy Lohman;Rene Mueller;Peter Volk

  • Affiliations:
  • IBM Almaden Research, San Jose, CA;IBM Almaden Research, San Jose, CA;IBM Almaden Research, San Jose, CA;Technische Universität Dresden

  • Venue:
  • DaMoN '12 Proceedings of the Eighth International Workshop on Data Management on New Hardware
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Until recently, the use of graphics processing units (GPUs) for query processing was limited by the amount of memory on the graphics card, a few gigabytes at best. Moreover, input tables had to be copied to GPU memory before they could be processed, and after computation was completed, query results had to be copied back to CPU memory. The newest generation of Nvidia GPUs and development tools introduces a common memory address space, which now allows the GPU to access CPU memory directly, lifting size limitations and obviating data copy operations. We confirm that this new technology can sustain 98% of its nominal rate of 6.3 GB/sec in practice, and exploit it to process database hash joins at the same rate, i.e., the join is processed "on the fly" as the GPU reads the input tables from CPU memory at PCI-E speeds. Compared to the fastest published results for in-memory joins on the CPU, this represents more than half an order of magnitude speed-up. All of our results include the cost of result materialization (often omitted in earlier work), and we investigate the implications of changing join predicate selectivity and table size.