ACCELERATING SELECT WHERE AND SELECT JOIN QUERIES ON A GPU

Marcin Pietron, Pawel Russek, Kazimierz Wiatr

Abstract


This paper presents implementations of a few selected SQL operations using theCUDA programming framework on the GPU platform. Nowadays, the GPU’sparallel architectures give a high speed-up on certain problems. Therefore, thenumber of non-graphical problems that can be run and sped-up on the GPUstill increases. Especially, there has been a lot of research in data mining onGPUs. In many cases it proves the advantage of offloading processing fromthe CPU to the GPU. At the beginning of our project we chose the set ofSELECT WHERE and SELECT JOIN instructions as the most common op-erations used in databases. We parallelized these SQL operations using threemain mechanisms in CUDA: thread group hierarchy, shared memories, andbarrier synchronization. Our results show that the implemented highly parallelSELECT WHERE and SELECT JOIN operations on the GPU platform canbe significantly faster than the sequential one in a database system run on theCPU.

Full Text:

PDF

References


Di Blas A., Kaldeway T.: Data monster: Why graphics processors will transform database processing. IEEE Spectrum, September 2009

Bandi N., Sun C., Agrawal D., El Abbadi A.: Hardware acceleretion in commercial database: a case study of spatial operations. VLDB 2004, pp. 1021–1032, 2004

Hoff T.: Scalling postgresql using cuda, May 2009. http://highscalablility.com/scaling-postgresql-using-cuda

He B., Lu M., Yang K., Fang R., Govindaraju N. K., Luo Q., Sander P. V.: Relational query coprocessing on graphics processors. ACM Trans. Database Syst., 34(4):1–39, 2009

Govindaraju N. K., Lloyd B., Wang W., Lin M., Manocha D.: Fast computation of database operations using graphics processors. ACM SIGGRAPH 2005 Courses, p. 206, New York, NY, 2005. ACM

Ding S., He J., Yan H., Suel T.: Using graphics processors for high performance IR query processing. Proc. of the 18th international conference on World wideweb, pp. 421–430, New York, NY, USA, 2009. ACM.

Fang R., He B., Lu M., Yang K., Govindaraju N. K., Luo Q., Sander P. V.: GPUQP:query co-processing using graphics processors. In ACM SIGMOD International Conference on Managament of Data, pp. 1061–1063, New York, NY,

USA, 2007. ACM.

Han T. D., Abdelrahman T. S.: Hicuda: a high-level directive-based language for GPU programming. Proc. of 2nd Workshop on General Purpose Processing on Graphics Processing Units, pp. 52–61, New York, NY, USA, 2009. ACM.

Ma W., Agrawal G.: A translation system for enabling data mining applications on gpus. Proc. of the 23rd international conference on Supercomputing, pp. 400–409, New York, NY, USA, 2009. ACM.

Che S., Boyer M., Meng J., Tarjan D., Sheaffer J. W., Skadron K.: A performance study of general-purpose applications on graphics processors using CUDA. J. Parallel Distrib. Comput., 68(10):1370–1380, 2008.

Bakkum P., Skadron K.: Accelerating SQL Database Operations on a GPU with CUDA. GPGPU-3, March 14, 2010, Pittsburgh, PA, USA.

http://www.nvidia.com/docs/IO/43395/Tesla-M2090-Board-Specification.pdf.

http://dev.mysql.com/doc/refman/5.6/en/select.html.

SQLLite:http://www.sqlite.org.

NVIDIACUDA:http://www.nvidia.com.

ANTLR:http://www.antlr.org.




DOI: https://doi.org/10.7494/csci.2013.14.2.243

Refbacks

  • There are currently no refbacks.