Acceleration technique for heterogeneous operators based on openGauss
Received date: 2023-06-30
Online published: 2023-09-20
GPU (graphics processing unit) 的高并行和高吞吐特性可以提高数据库OLAP (on-line analytical processing) 查询的性能. 然而目前openGauss无法利用GPU等异构计算硬件的优势. 因此旨在探索如何使用GPU加速该系统的OLAP处理过程, 以实现更高的性能. 针对openGauss与SQL为系统PostgreSQL名称的一部分,因此不能修改执行粒度的差异, 提出了基于分块读取和按键分发的CPU-GPU协同并行方案, 该方案可缩短GPU Scan算子的I/O (input/output) 时间以缩短GPU的空闲等待时间, 又可多实例运行GPU Join以支持多GPU环境. 针对openGauss与PostgreSQL体系结构的差异, 提出了兼容向量化引擎的异构算子加速技术, 实现了可嵌入向量化执行引擎的自定义算子框架, 基于此实现了可处理openGauss列式数据的向量化GPU Scan算子. 实现了原型系统, 验证了所提出方案的效果.
陈现森 , 徐辰 . 基于openGauss的异构算子加速技术[J]. 华东师范大学学报(自然科学版), 2023 , 2023(5) : 90 -99 . DOI: 10.3969/j.issn.1000-5641.2023.05.008
The high parallelism and throughput of graphics processing unit (GPU) can improve the performance of on-line analytical processing (OLAP) queries in databases. However, openGauss currently cannot take advantage of the benefits of heterogeneous computing hardware such as GPU. Therefore, in this study, we explore using GPU to accelerate the OLAP processing in the system and achieve higher performance. The focus is on how to implement and optimize GPU acceleration modules for openGauss. To address the difference in execution granularity between openGauss and PostgreSQL, we propose a CPU (central processing unit)-GPU collaborative parallel solution based on chunked reading and key distribution. This solution can reduce the I/O (input/output) time of the GPU Scan operator to reduce idle waiting time, and run multiple instances of GPU Join to support multi-GPU environments. To address the architectural differences between openGauss and PostgreSQL, a heterogeneous operator acceleration technology compatible with vectorized engines is proposed. A custom operator framework is implemented that can embed a vectorized execution engine, and a vectorized GPU Scan operator capable of processing openGauss columnar data is employed based on this framework. A prototype system is implemented to verify the effectiveness of the proposed approach.
1 | BANDI N, SUN C, AGRAWAL D, et al. Hardware acceleration in commercial databases: A case study of spatial operations [C]// Proceedings of the Very Large Databases Endowment. 2004: 1021-1032. |
2 | YUAN Y, LEE R, ZHANG X.. The Yin and Yang of processing data warehousing queries on GPU devices. Proceedings of the Very Large Databases Endowment, 2013, 6 (10): 817- 828. |
3 | HE B S, LU M, YANG K, et al.. Relational query coprocessing on graphics processors. ACM Transactions on Database Systems, 2009, 34 (4): 21. |
4 | HEIMEL M, SAECKER M, PIRK H, et al.. Hardware-oblivious parallelism for in memory column-stores. Proceedings of the Very Large Databases Endowment, 2013, 6 (9): 709- 720. |
5 | LI G L, ZHOU X H, SUN J, et al.. openGauss: An autonomous database system. Proceedings of the Very Large Databases Endowment, 2021, 14 (12): 3028- 3041. |
6 | LEE R B, ZHOU M H, LI C, et al.. The art of balance: A RateupDB? experience of building a CPU/GPU hybrid database product. Proceedings of the Very Large Databases Endowment, 2021, 14 (12): 2999- 3013. |
7 | SIOULAS P, CHRYSOGELOS P, KARPATHIOTAKIS M, et al. Hardware-conscious hash-joins on GPUs [C]// Proceedings of the 35th IEEE International Conference on Data Engineering. 2019: 698-709. |
8 | LUTZ C, BRESS S, ZEUCH S, et al. Pump up the volume: Processing large data on GPUs with fast interconnects [C]// Proceedings of the 2020 International Conference on Management of Data. 2020: 1633-1649. |
9 | LUTZ C, BRESS S, ZEUCH S, et al. Triton join: Efficiently scaling to a large join state on GPUs with fast interconnects [C]// Proceedings of the 2022 International Conference on Management of Data. 2022: 1017-1032. |
10 | MANCINI R, KARTHIK S, CHANDRA B, et al. Efficient massively parallel join optimization for large queries [C]// Proceedings of the 2022 International Conference on Management of Data. 2022: 122-135. |
11 | BRE? S, FUNKE H, TEUBNER J. Robust query processing in co-processor-accelerated databases [C]// Proceedings of the 2016 International Conference on Management of Data. 2016: 1891-1906. |
12 | ROOT C, MOSTAK T. MapD: A GPU-powered big data analytics and visualization platform [C]// Proceedings of the ACM Special Interest Group on Computer Graphics and Interactive Techniques Conference 2016 Talks. 2016: 73. |
13 | MERAJI S, SCHIEFER B, PHAM L, et al. Towards a hybrid design for fast query processing in DB2 with BLU acceleration using graphical processing units: A technology demonstration [C]// Proceedings of the 2016 International Conference on Management of Data. 2016: 1951-1960. |
14 | 裴威, 李战怀, 潘巍. GPU 数据库核心技术综述 [J]. 软件学报, 2021, 32(3): 859-885. |
15 | SUN X, YU J, ZHOU Z, et al. FPGA-based compaction engine for accelerating LSM-tree key-value stores [C]// Proceedings of the 2020 IEEE 36th International Conference on Data Engineering. 2020: 1261-1272. |
16 | CHIOSA M, MASCHI F, MüLLER I, et al. Hardware acceleration of compression and encryption in SAP HANA [C]// Proceedings of the 48th International Conference on Very Large Databases. 2022: 3277-3291. |
17 | GRAEFE G.. Volcano—An extensible and parallel query evaluation system. IEEE Transactions on Knowledge and Data Engineering, 1994, 6 (1): 120- 135. |
/
〈 |
|
〉 |