多核CPU上列数据库关键原语的设计与优化
| 摘要 | 第1-6页 |
| Abstract | 第6-9页 |
| 第一章 绪论 | 第9-12页 |
| ·研究的目的和意义 | 第9-10页 |
| ·论文的研究内容和组织结构 | 第10-12页 |
| 第二章 相关工作 | 第12-23页 |
| ·INTEL 多核架构 | 第12-14页 |
| ·INTEL SSE 指令及编程 | 第14-15页 |
| ·SSE 指令介绍 | 第14页 |
| ·VS2008 SSE 内嵌原语 | 第14-15页 |
| ·POSIX 多线程库 | 第15-16页 |
| ·列数据库原语优化工作 | 第16-17页 |
| ·系统总体结构 | 第17-18页 |
| ·原语的设计和外部接口 | 第18-21页 |
| ·原语的设计 | 第18-20页 |
| ·原语的功能描述 | 第20页 |
| ·原语的标准外部接口 | 第20-21页 |
| ·本章小结 | 第21-23页 |
| 第三章 关键原语的设计与优化 | 第23-44页 |
| ·多核 CPU 下程序的优化方法 | 第23-27页 |
| ·内存和 cache 优化 | 第23-24页 |
| ·SIMD 优化 | 第24-25页 |
| ·分支优化 | 第25页 |
| ·循环优化 | 第25-26页 |
| ·线程化 | 第26-27页 |
| ·排序原语的优化 | 第27-33页 |
| ·基本的基数排序 | 第28-29页 |
| ·优化的多线程基数排序 | 第29-31页 |
| ·实验结果对比分析 | 第31-33页 |
| ·分组和聚合原语的优化 | 第33-36页 |
| ·分组原语 | 第33-34页 |
| ·聚合原语 | 第34-36页 |
| ·条件选择原语的优化 | 第36-40页 |
| ·向量算术和逻辑原语的优化 | 第40-41页 |
| ·辅助性原语的优化 | 第41-43页 |
| ·本章小结 | 第43-44页 |
| 第四章 连接原语的优化 | 第44-65页 |
| ·简单 HASH 连接 | 第45-56页 |
| ·基本的 hash 连接算法 | 第45-47页 |
| ·优化目标 | 第47-48页 |
| ·测试过程 | 第48-56页 |
| ·排序归并连接 | 第56-59页 |
| ·排序外键 | 第56-57页 |
| ·排序主键 | 第57-58页 |
| ·归并 | 第58页 |
| ·压紧 | 第58-59页 |
| ·实验测试 | 第59-64页 |
| ·本章小结 | 第64-65页 |
| 第五章 原语的性能测试 | 第65-74页 |
| ·实验平台 | 第65-66页 |
| ·基本的机器测试 | 第66-67页 |
| ·原语与线程加速比分析 | 第67-68页 |
| ·原语性能与数据量的关系 | 第68-69页 |
| ·原语与各种优化的关系 | 第69-70页 |
| ·原语性能瓶颈分析 | 第70-71页 |
| ·在 gSQL 系统中运行原语的执行结果分析 | 第71-73页 |
| ·本章小结 | 第73-74页 |
| 总结与展望 | 第74-75页 |
| 参考文献 | 第75-78页 |
| 攻读硕士学位期间取得的研究成果 | 第78-79页 |
| 致谢 | 第79-80页 |
| 答辩委员会对论文的评定意见 | 第80页 |