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