摘要 | 第4-5页 |
Abstract | 第5页 |
第1章 绪论 | 第11-21页 |
1.1 背景 | 第11-12页 |
1.2 GPU知识及相关工作 | 第12-18页 |
1.2.1 CUDA编程模型 | 第12-16页 |
1.2.2 GPU数据结构相关工作 | 第16-18页 |
1.3 研究目标 | 第18-19页 |
1.4 主要内容 | 第19页 |
1.5 论文组织结构 | 第19-21页 |
第2章 内存索引结构综述与评估 | 第21-43页 |
2.1 Masstree | 第21-22页 |
2.2 Skip list | 第22-24页 |
2.3 Hash table | 第24-34页 |
2.3.1 Cuckoo hash table | 第26-29页 |
2.3.1.1 顺序版本 | 第26-28页 |
2.3.1.2 并发版本 | 第28-29页 |
2.3.2 Hopscotch hash table | 第29-34页 |
2.3.2.1 顺序版本 | 第29-31页 |
2.3.2.2 并发版本 | 第31-34页 |
2.4 单线程情况 | 第34-38页 |
2.4.1 实验 | 第34-36页 |
2.4.2 小结 | 第36-38页 |
2.5 并发情况 | 第38-42页 |
2.5.1 并发编程方法 | 第38页 |
2.5.2 实验 | 第38-41页 |
2.5.2.1 测试基准集 | 第39页 |
2.5.2.2 实验结果 | 第39-41页 |
2.5.3 小结 | 第41-42页 |
2.6 本章小结 | 第42-43页 |
第3章 GPU静态Cuckoo hash table改进 | 第43-55页 |
3.1 CUDPP实现 | 第43-45页 |
3.2 改进的CUDPP-block实现 | 第45-51页 |
3.2.1 warp协同工作共享策略 | 第46-49页 |
3.2.1.1 shuffle指令 | 第48页 |
3.2.1.2 ballot指令 | 第48-49页 |
3.2.1.3 ffs指令 | 第49页 |
3.2.2 插入操作 | 第49-50页 |
3.2.3 查找操作 | 第50-51页 |
3.3 实验 | 第51-54页 |
3.3.1 内存使用率 | 第51-53页 |
3.3.2 操作总数 | 第53-54页 |
3.4 本章小结 | 第54-55页 |
第4章 GPU动态Hopscotch hash table实现 | 第55-77页 |
4.1 设计 | 第55-56页 |
4.2 实现 | 第56-69页 |
4.2.1 查找操作 | 第59-61页 |
4.2.2 删除操作 | 第61-63页 |
4.2.3 插入操作 | 第63-68页 |
4.2.3.1 find阶段 | 第63-64页 |
4.2.3.2 find_empty阶段 | 第64-65页 |
4.2.3.3 find_closer_empty阶段 | 第65-68页 |
4.2.4 小结 | 第68-69页 |
4.3 实验 | 第69-76页 |
4.3.1 实验比较对象 | 第69-71页 |
4.3.2 实验方式 | 第71页 |
4.3.3 实验环境 | 第71-72页 |
4.3.4 实验数据 | 第72-75页 |
4.3.4.1 操作组合[20,20,60] | 第72-74页 |
4.3.4.2 操作组合[40,40,20] | 第74-75页 |
4.3.5 实验结论 | 第75-76页 |
4.4 本章小结 | 第76-77页 |
第5章 全文总结与未来工作展望 | 第77-80页 |
5.1 全文总结 | 第77-78页 |
5.2 未来工作展望 | 第78-80页 |
参考文献 | 第80-84页 |
攻读硕士学位期间主要的研究成果 | 第84-85页 |
致谢 | 第85页 |