摘要 | 第5-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第13-19页 |
1.1 课题背景 | 第13-17页 |
1.1.1 并行计算模型 | 第13-15页 |
1.1.2 Spark产生的背景 | 第15页 |
1.1.3 Spark Shuffle所面临的问题与挑战 | 第15-17页 |
1.2 本文的主要贡献及创新点 | 第17-18页 |
1.3 论文组织结构 | 第18页 |
1.4 本章小结 | 第18-19页 |
第2章 相关技术及研究现状 | 第19-31页 |
2.1 MapReduce模型及研究现状 | 第19-23页 |
2.1.1 MapReduce编程模型 | 第19-20页 |
2.1.2 MapReduce模型的研究现状 | 第20-23页 |
2.2 Hadoop MapReduce与Spark | 第23-24页 |
2.3 Spark的工作原理 | 第24-30页 |
2.3.1 Spark系统运行时的部署图 | 第24-25页 |
2.3.2 Job的生成与运行 | 第25-29页 |
2.3.3 Resilient Distributed Datasets的数据依赖 | 第29-30页 |
2.4 本章小结 | 第30-31页 |
第3章 Spark Shuffle优化分析及其内存调度算法 | 第31-40页 |
3.1 Shuffle基本概念 | 第31-32页 |
3.2 MapReduce Shuffle的优化 | 第32页 |
3.3 Spark Shuffle的优化 | 第32-37页 |
3.3.1 Shuffle Write | 第33-36页 |
3.3.2 Shuffle Fetch | 第36-37页 |
3.4 Spark Shuffle的内存调度算法 | 第37-39页 |
3.5 本章小结 | 第39-40页 |
第4章 Spark Shuffle内存调度算法的改进 | 第40-58页 |
4.1 Spark Shuffle内存调度概述 | 第40-42页 |
4.2 先来先服务调度算法FCFS | 第42-44页 |
4.2.1 使用FCFS调度Application1的Shuffle Task | 第42-43页 |
4.2.2 使用FCFS调度Application2的Shuffle Task | 第43页 |
4.2.3 FCFS存在的不足 | 第43-44页 |
4.3 公平分配调度算法FA | 第44-46页 |
4.3.1 使用FA调度Application1的Shuffle Task | 第44-45页 |
4.3.2 使用FA调度Application2的Shuffle Task | 第45页 |
4.3.3 FCFS与FA的比较 | 第45-46页 |
4.3.4 FA存在的不足 | 第46页 |
4.4 基于溢出历史的自适应调度算法SBSA | 第46-57页 |
4.4.1 SBSA产生背景 | 第46-48页 |
4.4.2 SBSA的详细设计 | 第48-52页 |
4.4.3 SBSA的思路和流程 | 第52-53页 |
4.4.4 SBSA的算法实现 | 第53-56页 |
4.4.5 使用SBSA调度Application | 第56-57页 |
4.5 本章小结 | 第57-58页 |
第5章 Spark Shuffle内存调度算法性能测试及评价 | 第58-73页 |
5.1 实验方法和目的 | 第58页 |
5.2 实验环境 | 第58页 |
5.3 实验环境安装 | 第58-62页 |
5.3.1 安装JDK、SSH和Scala | 第59-60页 |
5.3.2 Hadoop的安装配置 | 第60-61页 |
5.3.3 Spark的安装配置 | 第61-62页 |
5.4 实验任务 | 第62-64页 |
5.4.1 评估方法 | 第62-63页 |
5.4.2 GroupByKey操作原理 | 第63-64页 |
5.5 实验结果及分析 | 第64-71页 |
5.5.1 均匀数据的实验结果分析 | 第64-68页 |
5.5.2 不均匀数据的实验结果分析 | 第68-71页 |
5.6 实验结论 | 第71-72页 |
5.7 本章小结 | 第72-73页 |
第6章 总结与展望 | 第73-76页 |
6.1 全文总结 | 第73-75页 |
6.2 工作展望 | 第75-76页 |
参考文献 | 第76-80页 |
攻读硕士学位期间主要的研究成果 | 第80-81页 |
致谢 | 第81页 |