Towards Optimization of Hybrid CPU/GPU Query Plans in Database Systems

  • Sebastian Breß
  • Eike Schallehn
  • Ingolf Geist
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 185)


Current database research identified the computational power of GPUs as a way to increase the performance of database systems. Since GPU algorithms are not necessarily faster than their CPU counterparts, it is important to use the GPU only if it is beneficial for query processing. In a general database context, only few research projects address hybrid query processing, i.e., using a mix of CPU- and GPU-based processing to achieve optimal performance. In this paper, we extend our CPU/GPU scheduling framework to support hybrid query processing in database systems. We point out fundamental problems and provide an algorithm to create a hybrid query plan for a query using our scheduling framework.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bakkum, P., Skadron, K.: Accelerating SQL database operations on a GPU with CUDA. In: Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units, GPGPU 2010, pp. 94–103. ACM, New York (2010)CrossRefGoogle Scholar
  2. 2.
    Breß, S., Beier, F., Rauhe, H., Schallehn, E., Sattler, K.U., Saake, G.: Automatic Selection of Processing Units for Coprocessing in Databases. In: 16th East-European Conference on Advances in Databases and Information Systems, ADBIS. Springer (2012)Google Scholar
  3. 3.
    Breß, S., Mohammad, S., Schallehn, E.: Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms. In: Grundlagen von Datenbanken, pp. 89–94. CEUR-WS (2012)Google Scholar
  4. 4.
    Govindaraju, N.K., Lloyd, B., Wang, W., Lin, M., Manocha, D.: Fast Computation of Database Operations using Graphics processors. In: Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, SIGMOD 2004, pp. 215–226. ACM, New York (2004)CrossRefGoogle Scholar
  5. 5.
    Gregg, C., Hazelwood, K.: Where is the data? Why You Cannot Debate CPU vs. GPU Performance without the Answer. In: Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software, ISPASS 2011, pp. 134–144. IEEE Computer Society, Washington, DC (2011)Google Scholar
  6. 6.
    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, 21:1–21:39 (2009)CrossRefGoogle Scholar
  7. 7.
    He, B., Yang, K., Fang, R., Lu, M., Govindaraju, N., Luo, Q., Sander, P.: Relational Joins on Graphics Processors. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD 2008, pp. 511–524. ACM, New York (2008)CrossRefGoogle Scholar
  8. 8.
    Heimel, M.: Investigating Query Optimization for a GPU-accelerated Database. Master’s thesis, Technische Universität Berlin, Electrical Engineering and Computer Science, Department of Software Engineering and Theoretical Computer Science (2011)Google Scholar
  9. 9.
    Ilić, A., Pratas, F., Trancoso, P., Sousa, L.: High-Performance Computing on Heterogeneous Systems: Database Queries on CPU and GPU. In: High Performance Scientific Computing with Special Emphasis on Current Capabilities and Future Perspectives, pp. 202–222. IOS Press (2011)Google Scholar
  10. 10.
    Ilić, A., Sousa, L.: Chps: An environment for collaborative execution on heterogeneous desktop systems. International Journal of Networking and Computing 1(1) (2011)Google Scholar
  11. 11.
    Kothapalli, K., Mukherjee, R., Rehman, M.S., Patidar, S., Narayanan, P.J., Srinathan, K.: A performance prediction model for the CUDA GPGPU platform. In: 2009 International Conference on High Performance Computing, HiPC, pp. 463–472 (June 2009)Google Scholar
  12. 12.
    NVIDIA: NVIDIA CUDA C Programming Guide, Version 4.0, pp. 30–34 (2012), (accessed May 1, 2012)
  13. 13.
    Pirk, H., Manegold, S., Kersten, M.: Accelerating Foreign-Key Joins using Asymmetric Memory Channels. In: VLDB - Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (ADMS): Proceedings of International Conference on Very Large Data Bases 2011 (VLDB), pp. 585–597 (2011)Google Scholar
  14. 14.
    Schaa, D., Kaeli, D.: Exploring the multiple-GPU design space. In: Proceedings of the 2009 IEEE International Symposium on Parallel & Distributed Processing, IPDPS 2009, pp. 1–12. IEEE Computer Society, Washington, DC (2009)Google Scholar
  15. 15.
    Walkowiak, S., Wawruch, K., Nowotka, M., Ligowski, L., Rudnicki, W.: Exploring Utilisation of GPU for Database Applications. Procedia Computer Science 1(1), 505–513 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Otto-von-Guericke University MagdeburgMagdeburgGermany

Personalised recommendations