首页> 中文学位 >基于异构Spark集群的分区动态负载调度算法研究
【6h】

基于异构Spark集群的分区动态负载调度算法研究

代理获取

目录

声明

第一章 绪论

1.1 研究工作的背景与意义

1.2 本文的主要贡献与创新

1.3 本论文的结构安排

第二章 相关技术与原理

2.1 Spark基本概念

2.1.1 Spark介绍

2.1.2 弹性分布式数据集

2.1.3 键值对操作

2.1.4 数据分区

2.1.5 RDD依赖关系

2.1.6 惰性求值

2.1.7 Spark调度策略

2.1.8 集群管理器

2.1.9 文件系统

2.2 Spark调度模型分析

2.2.1 Spark资源分配

2.2.2 划分Stage过程

2.2.3 Task调度过程

2.2.4 数据本地性

2.3 Spark通信模型分析

2.3.1 启动时通信

2.3.2 运行时通信

2.4 异构集群

2.5 负载均衡

2.6 本章小结

第三章 Spark调度算法优化研究

3.1 Spark调度问题分析

3.1.1 基于同构集群的CPU资源分配

3.1.2 忽略负载的任务调度

3.2 分区动态负载调度算法

3.2.1 整体流程

3.2.2 调度中心组件

3.2.3 通信模型分析

3.3 基于区域的作业调度

3.3.1 区域定义

3.3.2 区域划分策略

3.3.3 基于区域的资源分配策略

3.4 负载均衡的任务调度

3.4.1 Spark负载定义

3.4.2 负载更新规则

3.4.3 负载均衡任务调度

3.5 本章小结

第四章 实验与分析

4.1 实验环境和配置

4.1.1 硬件配置

4.1.2 软件环境

4.1.3 测试程序

4.1.4 影响因素

4.2 实验1:集群异构性和区域划分实验

4.2.1 实验设计

4.2.2 实验结果分析

4.3 实验2:区域调度实验

4.3.1 实验设计

4.3.2 实验结果分析

4.4 实验3:负载均衡调度实验

4.4.1 实验3-1设计

4.4.2 实验3-1结果分析

4.4.3 实验3-2设计

4.4.4 实验3-2结果分析

4.5 实验4:基于异构集群的分区动态负载调度实验

4.5.1 实验设计

4.5.2 实验结果分析

4.6 本章小结

第五章 总结与展望

5.1 论文总结

5.2 改进方向

致谢

参考文献

展开▼

摘要

随着大数据技术的发展,各种大数据处理框架不断出现。Spark是目前最主流的一种大数据处理计算框架。Spark支持内存计算,提供交互式计算和查询,支持丰富的数据操作,并提供数据挖掘,机器学习,流计算等服务。 计算机集群的异构性是指集群中的计算机具有不同的硬件配置,从而使得这些计算机在Spark作业中的表现存在差异。云计算的发展和数据中心的使用使得集群更容易变得异构,机器学习的兴起使得集群可能存在混合CPU和GPU架构的计算机,从而使得集群变得异构。集群负载均衡是将作业或者任务分摊到多个计算单元进行执行,增加吞吐量,提高数据处理能力和可用性。为了进行资源隔离和资源复用,软件架构的运行时环境越来越复杂,Spark可能运行在复杂多变的负载环境下。 通过分析Spark的源代码,发现两点问题:Spark的基于同构处理器核心数量的资源分配策略无法适应异构的集群环境;Spark的任务调度缺少基于负载的任务调度策略。为了对上述两点进行优化,本文提出一种基于异构Spark集群的分区动态负载调度算法。该算法由两部分组成,分别是基于区域的作业调度和根据动态负载的任务调度。 基于区域的作业调度包括根据异构性将集群划分为不同区域和基于区域的作业计算资源分配。区域是集群中具有相同处理器核心数量并在测试基准程序中具有相近性能的计算机的分组;基于区域的资源分配是指根据用户的配置,为Spark作业分配指定区域或者相邻区域的计算资源。通过基于区域的作业调度,充分利用集群的异构性加速Spark作业运行速度,并使用户可以根据作业的优先级要求为作业分配不同性能的计算资源。 根据动态负载的任务调度是指Spark根据在集群各个节点上定时收集的负载信息进行任务调度。这种负载调度方式将使Spark避免或减少使用高负载的节点,将更多任务调度到低负载的节点上运行,从而加速Spark作业运行速度。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号