多核处理器上列数据库分组与聚合操作的优化技术研究
摘要 | 第5-6页 |
Abstract | 第6-7页 |
第一章 绪论 | 第10-13页 |
1.1 研究背景和意义 | 第10-11页 |
1.2 本文研究内容和组织结构 | 第11-12页 |
1.3 本章小结 | 第12-13页 |
第二章 相关技术 | 第13-30页 |
2.1 列式数据库相关概念与关键技术 | 第13页 |
2.2 GPU 架构简介 | 第13-17页 |
2.3 CUDA 编程模型 | 第17-18页 |
2.4 GPU 程序优化方法 | 第18-19页 |
2.5 整体项目设计 gSQLv1.0 | 第19-29页 |
2.5.1 gSQLv1.0 分组操作 | 第21-26页 |
第一分组——GROUP_FIRST | 第23-24页 |
再分组——GROUP_SECOND | 第24-25页 |
组选择——GROUP_SELECT | 第25-26页 |
2.5.2 gSQLv1.0 聚合操作 | 第26-28页 |
聚合操作——AGGREGATION | 第27-28页 |
2.5.3 gSQLv1.0 系统分析 | 第28-29页 |
2.6 本章小结 | 第29-30页 |
第三章 分组操作原语设计 | 第30-60页 |
3.1 分组操作原语的功能 | 第30-33页 |
3.1.1 分组操作描述 | 第30页 |
3.1.2 数据组织 | 第30-32页 |
3.1.3 分组操作实例 | 第32-33页 |
3.2 分组操作的基本策略 | 第33-36页 |
3.3 分组操作基本数据结构简介 | 第36-42页 |
3.3.1 Hash 表简介 | 第36-37页 |
3.3.2 红黑树简介 | 第37-40页 |
3.3.3 Patricia 树简介 | 第40-42页 |
3.4 分组操作基于 GPU 的实现方法 | 第42-59页 |
3.4.1 GPU 多次查找的额外开销 | 第43-45页 |
3.4.2 分组操作基于 GPU 的算法过程 | 第45-59页 |
3.4.2.1 采用 Hash 表实现 | 第46-49页 |
3.4.2.2 采用红黑树实现 | 第49-53页 |
3.4.2.3 采用 Patricia 树实现 | 第53-59页 |
3.5 本章小结 | 第59-60页 |
第四章 聚合操作原语设计 | 第60-66页 |
4.1 聚合操作原语功能 | 第60-63页 |
4.1.1 聚合操作描述 | 第60页 |
4.1.2 聚合操作实例 | 第60-63页 |
4.2 聚合操作基于 GPU 的实现方法 | 第63-65页 |
4.3 本章小结 | 第65-66页 |
第五章 实验结果与分析 | 第66-76页 |
5.1 测试数据的生成 | 第66-68页 |
5.2 测试平台 | 第68-69页 |
5.3 测试实例的选取 | 第69-70页 |
5.4 分组操作实验结果与分析 | 第70-74页 |
5.4.1 多核 CPU 并行加速比 | 第70-72页 |
5.4.2 GPU 与多核 CPU 性能对比 | 第72-74页 |
5.5 聚合操作实验结果与分析 | 第74-75页 |
5.6 本章小结 | 第75-76页 |
总结与展望 | 第76-77页 |
参考文献 | 第77-81页 |
攻读硕士学位期间取得的研究成果 | 第81-82页 |
致谢 | 第82-83页 |
附件 | 第83页 |