论文部分内容阅读
随着网络的普及,信息时代的到来,人们日常生活所面临的数据已经非常巨大,如何围绕这些数据建立数据仓库、进行数据挖掘和数据分析正逐步成为数据处理的主题。如何快速准确分析这些海量数据,对数据仓库系统有了更高的要求。传统的基于行存储的关系型数据库系统已经不能很好地适应海量数据分析的要求,而基于列的存储模型能够较好地支持海量数据分析。近年来,微处理器的发展非常迅速。由于处理器功耗与设计的限制,处理器的发展趋势正逐步从单核心高主频到多核心处理器发展。现在单核心处理器几乎从处理器市场中消失,而片上多核处理器(chip multipro-cessor,CMP)已经成为该市场上的主流。多核处理器能够为列存储并行查询执行提供硬件环境。本文主要研究多核处理器环境下列存储系统的并行查询设计与实现技术。论文以我们实验室研制的列存储系统DWMS为依托,研究现有的查询技术,设计并实现了一套基于多核处理器的并行查询模块。1、分析一条查询语句在处理过程中的各个阶段的基础上,并为多个查询阶段的查询优化做出并行化分析。2、设计了基于OpenMP技术动态分配的多线程快速排序算法。3、设计了多个多线程hash连接算法,可根据具体的情况选择合适的连接算法。4、分析多查询基础上设计了一个简单的多查询并行。5、对基于传递块的查询执行模型进行分析后,建立了传递块缓冲区。以传递块缓冲区为数据流转中心设计了基于流水线的查询并行化方案。这种设计主要将父子节点间传送数据的方式由传递块改为传递块缓冲区,这样操作节点只对缓冲区读写数据,父子操作节点之间实现了分离。通过对缓冲区的有效管理,能够很好地提高DWMS的查询性能。6、论文最后对整个查询的并行设计做出分析,通过对相关参数、缓冲区数量和并行模块的进行设置,进一步提高查询性能。在多核环境下,论文对DWMS数据仓库原型系统进行了多线程设计,主要是对操作节点的并行化设计和流水线并行化设计。通过理论分析和相关实验的验证,表明我们的查询并行化设计可以有效地提高DWMS的查询效率。