学位论文 > 优秀研究生学位论文题录展示

多核处理器上列数据库选择操作的优化技术研究

作 者: 张林亚
导 师: 陈虎; 荣霓
学 校: 华南理工大学
专 业: 软件工程
关键词: 选择操作 原语集合 优化策略 多线程 SSE
分类号: TP311.13
类 型: 硕士论文
年 份: 2013年
下 载: 6次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着数据的激增,据美国互联网数据中心指出,互联网上的数据每年将增长约50%,每两年翻一番。面对庞大的数据分析,相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。传统的DBMSs已经显得力不从心。列存储数据库被证明是解决大数据复杂查询的有力武器。对比行数据库,列数据库具有压缩、延迟物化以及块迭代的独特技术,被广泛应用于大数据领域。同时多核CPU的发展使得算法性能的优化可以进行更深入的挖掘。基于以上两点,本论文作者所在的数据库研究小组实现了一个按列存储的数据库原型系统gSQLv1.0版本,主要目的是为查询密集型应用的提供一个执行引擎。为了进一步提升gSQLv1.0系统的执行性能,本文首先深入分析gSQLv1.0中的性能瓶颈,发现选择操作相关的原语分解力度过小、低效率的EXCHANG原语操作过多、产生大量的临时中间向量是导致gSQLv1.0性能受限的主要原因。因而得出选择操作的优化方案,主要有以下三点组成:1、粗粒度原语设计2、引入索引机制3、中间结果的重用并为此重新设计和定义了选择操作相关的原语集合。新的原语集合包含全内容多字段和多条件的选择操作原语MULTISELECT,部分内容多字段和多条件的选择操作原语MULTISELECTP,单字段选择操作原语SELECTP,单字段索引选择操作原语SELECTPI,单字段交集选择操作原语INTERSECTION1和多字段交集选择操作原语INTERSECTIONN。本文使用多线程技术、SSE指令集、Cache优化、指令优化等方式实现并优化了以上这些原语。最终测试结果显示了优化策略的效果,说明了选择操作的优化策略是正确的,同时,也为之后系统性能的进一步提升指明方向。

全文目录


摘要  5-6
ABSTRACT  6-10
第一章 绪论  10-13
  1.1 研究的目的与意义  10-11
  1.2 论文的研究内容和组织结构  11-12
  1.3 本章小结  12-13
第二章 多核处理器体系结构与程序优化设计方法  13-21
  2.1 INTEL 多核架构  13-15
  2.2 INTEL SSE 指令及编程  15-16
    2.2.1 SSE 指令介绍  15-16
    2.2.2 VS2008 SSE 内嵌原语  16
  2.3 POSIX 多线程库  16-17
  2.4 多核 CPU 下的程序的优化方法  17-20
    2.4.1 内存和 cache 优化  17-18
    2.4.2 SSE 优化  18
    2.4.3 分支优化  18-19
    2.4.4 循环优化  19
    2.4.5 线程化  19-20
  2.5 本章小结  20-21
第三章 选择操作的原语设计与优化分解策略  21-41
  3.1 gSQLv1.0 项目整体设计  21-22
  3.2 gSQLv1.0 选择操作所对应的原语集合定义  22-24
    3.2.1 条件掩码——COND_MASK  23
    3.2.2 掩码交换——MASK_EXCHANGE  23
    3.2.3 交换操作——EXCHANGE  23-24
    3.2.4 向量与向量计算——VV  24
  3.3 gSQLv1.0 选择操作的序列转化以及瓶颈分析  24-26
  3.4 gSQLv2.0 系统选择操作的优化  26-30
    3.4.1 粗粒度原语设计  26-27
    3.4.2 引进索引机制  27
    3.4.3 增加查询间优化部件,重用中间结果  27-30
  3.5 gSQLv2.0 选择操作相关原语集合定义  30-39
    3.5.1 全内容的多字段和多条件选择操作—MULTI_SELECT  30-33
    3.5.2 部分数据的多字段和多条件选择操作—MULIT_SELECT_P  33-34
    3.5.3 单字段选择操作—SELECT_P  34-35
    3.5.4 单字段索引选择操作—SELECT_PI  35-37
    3.5.5 单字段交集选择操作—INTERSECTION_1  37-38
    3.5.6 多字段交集选择操作—INTERSECTION_N  38-39
  3.6 本章小结  39-41
