Challenges for a GPU-Accelerated Dynamic Programming Approach for Join-Order Optimization

Relational database management systems apply query optimization in order to determine efficient execution plans for declarative queries. Since the execution time of equivalent query execution plans can differ by several orders of magnitude based on the used join order, join-order optimization is one of the most important problems within query processing. Since the time-budget of query optimization is limited, efficient join-order optimization approaches are needed to determine execution plans with low execution times. The state of the art in commercial systems for determining optimal join orders is dynamic programming. Unfortunately, existing algorithms are mainly sequential algorithms, which do not benefit from current parallel system architectures. In current system architectures, specialized co-processors, such as GPUs, provide a higher computational power compared to CPUs. If the full potential of GPUs is used, query optimizer can provide optimal solutions for more complex problems. Unfortunately, adapting existing dynamic programming approaches for join-order optimization to GPUs is not straightforward. In this paper, we discuss the challenges for a GPU-accelerated dynamic programming approach for join-order optimization, and propose different ways to handle these challenges.

[1]  Gunter Saake,et al.  Toward Hardware-Sensitive Database Operations , 2014, EDBT.

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

[3]  Kian-Lee Tan,et al.  Multi-Join Optimization for Symmetric Multiprocessors , 1993, VLDB.

[4]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[5]  Martyn Amos,et al.  Enhancing data parallelism for Ant Colony Optimization on GPUs , 2013, J. Parallel Distributed Comput..

[6]  Michael C. Ferris,et al.  A Genetic Algorithm for Database Query Optimization , 1991, ICGA.

[7]  Guido Moerkotte,et al.  Heuristic and randomized optimization for the join ordering problem , 1997, The VLDB Journal.

[8]  Gunter Saake,et al.  Load-aware inter-co-processor parallelism in database query processing , 2014, Data Knowl. Eng..

[9]  Patricia G. Selinger,et al.  Access path selection in a relational database management system , 1979, SIGMOD '79.

[10]  Petr Pospichal,et al.  Parallel Genetic Algorithm Solving 0/1 Knapsack Problem Running on the GPU , 2011 .

[11]  Gary K. Chen,et al.  Discovering epistasis in large scale genetic association studies by exploiting graphics cards , 2013, Front. Genet..

[12]  Viktor Leis,et al.  How Good Are Query Optimizers, Really? , 2015, Proc. VLDB Endow..

[13]  David Maier,et al.  Rapid bushy join-order optimization with Cartesian products , 1996, SIGMOD '96.

[14]  Volker Markl,et al.  Parallelizing query optimization , 2008, Proc. VLDB Endow..

[15]  Volker Markl,et al.  Self-Tuning, GPU-Accelerated Kernel Density Models for Multidimensional Selectivity Estimation , 2015, SIGMOD Conference.

[16]  A. Meister GPU-accelerated join-order optimization , 2015 .

[17]  Wen-mei W. Hwu,et al.  Optimization principles and application performance evaluation of a multithreaded GPU using CUDA , 2008, PPoPP.

[18]  Babak Falsafi,et al.  Toward Dark Silicon in Servers , 2011, IEEE Micro.

[19]  Marcin Zukowski,et al.  Vectorwise: A Vectorized Analytical DBMS , 2012, 2012 IEEE 28th International Conference on Data Engineering.

[20]  Thomas Neumann Engineering High-Performance Database Engines , 2014, Proc. VLDB Endow..

[21]  Kunle Olukotun,et al.  The Future of Microprocessors , 2005, ACM Queue.

[22]  Gunter Saake,et al.  Toward GPU-accelerated Database Optimization , 2015, Datenbank-Spektrum.

[23]  Guy M. Lohman,et al.  Optimizing GPU-accelerated Group-By and Aggregation , 2015, ADMS@VLDB.

[24]  Guido Moerkotte,et al.  On the correct and complete enumeration of the core search space , 2013, SIGMOD '13.

[25]  Guido Moerkotte,et al.  On the complexity of generating optimal plans with cross products (extended abstract) , 1997, PODS '97.

[26]  Guy M. Lohman,et al.  Optimizer Validation and Performance Evaluation for Distributed Queries , 1998 .