首页 | 本学科首页   官方微博 | 高级检索  
     

面向GoldenX软硬协同优化的异构加速列式存储引擎研究
引用本文:屠要峰,陈河堆. 面向GoldenX软硬协同优化的异构加速列式存储引擎研究[J]. 计算机学报, 2022, 45(1): 207-223. DOI: 10.11897/SP.J.1016.2022.00207
作者姓名:屠要峰  陈河堆
作者单位:南京航空航天大学计算机科学与技术学院 南京 211106,中兴通讯股份有限公司 南京 210012
基金项目:国家重点研发计划项目(No.2018YFB1003301);;江苏省重点研发计划项目(BE2019012)资助~~;
摘    要:万物互联时代,随着各类新型计算技术和新兴应用领域出现,传统数据处理方式逐步向云边协同数据处理的方式演进.云边复杂多变的生态系统(多云和多边缘)带来飞速增长的数据规模、复杂的数据位置及负载连接,如何高效稳定的存取数据信息以及如何加快数据查询处理已经成为学术界和工业界急需解决的关键问题.另一方面,以GPU/FPGA异构算力、NVM(non-volatile memory,非易失内存)存储、RDMA(remote direct memory access,远程直接内存存取)网络为代表的新型硬件技术的快速发展和应用,对现有软件架构体系产生了革命性的影响,为数据库系统的演进和性能提升提供了变革基础,吸引着越来越多研究者的关注.如何利用这些不断涌现的新型硬件技术来为工业界使用的真实数据库系统赋能已经成为目前的研究热点之一.首先介绍了中兴通讯GoldenX数据库系统架构,然后重点阐述其列式存储引擎利用新型硬件特性在计算层和存储层进行的软硬件协同设计和优化,主要包括:(1)将压缩/解压、加密/解密任务从CPU卸载到FPGA,利用FPGA的可编程特性,设计专用MISD(multiple instruction stream single data stream,多指令流单数据流)架构处理器,采用“软件接口级-计算核心级-功能模块级”三级流水线设计,提高数据流处理的效率;(2)为列式存储定制向量化执行引擎,利用CPU/GPU的SIMD(single instruction multiple data,单指令多数据流)新特性优化传统火山模型,降低了函数调用开销;(3)对SQL执行引擎进行优化,动态评估和利用GPU计算资源,采用JIT编译技术,将过滤/排序/聚集等具有矩阵运算特征的统计分析型SQL运算任务下推到GPU上,利用GPU的超高并行计算能力提高查询分析性能.实验表明,本文提出的软硬件优化方法有效提升了GoldenX系统性能,在TPC-H基准测试场景的22个查询中,优化后的GoldenX性能比优化前提升了2.5~10倍,比开启向量化的openGauss执行时长减少了17%~78%.

关 键 词:数据库  存储引擎  GPU  FPGA  OLAP

Research on Heterogeneous Accelerated Columnar Storage Engine Based on Co-optimization of Software and Hardware for GoldenX
TU Yao-Feng,CHEN He-Dui. Research on Heterogeneous Accelerated Columnar Storage Engine Based on Co-optimization of Software and Hardware for GoldenX[J]. Chinese Journal of Computers, 2022, 45(1): 207-223. DOI: 10.11897/SP.J.1016.2022.00207
Authors:TU Yao-Feng  CHEN He-Dui
Affiliation:(Department of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 211106;ZTE Corporation,Nanjing 210012)
Abstract:In the era of Internet of Everything,with the emergence of various new computing technologies and emerging application fields,the traditional data processing methods are gradually evolving from a single processing method to a cloud-edge collaborative data processing method.The complex and changeable ecosystem(including multi-cloud and multi-edge)on the cloud and edge sides have brought rapid growth in data scale,complex data locations and load connections.Under this premise,how to efficiently and stably access data and information and how to speed up data query processing has become a key issue that academia and industry need to solve urgently.On the other hand,the new hardware technologies represented by GPU(graphic process unit)/FPGA(field programmable gate array)heterogeneous computing power,NVM(non-volatile memory)storage,and RDMA(remote direct memory access)network,is developing and applying rapidly.This will have a revolutionary impact on the existing software architecture system,and also provide a foundation for the evolution and performance improvement of the database system,and attract the attention from more and more researchers.Therefore,how to use these emerging new hardware technologies to empower the real database system used in the industry has become one of the current research hotspots.First of all,this paper introduces the architecture of ZTE GoldenX database system and the design of its columnar storage engine,and then focuses on the software and hardware co-design and optimization of the GoldenX’s columnar storage engine using new hardware features at the computing layers and storage layers.The main work and contributions include:(1)Offload the tasks of compression/decompression and encryption/decryption from the CPU to the FPGA,and use the programmable characteristics of FPGA to design a dedicated MISD(multiple instruction stream single data stream)architecture processor,adopting“software interface level-computing core level-functional module level”three stage pipeline design to improve the efficiency of data stream processing;(2)Customize a vectorized execution engine for GoldenX’s column storage to make full use of the new features of CPU/GPU namely SIMD(single instruction multiple data)to optimize the traditional volcano model,reducing the cost of function calls;(3)Optimize the SQL execution engine,dynamically evaluate and utilize GPU computing resources,and use the JIT compilation technology to push statistical and analysis SQL operation tasks with matrix computing characteristics(such as filtering/sorting/aggregation)down to the GPU,so that the ultra-high parallel computing powers of the GPU can be used to improve SQL query and analysis performance.Our experiments show that the software and hardware optimization method proposed in this paper can effectively improve the system performance of GoldenX.Using FPGA for compression/decompression operations can improve read and write performance by 1.2~2.4 times,and after offloading scanning/connection/grouping operations to GPU,their execution time can be reduced by 33%~92%,and after the vectorization engine is turned on,the execution time of SCAN/AGG/JOIN is reduced by 41%~83%.Finally,we conducted a system-level test on the database,among the 22 queries in the TPC-H benchmark test scenario,the system performance after optimization is 2.5~10 times higher than that before optimization.Compared with openGauss with vectorization turned on,the optimized GoldenX reduces the execution time by 17%~78%.
Keywords:database  storage engine  graphic process unit  field programmable gate array  online analytical process
本文献已被 维普 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号