带不可移动数据的Spark任务调度
发布时间:2024-02-03 04:18
由于单个数据中心的资源有限,复杂的Spark工作流应用需要在多个数据中心内执行。当输入数据太大而无法传输(不可移动数据)时,依赖该数据的Task只能被分配在该数据所在的数据中心执行,然而Spark并不能保证这一分配。另一方面,Spark提供的基于同构的调度策略并不适合于异构环境。本文研究异构多数据中心下带不可移动数据的Spark任务调度问题,以优化Spark工作流应用的完工时间为目标,具有重要实际意义和应用前景。该问题面临的挑战主要包括两方面:(1)部分依赖不可移动数据的任务只能被分配在特定的数据中心执行,这类任务和其它任务在该数据中心的资源竞争将对完工时间造成不利影响;(2)Spark工作流应用的可选Stage调度序列数量巨大,且异构多数据中心环境下关键路径无法获得,很难找到合适的Stage调度序列来优化完工时间。针对所考虑的问题,本文提出了一种基于规则的任务调度算法(STSID)。该算法分为时间参数估计和Stage分配两个阶段。时间参数估计阶段提出了两种Node速率估计方式,根据估计的Stage执行时间求出Stage的各个时间参数。Stage分配阶段分为Stage选择、资源分配和添...
【文章页数】:54 页
【学位级别】:硕士
【部分图文】:
本文编号:3893708
【文章页数】:54 页
【学位级别】:硕士
【部分图文】:
图1.2RDD之间的依赖关系
用户提交的作业(Job)可以描述成一组RDD的转换操作,Spark调度器会根据RDD的“血统”(依赖关系)将整个作业根据宽依赖构建成由若干调度阶段(Stage)组成的有向无环图(DAG),每个调度阶段由一系列RDD之间的连续窄依赖构成,一个Stage内部各个RDD分区的连续窄依赖....
图1.3Spark调度阶段的划分
图1.2RDD之间的依赖关系1.1.2应用场景
图1.4单基因遗传病预测工作流
为了减少最大完工时间,其中一个很常采用的方法就是提高数据本地化程度。在分布式计算中,数据通常分布在地理位置不同的数据中心,通过将任务分配在其输入数据所在的数据中心,可以减少任务执行所需输入数据的传输时间,使任务提前完成,有利于缩短整个工作流的完工时间。Guo等[26]在MapRe....
图2.1基于现有Spark架构的改进
针对本文给出的问题,在Spark框架的基础上提出改进的系统架构,如图2.1所示。该系统架构下,存在一个MasterNode用于任务调度,其他Node为WorkNode。其中Master节点用于调度的Driver模块分为三层:第一层STSID(SparkTaskSchedu....
本文编号:3893708
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3893708.html