GPU is designed for accelerating graphics processing, vector computation and SIMD technologies. It is highly parallel, and suitable for large scale data processing and vector execution. So GPU has been used in a lot of domains as a general-purpose processor. On a discrete architecture, GPU and CPU are connected through PCI-e bus. Currently, the majority of research on database query processing focuses on the discrete architecture, in which the low bandwidth of PCI-e bus becomes the bottleneck for query processing. Recently, hardware vendors began to integrate CPU and GPU into a single chip, which forms a coupled CPU-GPU architecture. On this architecture, CPU and GPU share cache and memory which saves memory copy cost and is quite helpful for vector computation. This project will explore the database join methods on the coupled CPU-GPU architecture. The main research topics include the join behavior modeling on the coupled CPU-GPU architecture through hardware behavior analysis, and the join methods for in-memory vector execution database engines. In addition based on the models and in-memory join methods, this project will propose new join methods for data that cannot be held in memory and parallel join methods on the coupled architecture. We hope that the research work of this project will motivate new ideas for database research.
GPU是为加速图形处理而设计的、支持向量计算及SIMD技术的协处理器,具有大规模并行的特点,比较适合大规模数据处理和向量化执行,所以现在很多领域开始使用GPU作为通用目标处理器。在离散架构下,GPU和CPU之间通常使用PCI-e总线连接,基于GPU的数据库查询处理的大部分研究工作集中在这种架构下,PCI-e总线的低带宽往往成为影响查询处理性能的瓶颈。最近,硬件厂商开始将CPU和GPU集成到一个芯片上,形成耦合的CPU-GPU架构,在这种架构下,CPU和GPU可以共享缓存和内存,减少数据拷贝带来的开销,易于向量化执行的实现。本项目希望在耦合CPU-GPU架构下进行数据库连接技术的研究工作,对CPU和GPU的硬件行为进行分析,设计耦合架构下的连接行为模型,研究耦合架构下内存连接向量化执行方法,并在此基础上构建外存连接方法和并行连接方法,希望本项目的研究工作能够为数据库领域的发展提供新思路。
计算机硬件技术一直在向前发展,在CPU方面,多核、集成GPU、SIMD已经被主流商业产品所支持,充分利用新硬件技术带来的并行能力提高软件性能是一种可行途径,但这需要已有软件系统重新进行设计与实现,本项目在此背景下研究数据库领域关键技术的优化方法。主要研究内容包括在CPU-GPU耦合架构下进行连接等操作的行为评测与分析,从多个维度探索查询和主要操作的表现特性;设计向量化的内存连接、聚集等并行方法,最大程度利用GPU和SIMD的计算能力;研究压缩方法对连接等算法的影响,使用CPU和GPU直接对压缩数据进行处理。在研究过程中,本项目采用向量化技术设计了连接、聚集等并行算法,利用OpenCL和C语言实现了一个支持CPU-GPU耦合架构的OLAP查询原型系统,系统可在Intel和AMD的CPU和集成GPU上运行。采用SSBM数据集对系统进行评测和分析,研究发现对大多数分析查询来说,连接和聚集是在集成GPU上主要的耗时操作,与CPU相比,连接算法在集成GPU上能够取得较好效果;在CPU上,工作组和工作项数目等配置参数会对性能产生影响,当工作组数目与CPU核心数目相等时能够取得较好性能,在GPU上,很多设置都能获得较好性能;OpenCL实现能够影响查询性能,当前Intel SDK具有提升空间;与集成GPU和AMD CPU相比,Intel CPU对分析型工作负载具有很强优势;CPU能从压缩技术中获取较大提升,在集成GPU上应该进行新的设计。本项目工作可对数据库系统性能优化提出两方面建议:为了更好的利用新硬件,OpenCL的具体实现需要进一步进行改善;在协同工作模式下,CPU和GPU之间工作负载的分配需要考虑CPU仍然具有很好性能这一因素。本项目的研究工作可为数据库系统的发展提供新思路和依据。
{{i.achievement_title}}
数据更新时间:2023-05-31
MSGD: A Novel Matrix Factorization Approach for Large-Scale Collaborative Filtering Recommender Systems on GPUs
基于二维材料的自旋-轨道矩研究进展
水氮耦合及种植密度对绿洲灌区玉米光合作用和干物质积累特征的调控效应
物联网中区块链技术的应用与挑战
基于非线性接触刚度的铰接/锁紧结构动力学建模方法
基于CPU-GPU的软件无线电基带并行算法与通信系统架构研究
CPU-GPU异构云环境下多租户内存键值对系统关键技术研究
面向众核处理器的内存数据库连接优化技术研究
网格环境下数据库信息检索新技术研究