第四章 选择操作相关原语的实现与优化  41-57
  4.1 所涉及的基础全局数据结构  41-44
    4.1.1 输入输出向量组合数据结构的具体实现  41-43
    4.1.2 条件数据结构的具体实现  43-44
  4.2 MULTI_SELECT 以及 MULTI_SELECT_P 的实现与优化  44-52
    4.2.1 原语涉及的数据结构  44-46
    4.2.2 原语算法描述  46-48
    4.2.3 多线程优化加速  48-49
    4.2.4 SSE 优化加速  49-51
    4.2.5 其他优化方法  51-52
  4.3 SELECT_PI、INTERSECTION_1 以及 INTERSECTION_N 的实现与优化  52-55
    4.3.1 单字段索引选择操作 SELECT_PI 原语算法描述  52
    4.3.2 单字段交集操作 INTERSECTION_1 原语算法描述  52-53
    4.3.3 多字段交集操作 INTERSECTION_N 原语算法描述  53
    4.3.4 哈希表的相关操作  53-55
  4.4 SELECT_P 的实现与优化  55-56
  4.5 本章小结  56-57
第五章 原语的性能测试  57-62
  5.1 实验平台  57
  5.2 实验测试数据——TPC-H  57-59
  5.3 MULTI_SELECT 原语的测试结果分析  59-61
    5.3.1 对比各类优化策略  59-60
    5.3.2 多线程的测试情况  60
    5.3.3 引入 MULTI_SELECT 原语之后选择操作性能的测试  60-61
  5.4 其余选择操作相关原语的测试结果分析  61
  5.5 本章小结  61-62
总结与展望  62-63
参考文献  63-66
致谢  66-67
附件  67

相似论文

  1. AVS视频解码器在PC平台上的优化及场解码的改善,TN919.81
  2. 基于智能学习的多传感器目标识别与跟踪系统研究,TP391.41
  3. 基于比对技术的非法网站探测系统的实现与研究,TP393.08
  4. 番禺区初中语文新诗教学现状及其优化策略,G633.3
  5. 一种基于i.MX51的嵌入式VoIP终端的设计与实现,TN916.2
  6. 基于DEA的茶叶加工企业规模经济测度与优化策略研究,F224;F426.82
  7. 高中世界历史课堂教学中的多媒体技术运用探析,G633.51
  8. 长春市开放空间的历史演变及优化策略,TU984.113
  9. 长春市区高中历史教师从业素质现状及优化策略,G633.51
  10. 基于公共物品理论视角的农村饮水安全问题研究,F323.213
  11. 基于GPU的常见散列算法并行实现及优化,TP391.41
  12. GSM-R网络干扰分析和优化策略研究,TN929.532
  13. 分布式交互仿真模拟技术的研究及其在深水海洋平台锚泊操作模拟中的应用,U674.381
  14. 在线非接触开放式数控测量系统的研究,TG80
  15. 列存储数据仓库中的查询重写关键技术的研究与实现,TP311.13
  16. 基于共享前端的流多核体系结构关键技术研究,TP332
  17. 煤矿机械回转类零件缺陷超声自动检测系统研制,TH878.2
  18. 电池测试系统服务器的设计与应用,TP368.5
  19. 压缩机厂数控信息管理系统的研究与开发,TP315
  20. 嵌入式浏览器多线程机制研究与设计,TP393.092
  21. CDMA2000核心网性能测试工具的设计与实现,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 程序设计 > 数据库理论与系统
© 2012 www.xueweilunwen.com