Why it is time for a HyPE: A Hybrid Query Processing Engine for Efficient GPU Coprocessing in DBMS

GPU acceleration is a promising approach to speed up query processing of database systems by using low cost graphic processors as coprocessors. Two major trends have emerged in this area: (1) The development of frameworks for scheduling tasks in heterogeneous CPU/GPU platforms, which is mainly in the context of coprocessing for applications and does not consider specifics of database-query processing and optimization. (2) The acceleration of database operations using efficient GPU algorithms, which typically cannot be applied easily on other database systems, because of their analytical-algorithm-specific cost models. One major challenge is how to combine traditional database query processing with GPU coprocessing techniques and efficient database operation scheduling in a GPU-aware query optimizer. In this thesis, we develop a hybrid query processing engine, which extends the traditional physical optimization process to generate hybrid query plans and to perform a cost-based optimization in a way that the advantages of CPUs and GPUs are combined. Furthermore, we aim at a portable solution between different GPU-accelerated database management systems to maximize applicability. Preliminary results indicate great potential.

[1]  Kim M. Hazelwood,et al.  Where is the data? Why you cannot debate CPU vs. GPU performance without the answer , 2011, (IEEE ISPASS) IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE.

[2]  Bingsheng He,et al.  High-Throughput Transaction Executions on Graphics Processors , 2011, Proc. VLDB Endow..

[3]  Jin Wang,et al.  Relational Algebra Algorithms and Data Structures for GPU , 2012 .

[4]  Kai-Uwe Sattler,et al.  GiST scan acceleration using coprocessors , 2012, DaMoN '12.

[5]  Felix Naumann,et al.  Duplicate Detection on GPUs , 2013, BTW.

[6]  Ingolf Geist,et al.  Towards Optimization of Hybrid CPU/GPU Query Plans in Database Systems , 2012, ADBIS Workshops.

[7]  Sudhakar Yalamanchili,et al.  Modeling GPU-CPU workloads and systems , 2010, GPGPU-3.

[8]  Krzysztof Kaczmarski Comparing GPU and CPU in OLAP Cubes Creation , 2011, SOFSEM.

[9]  Guilan Wang,et al.  GPU-Based Aggregation of On-Line Analytical Processing , 2012 .

[10]  Naga K. Govindaraju,et al.  Relational Query Co-Processing on Graphics Processors 1 , 2009 .

[11]  Gunter Saake,et al.  Efficient co-processor utilization in database query processing , 2013, Inf. Syst..

[12]  Vassilis J. Tsotras,et al.  Efficient XML Path Filtering Using GPUs , 2011, ADMS@VLDB.

[13]  Tarek A. El-Ghazawi,et al.  An Adaptive Hybrid OLAP Architecture with optimized memory access patterns , 2012, Cluster Computing.

[14]  Naga K. Govindaraju,et al.  Mars: A MapReduce Framework on graphics processors , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[15]  Pradeep Dubey,et al.  FAST: fast architecture sensitive tree search on modern CPUs and GPUs , 2010, SIGMOD Conference.

[16]  Amitava Datta,et al.  Exploring graphics processing units as parallel coprocessors for online aggregation , 2010, DOLAP '10.

[17]  Gunter Saake,et al.  Automatic Selection of Processing Units for Coprocessing in Databases , 2012, ADBIS.

[18]  Dinesh Manocha,et al.  GPUTeraSort: high performance graphics co-processor sorting for large database management , 2006, SIGMOD Conference.

[19]  Lee C. Potter,et al.  Statistical prediction of task execution times through analytic benchmarking for scheduling in a heterogeneous environment , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[20]  Srimat Chakradhar,et al.  Efficient Data Management for GPU Databases , 2012 .

[21]  Michel Barlaud,et al.  Fast k nearest neighbor search using GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[22]  Kevin Skadron,et al.  Accelerating SQL database operations on a GPU with CUDA , 2010, GPGPU-3.

[23]  Eike Schallehn,et al.  Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms , 2012, Grundlagen von Datenbanken.

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

[25]  Bingsheng He,et al.  Relational joins on graphics processors , 2008, SIGMOD Conference.

[26]  Martin L. Kersten,et al.  X-device query processing by bitwise distribution , 2012, DaMoN '12.

[27]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[28]  Leonel Sousa,et al.  CHPS: An Environment for Collaborative Execution on Heterogeneous Desktop Systems , 2011, Int. J. Netw. Comput..

[29]  Martin L. Kersten,et al.  Accelerating Foreign-Key Joins using Asymmetric Memory Channels , 2011, ADMS@VLDB.

[30]  Tarek A. El-Ghazawi,et al.  Task Scheduling for GPU Accelerated Hybrid OLAP Systems with Multi-core Support and Text-to-Integer Translation , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[31]  Cédric Augonnet,et al.  StarPU: a unified platform for task scheduling on heterogeneous multicore architectures , 2011, Concurr. Comput. Pract. Exp..

[32]  Jeffrey F. Naughton,et al.  Predicting query execution time: Are optimizer cost models really unusable? , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[33]  Dinesh Manocha,et al.  Fast computation of database operations using graphics processors , 2005, SIGGRAPH Courses.

[34]  Gunter Saake,et al.  A framework for cost based optimization of hybrid CPU/GPU query plans in database systems , 2012 .

[35]  Volker Markl,et al.  Hardware-Oblivious Parallelism for In-Memory Column-Stores , 2013, Proc. VLDB Endow..

[36]  Liulin Cao,et al.  Parallel k-Nearest Neighbor Search on Graphics Hardware , 2010 .

[37]  Holger Pirk,et al.  Efficient Cross-Device Query Processing , 2012, VLDB 2012.