论文部分内容阅读
随着互联网时代的到来,企业数据爆发式增长。如何更好地支持海量数据的存储、分析,已经成为企业关注的重要问题。数据仓库是用来存储、分析海量数据的重要工具。传统关系型数据库以事务操作为核心,而数据仓库更注重对海量数据的存储、查询与分析。相比于行存储技术,列存储技术因其在读优先环境中的优势,被更多的应用于数据仓库之中。由于列存储系统可以支持列的独立存储、压缩和其他操作,列存储更利于读优化操作。集成多核异构CPU-GPU架构已经成为计算机处理器芯片的发展趋势,在商用计算机中,基于集成多核异构CPU-GPU架构的中央处理器已经得到了较为广泛的应用。在这种趋势下,研究数据仓库软件如何利用集成多核异构CPU-GPU体系架构处理器的性能优势极具价值。本文主要研究集成多核异构CPU-GPU架构处理器上列存储系统的连接原语优化技术,并以我们实验室自主研发的列存储系统为基础,研究了如何利用集成多核异构CPU-GPU架构的计算资源和性能优势优化连接操作。主要工作如下:本文首先研究了基于列存储系统的并行连接算法,针对OpenCL编程框架的特点,设计并实现了基于OpenCL的列存储系统连接算法。除此之外,研究了GPU上的数据分组算法,并针对该算法空间开销较大的问题做了相应改进,提出了一种基于分组数统计的GPU数据分组算法。其次,对使用GPU作协处理器加速数据查询操作的方法进行了研究。之后,深入研究了基于集成CPU-GPU架构的流水线协处理方案,并针对其无法动态改变数据配比的问题,提出了一种动态数据分配策略。再次,研究了实验室自主研发的列存储系统,并对其作出了改进,将本文提出的数据分配策略集成到该系统之上,使其可以充分利用集成CPU-GPU架构处理器的计算资源,优化连接操作。最后,使用SSB测试基准,验证了本文提出的方法有效性。实验结果表明,本文提出的方法使得两表连接效率最大提高了33.2%,SSB测试基准的标准查询语句Q1.1的执行时间缩短了9.81%,Q3.1执行时间最高缩短了7.03%。