A topic left unexamined in this paper is the possibility of breaking up a data set and running a query concurrently on multiple GPUs. Though there would certainly be coordination overhead, it is very likely that SQL queries could be further accelerated with such a con guration. Consider the NVIDIA Tesla S1070, a server product which contains 4 Tesla GPUs. This machine has a combined GPU throughput of 408 GB/sec, 960 streaming multiprocessors, and a total of 16 GB of GPU memory. Further research could implement a query mechanism that takes advantage of multiple GPUs resident on a single host and across multiple hosts.
This project simultaneously demonstrates the power of using a generic interface to drive GPU data processing and provides further evidence of the e_ectiveness of accelerat- ing database operations by o_oading queries to a GPU. Though only a subset of all possible SQL queries can be used, the results are promising and there is reason to believe that a full implementation of all possible SELECT queries would achieve similar results. SQL is an excellent interface through which the GPU can be accessed: it is much simpler and more widely used than many alternatives. Using SQL represents a break from the paradigm of previous research which drove GPU queries through the use of operational primitives, such as map, reduce, or sort. Additionally, it dramatically reduces the efort required to employ GPUs for database acceleration. The results of this paper suggest that implementing databases on GPU hardware is a fertile area for future research and commercial development. The SQLite database was used as a platform for the project, enabling the use of an existing SQL parsing mechanism and switching between CPU and GPU execution. Execution on the GPU was supported by reimplementing the SQLite virtual machine as a CUDA kernel. The queries executed on the GPU were an average of 35X faster than those executed through the serial SQLite virtual machine. The characteristics of each query, the type of data being queried, and the size of the result set were all signicant factors in how CPU and GPU execution compared. Despite this variation, the minimum speedup for the 13 queries considered was 20X. Additionally, the results of this paper are expected to im- prove with the release of the next generation of NVIDIA GPU hardware. Though further research is needed, clearly native SQL query processing can be signicantly accelerated with GPU hardware.
See the detailed PDF.