Spark Shuffle过程性能优化研究

来源 :重庆邮电大学 | 被引量 : 0次 | 上传用户:chiyulong2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着大数据应用需求的发展,分布式计算也越来越流行,诸如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阶段网络传输的峰值,使集群在执行作业过程中网络负载较为均衡。最后通过实验对比,结果证明本文局部任务优先Shuffle策略可以提升Shuffle执行效率。2.Spark无法感知集群异构性,Shuffle过程不能根据节点计算能力进行数据分配,针对该问题,通过分析Spark的作业机制,设计了节点计算性能评估模型,并通过监控模块对节点计算性能进行评估;在此基础上,进一步提出了自适应数据分区策略。该策略通过动态增加Bucket数量,减小Bucket粒度大小,并结合分区分配算法,使得Shuffle过程后Reducer端得到的Bucket数据与其计算能力相适应。实验及结果表明,提出的自适应分区策略在异构集群下可以降低低效节点的作业数据负载,减少作业执行时间。综上所述,针对Spark的Shuffle过程进行优化,可以缓解网络拥堵,适应集群异构性,提升Shuffle执行效率,减少作业执行时间,最终提升Spark计算框架的整体性能。
其他文献
真理中包含谬误 ,既是由矛盾双方相互渗透、相互包含必然得出的逻辑结论 ,又是由认识过程的矛盾性、真理的具体性和相对性以及实践标准的不确定性决定的。真理中包含谬误是真
深度学习在医疗辅助诊断上发挥着越来越重要的作用。然而现有的深度学习方法在辅助诊断的过程中,常常会遇到数据标签不足的问题,进而影响了最后的分类效果。阿尔兹海默症是一
请下载后查看,本文暂不支持在线获取查看简介。 Please download to view, this article does not support online access to view profile.
采用液体发酵方法对绿色木霉菌株No.33产纤维素酶条件进行了研究,确定了菌株产C1、Cx酶的最佳条件,在初始pH值为5.0的条件下,接种量为5%,6层纱布封口,32℃培养120h,该菌株产C,酶活为0.39
纳米微乳是粒径介于10~100 nm的特殊乳剂,能够提高易降解物质的生物利用度和对环境的耐受性,具有诸多优点。维生素又是畜禽机体代谢中不可缺少的物质,影响动物健康和生长生产
<正> 增殖性玻璃体视网膜病变(proliferativevitreoretinopathy,PVR)是一种常见的难治性致盲性眼病,其发生发展是细胞、细胞因子和细胞外基质等多种因素、多种环节间相互作用
娄小明老师的小学三年级《分分合合》一课主要特点可以概括为:一是教学目标有效预设。在三维目标的预设中,教师强调了分合的策略、步骤、要求,并以分合的方式作为方向,围绕分合设
建国以来干部保健医疗工作不断进步、规范化。随着社会的发展,保健对象人群特点也在发生着变化。我国人口老龄化逐渐加剧,保健对象的年龄越来越大,保健对象的人群也越来越庞大,怎
吴嘉纪,明末清初著名的盐民诗人,一生蛰居海滨盐场怍诗.存世1091首,汇成《陋轩诗集》传于民间。其诗孤冷高洁,刻露清秀,词多愤激,直抒胸臆。尤其是反映两淮盐民终日熬波的疾苦、贪官
热光鬼成像的图像质量在实际应用中具有重要作用.通过理论分析和数值模拟,发现光场的强度涨落程度会影响热光鬼成像的对比度,基于此,提出可以通过调节热光场的平均强度和强度