声明
摘要
第1章 绪论
1.1 研究背景
1.2 相关工作
1.2.1 面向集群MapReduce的发展现状
1.2.2 多核MapReduce的相关研究
1.2.3 多核可伸缩性的相关研究
1.3 研究内容
1.4 论文组织
第2章 基础知识与问题分析
2.1 Phoenix
2.1.1 执行流程与编程接口
2.1.2 中间结构的设计
2.1.3 可伸缩性评估
2.1.4 Phoenix局限性总结
2.2 Phoenix较差可伸缩性的分析
2.2.1 Linux进程地址空间的组织
2.2.2 多线程对共享地址空间的竞争
2.2.3 线程睡眠唤醒的开销
2.3 已有减少地址空间竞争的方案
2.3.1 地址空间的重新组织
2.3.2 锁的优化
2.3.3 VMA cache机制的改进
2.4 本章小结
第3章 基于新型线程模型Sthread设计并实现SMR
3.1 概述
3.2 新型线程模型Sthread
3.2.1 Sthread及其编程接口
3.2.2 无边界通道与重映射机制
3.2.3 Sthread的特点与优势
3.3 SMR的设计与实现
3.3.1 SMR运行时系统
3.3.2 无阻塞的流水线并行
3.3.3 Sthread隔离地址空间为SMR带来编程挑战
3.4 SMR中间结构的设计与优化
3.4.1 map私有中间结构的设计与实现
3.4.2 中间结构的底层实现
3.4.3 底层实现的优化
3.5 本章小结
第4章 实验评估
4.1 测试环境与数据集
4.2 SMR的性能与可伸缩性的评估
4.2.1 性能评估
4.2.2 可伸缩性评估
4.3 评估影响SMR性能的因素
4.3.1 缓存优化对性能的影响
4.3.2 开启combiner对性能的影响
4.3.3 SMR较高的初始化时间
4.4 Linux内核版本对多核MapReduce库性能的影响
4.4.1 内核优化对多核MapReduce库的影响评估
4.4.2 最新内核版本下多核MapReduce库的性能评估
4.5 本章小结
第5章 面向多核可伸缩的迭代式MapReduce的探究
5.1 研究背景
5.2 Sthread实现迭代式MapReduce库的局限性和挑战
5.3 iSMR的设计与实现
5.3.1 混合线程模型PMthreads
5.3.2 线程池的设计和iSMR的实现
5.4 本章小节
第6章 结束语
参考文献
致谢
在读期间发表的学术论文与取得的研究成果
中国科学技术大学;