Skip to main content
Log in

Scaling database performance on GPUs

  • Published:
Information Systems Frontiers Aims and scope Submit manuscript

Abstract

The market leaders of Cloud Computing try to leverage the parallel-processing capability of GPUs to provide more economic services than traditions. As the cornerstone of enterprise applications, database systems are of the highest priority to be improved for the performance and design complexity reduction. It is the purpose of this paper to design an in-memory database, called CUDADB, to scale up the performance of the database system on GPU with CUDA. The details of implementation and algorithms are presented, and the experiences of GPU-enabled CUDA database operations are also shared in this paper. For performance evaluation purposes, SQLite is used as the comparison target. From the experimental results, CUDADB performs better than SQLite for most test cases. And, surprisingly, the CUDADB performance is independent from the number of data records in a query result set. The CUDADB performance is a static proportion of the total number of data records in the target table. Finally, this paper comes out a concept of turning point that represents the difference ratio between CUDADB and SQLite.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

References

  • Ailamaki, A., DeWitt, D. J., Hill, M. D., & Skounakis, M. (2001). “Weaving Relations for Cache Performance,” In Proceedings of the 27th International Conference on Very Large Data Bases, pp. 169–180, San Francisco, USA.

  • Akiyma, Y. “Large-scale Bioinformatics Applications on Multi-node GPU Environment,” URL: http://research.nvidia.com/content/CAS_CCOE_Part4

  • Atallah, M. J., Kosaraju, S. R., Larmore, L. L., Miller, G. L., & Teng, S.-H. (1989). “Constructing Trees in Parallel.” in Proceedings of the first annual ACM symposium on Parallel algorithms and architectures, pp. 421–431

  • Bakkum, P. & Skadron, K. (2010). “Accelerating SQL Database Operations on a GPU with CUDA.” In Proceedings of the 3 rd International Workshop on GPGPU, pp.94–103, New York, USA.

  • Chang, Y. S. & Cheng, H-T. “A scientific data extraction architecture using classified metadata,” Journal of Supercomputing, doi:10.1007/s11227-010-0462-7.

  • Ding, S., He, J., Yan, H., & Suel, T. (2009). “Using Graphics Processors for High Performance IR Query Processing.” In Proceedings of the 18th International Conference on World Wide Web, pp. 421–430, April. 20–24, 2009, Madrid, Spain.

  • Ferraro, P., Hanna, P., Imbert, L. & Izard, T., (2009). “Accelerating Query-Humming on GPU.” In Proceedings of the 10th Information Society for Music Information Retrieval Conference, pp. 279–284.

  • Garland, M., Le Grand, S., Nickolls, J., Anderson, J., Hardwick, J., Morton, S., et al. (2008). Parallel Computing Experiences with CUDA. IEEE in Micro, 28(4), 13–27.

    Article  Google Scholar 

  • Govindaraju, N. K. Lloyd, B., Wang, W., Lin, M. & Manocha, D. (2004). “Fast Computation of Database Operations using Graphics Processors.” In Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, pp. 215–226, Paris, France.

  • Haboush, A., & Qawasmeh, S. (2011). Parallel Sequential Searching for Unsorted Array. Research Journal of Applied Science, 6(1), 70–75.

    Article  Google Scholar 

  • Harris, M. (2008). "Parallel Prefix Sum (Scan) with CUDA," NVIDIA.

  • He, B., Yang, K., Fang, R., Lu, M., Govindaraju, N. K., & Luo, Q. et al. (2008). “Relational Joins on Graphics Processors.” In Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, pp. 511–524, Vancouver, BC, Canada.

  • Jung, J. J. (2010). Reusing Ontology Mappings for Query Segmentation and Routing in Semantic Peer-to-Peer Environment. Information Sciences, 180(17), 3248–3257.

    Article  Google Scholar 

  • Lindholm, E., Nickolls, J., Oberman, S., & Montrym, J. (2008). NVIDIA Tesla: “A Unified Graphics and Computing Architecture”. IEEE Micro, 28(2), 39–55.

    Article  Google Scholar 

  • Liu, Z., & Ma, W. (2008). “Exploiting Computing Power on Graphics Processing Unit,” In Proceedings of International Conference on Computer Science and Software Engineering, pp. 1062–1065, Dec.

  • Manavski, S. A. (2007). “CUDA Compatible GPU as an Efficient Hardware Accelerator for AES Cryptograph.” In Proceedings of International Conference on Signal Processing and Communication, ICSPC 2007, pp.65–68, November.

  • Manegold, S., Boncz, P., & Kersten, M. L. (2000). “What Happens During a Join? Dissecting CPU and Memory Optimization Effects”. In Proceedings of the 26th International Conference on Very Large Data Bases, Cairo, Egypt, pp. 339–350, September 10–14, San Francisco, USA.

  • Meki, S., & Kambayashi, Y. (August 2000). Acceleration of Relational Database Operations on Vector Processors. Systems and Computers, 31(8), 79–88.

    Article  Google Scholar 

  • Nickolls, J., Buck, I., Garland, M., & Skadron, K. (2008). Scalable Parallel Programming With CUDA. ACM Queue, 6(2), 40–53.

    Article  Google Scholar 

  • Owens, M. The Definitive Guide to SQLite, ISBN-13: 978-1-59059-673-9

  • Pushpa, S., Vinod, P., & Maple, C. (2006). “Creating a Forest of Binary Search Trees for a Multiprocessor System.” in Proceedings of International Symposium on Parallel Computing in Electrical Engineering (PARELEC’06), pp. 290–295.

  • Qihang Huang, Zhiyi Huang, Paul Werstein and Martin Purvis, “GPU as a General Purpose Computing Resource,” In Proceedings of PDCAT’08, pp. 151–158, Washington DC, 2008.

  • Rao, J. & Ross, K. A. (1999). “Cache Conscious Indexing for Decision-Support in Main Memory.” In Proceedings of the 25th International Conference on Vary Large Data Bases, pp. 78–89.

  • Rodrigues, C. I,. Hardy, D. J., Stone, J. E., Chulten, K., & Hwu, W.-M.W. (2008). “GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications.” In Proceedings of the Conference on Computing Frontiers, May 5–7.

  • Ross, K. A. (2002). “Conjunctive Selection Conditions in Main Memory.” In Proceedings of the 21th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pp. 109–120.

  • Schatz, M., Trapnell, C., Delcher, A., Varschney, A. (2007). “High-Throughput Sequence Alignment Using Graphics Processing Units.” BMC Bioinformatics, 8(1).

  • Sengupta, S., Harris, M., Zhang, Y. & Owens, J. D. (2007). “Scan Primitives for GPU Computing." In Proceedings of the 22th ACM SIGGRAPH Symposium on Graphic Hardware, pp. 97–106, Aug. 4–5.

  • Chengen, W. & Lida, X. “Parameter mapping and data transformation for engineering application integration." Information Systems Frontiers, 10(5), 589–600.

  • Wynters, E. (2011). Parallel Processing on NVIDIA Graphics Processing Units Using CUDA. Journal of Computing Sciences in Colleges, 26(3), Jan.

  • Yuan, Z., Zhang, Y., Zhao, J., Ding, Y., Long, C., Xiong, L., et al. (2010). Real-time Simulation for 3D Tissue Deformation with CUDA Based GPU Computing. Journal of Convergence Information Technology, 5(4), 109–119.

    Article  Google Scholar 

  • Zhang, Y., Frank, M., Cui, X. & Potok, T. (2011). “Data-Intensive Document Clustering on Graphics Processing Unit Clusters.” Journal of Parallel and Distributed Computing, 71(2), Feb.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ruey-Kai Sheu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chang, YS., Sheu, RK., Yuan, SM. et al. Scaling database performance on GPUs. Inf Syst Front 14, 909–924 (2012). https://doi.org/10.1007/s10796-011-9322-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10796-011-9322-0

Keywords

Navigation