, Volume 15, Issue 2, pp 131–140 | Cite as

Toward GPU-accelerated Database Optimization

  • Andreas MeisterEmail author
  • Sebastian Breß
  • Gunter Saake


For over three decades, research investigates optimization options in DBMSs. Nowadays, the hardware used in DBMSs become more and more heterogeneous, because processors are bound by a fixed energy budget leading to increased parallelism. Existing optimization approaches in DBMSs do not exploit parallelism for a single optimization task and, hence, can only benefit from the parallelism offered by current hardware by batch-processing multiple optimization tasks.

Since a large optimization space often allows us to process sub-spaces in parallel, we expect large gains in result quality for optimization approaches in DBMSs and, hence, performance for query processing on modern (co-)processors. However, parallel optimization on CPUs is likely to slow down query processing, because DBMSs can fully exploit the CPUs computing resources due to high data parallelism. In contrast, the communication overhead of co-processors such as GPUs typically lead to plenty of compute resources unused.

In this paper, we motivate the use of parallel co-processors for optimization in DBMSs, identify optimization problems benefiting from parallelization, and show how we can design parallel optimization approaches on the example of the operator placement problem.


Query Processing Access Structure Optimization Task Query Optimization Dynamic Programming Approach 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We thank Sebastian Dorok from Bayer AG, David Broneske from University of Magdeburg, and Max Heimel from TU Berlin for helpful feedback and discussions.


  1. 1.
    Andrzejewski W, Gramacki A, Gramacki J (2013) Graphics processing units in acceleration of bandwidth selection for kernel density estimation. Int J Appl Math Comput Sci 23(4):869–885zbMATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    Augustyn DR, Warchal L (2013) GPU-accelerated query selectivity estimation based on data clustering and Monte Carlo Integration Method developed in CUDA Environment. In ADBIS workshop on GPUs In Databases (GID). Springer International Publishing, pp 215–224Google Scholar
  3. 3.
    Augustyn DR, Warchal L (2015) GPU-accelerated method of query selectivity estimation for non equi-join conditions based on discrete fourier transform. In New Trends in Database and Information Systems II. Springer International Publishing, pp 215–227Google Scholar
  4. 4.
    Augustyn DR, Zederowski S (2012) Applying CUDA technology in DCT-based method of query selectivity estimation. In ADBIS workshop on GPUs in databases (GID). Springer Berlin Heidelberg, pp 3–12Google Scholar
  5. 5.
    Bleiweiss A  (2008) GPU Accelerated pathfinding. GH. Eurographics Association, Aire-la-Ville, pp 65–74Google Scholar
  6. 6.
    Blohsfeld B, Korus D, Seeger B (1999) A comparison of selectivity estimators for range queries on metric attributes. SIGMOD. ACM, New York, pp 239–250Google Scholar
  7. 7.
    Borkar S, Chien AA (2011) The future of microprocessors. CACM 54(5):67–77CrossRefGoogle Scholar
  8. 8.
    Boyer V, Baz DE, Elkihel M (2012) Solving knapsack problems on GPU. Comput Oper Res 39(1):42–47zbMATHMathSciNetCrossRefGoogle Scholar
  9. 9.
    Breß S (2014) The design and implementation of CoGaDB: A column-oriented GPU-accelerated DBMS. Datenbank-Spektrum 14(3):199–209CrossRefGoogle Scholar
  10. 10.
    Breß S, Beier F, Rauhe H, Sattler K-U, Schallehn E, Saake G (2013) Efficient co-processor utilization in database query processing. Information Systems 38(8):1084–1096CrossRefGoogle Scholar
  11. 11.
    Buluç A, Gilbert JR, Budak C (2010) Solving path problems on the GPU. Parallel Comput 36(5–6):241–253zbMATHCrossRefGoogle Scholar
  12. 12.
    Cecilia JM, García JM, Nisbet A, Amos M, Ujaldón M (2013) Enhancing data parallelism for Ant Colony Optimization on GPUs. J Parallel Distrib Comput 73(1):42–51CrossRefGoogle Scholar
  13. 13.
    Chen DZ (1996) Developing algorithms and software for geometric path planning problems. ACM Comput Surv 28(4es)Google Scholar
  14. 14.
    Garcia-Molina H, Widom J, Ullman JD (1999) Database system implementation. Prentice-Hall, Inc., Upper Saddle RiverGoogle Scholar
  15. 15.
    Graefe G (1993) Options in physical database design. SIGMOD Record 22(3):76–83CrossRefGoogle Scholar
  16. 16.
    Gregg C, Hazelwood K (2011) Where is the data? Why you cannot debate CPU vs. GPU performance without the Answer. ISPASS. IEEE, Washington, D.C.,pp 134–144Google Scholar
  17. 17.
    Han W-S, Kwak W, Lee J, Lohman GM, Markl V (2008) Parallelizing query optimization. PVLDB 1(1):188–200Google Scholar
  18. 18.
    Han W-S, Lee J (2009) Dependency-aware reordering for parallelizing query optimization in multi-core CPUs. SIGMOD. ACM, New York, pp 45–58Google Scholar
  19. 19.
    Harish P, Narayanan P (2007) Accelerating large graph algorithms on the GPU using CUDA. In HiPC, vol 4873 of LNCS. Springer Berlin Heidelberg, pp 197–208Google Scholar
  20. 20.
    He B, Lu M, Yang K, Fang R, Govindaraju NK, Luo Q, Sander PV (2009) Relational query coprocessing on graphics processors. TODS 34:21:1–21:39Google Scholar
  21. 21.
    Heimel M, Markl V (2012) A first step towards GPU-assisted query optimization. ADMS, IstanbulGoogle Scholar
  22. 22.
    Ibaraki T, Kameda T (1984) On the optimal nesting order for computing N-relational joins. TODS 9(3):482–502MathSciNetCrossRefGoogle Scholar
  23. 23.
    Ioannidis YE, Wong E (1987) Query optimization by simulated annealing. SIGMOD. ACM, New York, pp 9–22Google Scholar
  24. 24.
    Jaros J (2012) Multi-GPU island-based genetic algorithm for solving the knapsack problem. CEC. IEEE, Australia, pp 1–8Google Scholar
  25. 25.
    Liu Y, Hu J (2011) GPU-based parallelization for fast circuit optimization. TODAES 16(3):24:1–24:14Google Scholar
  26. 26.
    Martín PJ, Torres R, Gavilanes A (2009) CUDA Solutions for the SSSP Problem. ICCS. Springer Berlin Heidelberg, pp 904–913Google Scholar
  27. 27.
    Moerkotte G, Fender P, Eich M (2013) On the correct and complete enumeration of the core search space. SIGMOD. ACM, New York, pp 493–504Google Scholar
  28. 28.
    Nehme R, Bruno N (2011) Automated partitioning design in parallel database systems. SIGMOD. ACM, New York, pp 1137–1148Google Scholar
  29. 29.
    Nguyen H (2007) Gpu Gems 3. Addison-Wesley Professional, edn 1Google Scholar
  30. 30.
    Ortega-Arranz H, Torres Y, Llanos D, Gonzalez-Escribano A (2013) A new GPU-based approach to the Shortest Path problem. In HPCS. IEEE, pp 505–511Google Scholar
  31. 31.
    Pospichal P, Jaros J, Schwarz J (2010) Parallel genetic algorithm on the CUDA Architecture. EvoApplicatons. Springer Berlin Heidelberg, pp 442–451Google Scholar
  32. 32.
    Pospichal P, Schwarz J, Jaros J (2010) Parallel genetic algorithm Solving 0/1 Knapsack Problem running on the GPU. MENDEL. Brno University of Technology, Brno, pp 64–70Google Scholar
  33. 33.
    Sanders J, Kandrot E (2010) CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional, 1st ednGoogle Scholar
  34. 34.
    Spampinato DG, Elster AC (2009) Linear optimization on modern GPUs. IPDPS. IEEE, Rome, pp 1–8Google Scholar
  35. 35.
    Tsutsui S, Fujimoto N (2009) Solving quadratic assignment problems by genetic algorithms with GPU computation: a case study. GECCO New York, ACM, pp 2523–2530Google Scholar
  36. 36.
    Wang K, Zhang K, Yuan Y, Ma S, Lee R, Ding X, Zhang X (2014) Concurrent analytical query processing with GPUs. PVLDB 7(11):1011–1022Google Scholar
  37. 37.
    Zhou Y, Tan Y (2009) GPU-based parallel particle swarm optimization. CEC IEEE, pp 1493–1500Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Andreas Meister
    • 1
    Email author
  • Sebastian Breß
    • 2
  • Gunter Saake
    • 1
  1. 1.University of MagdeburgMagdeburgGermany
  2. 2.TU Dortmund UniversityDortmundGermany

Personalised recommendations