Enhancing speed of SQL database operations using GPU

Graphic Processing Unit (GPU), has proved to be an efficient co-processor in the field of conventional computations. Dramatic acceleration has been achieved in the earlier work on different database operations on GPUs which were not part of conventional database languages like SQL. While GPUs were designed for geometric primitive's visualization, it can also be used to execute database operations efficiently by using inherent pipelining and parallelism, multi-threaded architecture, vector processing functionality of GPUs along with Single Instruction and Multiple Data (SIMD) capabilities to evaluate semi-linear queries based on attributes. The efforts required by database administrators to learn languages like CUDA or change modules in order to provide aid to libraries which are not present in SQL is reduced. This research work focuses mainly on developing a system to enhance the execution speed of SELECT queries and how effective it would it be in comparison to traditional methods. This work intends to provide a clear portrayal of how GPU hardware can be used for query execution in the area of relational databases in future. The algorithms were implemented on databases consisting of nearly a million records with the aid of a programmable GPU. The existing results suggests that using GPU as a co-processor can significantly improve execution of database operations over optimized CPU-based implementation.

[1]  Naga K. Govindaraju,et al.  Relational Query Co-Processing on Graphics Processors 1 , 2009 .

[2]  Pedro Trancoso,et al.  Data parallel acceleration of decision support queries using Cell/BE and GPUs , 2009, CF '09.

[3]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[4]  Bingsheng He,et al.  High-Throughput Transaction Executions on Graphics Processors , 2011, Proc. VLDB Endow..

[5]  Dinesh Manocha,et al.  Fast and approximate stream mining of quantiles and frequencies using graphics processors , 2005, SIGMOD '05.

[6]  Dinesh Manocha,et al.  GPUTeraSort: high performance graphics co-processor sorting for large database management , 2006, SIGMOD Conference.

[7]  Kim M. Hazelwood,et al.  Where is the data? Why you cannot debate CPU vs. GPU performance without the answer , 2011, (IEEE ISPASS) IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE.

[8]  Tim Kaldewey,et al.  Parallel search on video cards , 2009 .

[9]  Kevin Skadron,et al.  Accelerating SQL database operations on a GPU with CUDA , 2010, GPGPU-3.

[10]  Wen-mei W. Hwu,et al.  CUDA-Lite: Reducing GPU Programming Complexity , 2008, LCPC.

[11]  Yue-Shan Chang,et al.  Scaling database performance on GPUs , 2012, Inf. Syst. Frontiers.

[12]  David Tarditi,et al.  Accelerator: using data parallelism to program GPUs for general-purpose uses , 2006, ASPLOS XII.

[13]  Dinesh Manocha,et al.  Fast computation of database operations using graphics processors , 2005, SIGGRAPH Courses.

[14]  Bingsheng He,et al.  Relational query coprocessing on graphics processors , 2009, TODS.