利索能及
我要发布
收藏
专利号: 2021104721381
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于用户作业流程的分布式集群资源调度方法,其特征在于,包括如下步骤:(1)对用户作业进行分析,生成并行应用有向无环图PAD(Parallel Application Directed Acyclic Graph),确定各子作业的执行顺序约束;

(2)通过正向和逆向的广度优先搜索,得到两组子作业的串并行执行关系;

(3)根据正向和逆向的子作业串并行执行关系,分别为子作业进行逻辑资源分配,得到资源分配方案1和资源分配方案2,其中资源分配方案1与正向搜索得到的子作业串并行执行关系对应,资源分配方案2与逆向搜索得到的子作业串并行执行关系对应;

(4)分别在资源分配方案1和资源分配方案2下预测各子作业的执行时间;

(5)分别计算出资源分配方案1和资源分配方案2下PAD中的关键路径;执行时间较短的关键路径即为完成作业的关键路径,其对应的各子作业完成时间之和为预测的用户作业执行时间;

(6)若作业预测执行时间满足用户要求,按照资源分配方案为作业分配集群资源并运行作业;否则告知用户,请用户选择是否继续提交作业;

所述步骤(1)具体如下:

为了处理含有内部数据依赖关系的用户作业,建立了并行应用有向无环图PAD模型;图中的节点ai表示事件子作业i完成,节点a0是定义的一个空作业节点,表示整个用户作业的开始事件,它没有前趋;图中的最后一个节点表示最后一个子作业的完成事件,它没有后继节点;PAD中的有向边表示子作业i是子作业j的前趋作业,仅当子作业i执行结束,子作业j才可以开始运行;有向边上的权值表示子作业j的执行时间,此执行时间由作业运行时间预测模型预测得到;

所述步骤(2)具体如下:

(2.1)将PAD中节点a0作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次,即从a0到节点ai的路径的长度;层次相同的子作业之间没有数据依赖关系,可以并行执行;

(2.2)根据各子作业的层次关系,得到正向的子作业串并行执行关系;

(2.3)将PAD中最后一个节点作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次;层次相同的子作业之间没有数据依赖关系,可以并行执行;

(2.4)根据各子作业的层次关系,得到逆向的子作业串并行执行关系;

所述步骤(3)具体如下:

(3.1)确定集群中实时的资源量,包括CPU核数、内存容量和磁盘容量等;

(3.2)根据正向搜索得到的子作业串并行执行关系,执行步骤(3.3)到步骤(3.6);

(3.3)判断是否每一个子作业都已经分配了集群资源,若是,得到资源分配方案1,转至执行步骤(3.7);否则执行(3.4);

(3.4)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W;

(3.5)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业;

(3.6)执行步骤(3.3);

(3.7)根据逆向搜索得到的子作业串并行执行关系,执行步骤(3.8)至步骤(3.11);

(3.8)判断是否每一个子作业都已经分配了集群资源,若是,得到资源分配方案2,继续执行步骤(4);否则执行(3.9);

(3.9)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W;

(3.10)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业;

(3.11)执行步骤(3.8);

所述步骤(4)具体为:

(4.1)收集各种用户作业在集群不同的资源配置和作业参数下的运行时间数据,并对收集的数据进行预处理;

(4.2)使用预处理后的数据训练梯度提升决策树GBDT(Gradient Boost Decision Tree)以生成作业运行时间预测模型GTPM(GBDT based Time Prediction Model);

(4.3)将各子作业的资源配置和作业参数作为GTPM的输入,利用模型预测得到子作业执行时间;

所述步骤(5)具体如下:

(5.1)使用关键路径计算算法,根据正向子作业串并行执行关系下每个子作业的预测执行时间,寻找出关键路径;关键路径上每个子作业的预测执行时间之和为用户作业在资源分配方案1下的执行时间t1;

(5.2)使用关键路径计算算法,根据逆向子作业串并行执行关系下每个子作业的预测执行时间,寻找出关键路径;关键路径上每个子作业的预测执行时间之和为用户作业在资源分配方案2下的执行时间t2;

(5.3)比较t1和t2,取时间较小值作为用户作业预测执行时间。