Spark Shuffle过程性能优化研究
发布时间:2023-02-13 14:46
随着大数据应用需求的发展,分布式计算也越来越流行,诸如Spark、Storm、Dryad等多个并行计算框架应运而生。与MapReduce不同,Spark计算过程中将数据存放在内存中,减少了频繁的I/O读写,因此在处理迭代型作业时有更好的表现。作为类MapReduce的通用并行框架,Spark计算过程中也会包含Shuffle过程,该过程用于连接Map阶段和Reduce阶段。由于Shuffle过程会触发大量的网络和磁盘I/O,所以Shuffle过程直接影响到整个系统的计算效率。论文针对Spark Shuffle过程中存在的网络拥塞问题、异构集群下“木桶效应”问题,进行优化研究。具体完成了以下工作:1.为保持Stage的顺序性,Shuffle过程需要节点之间进行任务同步操作,目前的同步机制不仅会浪费集群的计算资源,更会产生严重的网络拥堵,最终降低集群计算性能。针对该问题,提出一种局部任务优先Shuffle策略,动态生成ShuffleWrite任务,并对部分已完成的任务提前执行Shuffle操作。该策略增加了数据计算与网络传输的并行度,降低了Shuffle阶段网络传输的峰值,使集群在执行作业过...
【文章页数】:61 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
注释表
第1章 绪论
1.1 研究背景与意义
1.2 研究现状
1.3 主要研究工作
1.4 论文的组织架构
第2章 技术基础
2.1 Spark框架结构
2.2 Spark运行模式
2.2.1 Standalone模式
2.2.2 YARN模式
2.3 弹性分布式数据集
2.3.1 基本属性
2.3.2 RDD的操作
2.4 Shuffle过程
2.4.1 ShuffleWrite
2.4.2 ShuffleRead
2.5 本章小结
第3章 局部任务优先Shuffle策略
3.1 相关工作
3.2 问题分析
3.3 Shuffle过程优化
3.3.1 执行状态预测模型
3.3.2 局部任务优先Shuffle策略
3.4 实验结果与分析
3.4.1 实验环境
3.4.2 数据集
3.4.3 实验分析
3.5 本章小结
第4章 异构集群Spark Shuffle的自适应分区策略
4.1 相关工作
4.2 问题分析
4.3 节点计算性能评估模型
4.3.1 计算效率模型
4.3.2 目标函数
4.4 自适应分区策略
4.4.1 整体结构
4.4.2 分区策略
4.4.3 分区匹配算法
4.5 实验结果与分析
4.5.1 实验环境
4.5.2 实验分析
4.6 本章小结
第5章 总结与展望
5.1 总结
5.2 未来工作
参考文献
致谢
攻读硕士学位期间从事的科研工作及取得的成果
本文编号:3741917
【文章页数】:61 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
注释表
第1章 绪论
1.1 研究背景与意义
1.2 研究现状
1.3 主要研究工作
1.4 论文的组织架构
第2章 技术基础
2.1 Spark框架结构
2.2 Spark运行模式
2.2.1 Standalone模式
2.2.2 YARN模式
2.3 弹性分布式数据集
2.3.1 基本属性
2.3.2 RDD的操作
2.4 Shuffle过程
2.4.1 ShuffleWrite
2.4.2 ShuffleRead
2.5 本章小结
第3章 局部任务优先Shuffle策略
3.1 相关工作
3.2 问题分析
3.3 Shuffle过程优化
3.3.1 执行状态预测模型
3.3.2 局部任务优先Shuffle策略
3.4 实验结果与分析
3.4.1 实验环境
3.4.2 数据集
3.4.3 实验分析
3.5 本章小结
第4章 异构集群Spark Shuffle的自适应分区策略
4.1 相关工作
4.2 问题分析
4.3 节点计算性能评估模型
4.3.1 计算效率模型
4.3.2 目标函数
4.4 自适应分区策略
4.4.1 整体结构
4.4.2 分区策略
4.4.3 分区匹配算法
4.5 实验结果与分析
4.5.1 实验环境
4.5.2 实验分析
4.6 本章小结
第5章 总结与展望
5.1 总结
5.2 未来工作
参考文献
致谢
攻读硕士学位期间从事的科研工作及取得的成果
本文编号:3741917
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3741917.html