一种结合负载均衡的工作流回填方法技术

技术编号:15690705 阅读:122 留言:0更新日期:2017-06-24 03:18
本发明专利技术公开了一种结合负载均衡的工作流回填方法,首先,依据计算任务特性,对任务进行划分,可分为CPU资源消耗型或者IO资源消耗型;然后对回填策略进行改进,使回填调度策略以工作流为单位;最后是回填任务的投递,即回填策略在任务选择上的改进,回填的任务选择需要匹配主机负载和任务特性,负载高主机选择IO消耗型,负载低则选择CPU消耗型。本发明专利技术方法能够有效地调度任务流,减少任务流的执行时间,同时还能够实现高性能计算系统众多节点的负载均衡。

Work flow back filling method combined with load balance

The invention discloses a combined load balancing work back fill method, first of all, on the basis of task characteristics, task division, resource consumption can be divided into CPU or IO resource consumption; then the backfilling strategy is improved, the backfilling scheduling strategy based on Workflow unit; finally is to deliver backfill tasks, improvement in the task selection on the backfill backfill strategy, task selection, task characteristics and needs of the host load, high load IO host consumption, low consumption load CPU. The method of the invention can effectively dispatch the task stream, reduce the execution time of the task stream, and also realize the load balancing of many nodes in the high-performance computing system.

【技术实现步骤摘要】
一种结合负载均衡的工作流回填方法
本专利技术涉及高性能计算领域,尤其是指一种结合负载均衡的工作流回填方法。
技术介绍
大数据背景下,数据呈指数级别增加,大数据的处理依赖以集群为主的高性能计算系统,而高性能计算系统的性能又很大程度上依赖于调度和负载均衡策略,所以一个好的调度策略和负载均衡策略显得越为重要。如今运行在高性能计算系统上任务流越来越多,例如基因测序。基因测序是对目标DNA进行碱基的序列测定,并进行各种相关分析。基因测序已经广泛应用于快速疾病诊断、疫情检测、大规模物种群体进化及个性化医疗等。基因测序的大部分计算任务如全基因组重测序(WGRS)等都需要大量的计算,耗费巨大资源,依赖于高性能平台处理,而且都是典型的工作流计算任务。然而适合任务流的调度策略却很少,很多系统将任务流拆分成单个任务运行,按照传统的单任务投递方式进行调度,也就是单个任务投递,下一级任务依赖上一级任务结果的则进行人工等待,等上一级任务完成则将上一级运行结果作为输入,开始下一级的任务。随着技术的发展,目前也有许多运行任务流的系统,但仍然存在以下问题:(1)在系统层面上,虽然整个计算任务是按照任务流提交,通过设定任务流的有向无环图(DAG)提交给系统,但是系统调度本质上还是以单个任务为单位,只不过无需人工的等待并能够自动运行下一级任务,调度策略还是以单个任务为单位,并不是以整个任务流作为调度单位,因此计算效率无法保证。(2)在工作流调度时,经常出现任务特性和任务规模差异较大的情况。目前很多调度方法主要关注调度效率,例如在一般任务调度上有良好表现的资源预留与回填(简称回填,Backfilling)技术得到了广泛的应用,已成为并行作业调度的基本方法。它一方面为作业提前预留处理以保证能够尽快执行该作业;另一方面,在不造成预留的作业被延迟的前提下,按照先后顺序将那些需要处理机数量较少的后续等待作业分配到当前空闲的处理机上。然而对任务调度过程的负载均衡并没有较多关注。(3)在很多实际运行的高性能计算系统上,普遍存在普通任务与工作流任务同时运行的情况。普通任务与工作流任务同时抢占系统资源,如果工作流任务未能被及时调度,对系统性能造成的影响可能要远远大于普通任务,从而对系统负载均衡和调度效率都会造成更大的影响。要达到负载均衡,那么就需要了解各任务属性和各主机属性,把一些资源消耗较大的任务调度到负载较轻的主机上,这样就不会出现各主机负载差异过大,以达到负载均衡的目标,并提高资源利用率。本专利技术基于以上目标,提出了一种结合负载均衡的工作流调度策略。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,在典型高性能计算系统计算任务日志特性的基础上,提出了一种结合负载均衡的工作流回填方法,该方法能够有效地调度任务流,减少任务流的执行时间,同时还能够实现高性能计算系统众多节点的负载均衡。为实现上述目的,本专利技术所提供的技术方案为:一种结合负载均衡的工作流回填方法,包括以下步骤:1)对任务特性的划分先对任务进行分类,采用kmeans聚类方式将任务划分成CPU资源消耗型或者IO资源消耗型,主要是标识任务类型,聚类的类别数k的确定,采用一种失真度的度量方式来确定聚类类别数k,如下式(1)和式(2)所示:式中,sk为聚成k类的总失真度sk=∑k∑i(xi-xk)2,xi第i个输入数据,xk为第k个中心点,αk为权重,Nd为输入数据维数,αk-1和sk-1分别是聚k-1类的权值和失真度,f(k)则表示聚成k类的失真度比例;通过不断的选择k取值,获取f(k)-k的变化曲线,然后找出变化曲线最低点,最低点即类别k理想情况;在最低点处,失真度sk达到最小;通过式(1)、(2)确定k,最后再依据下式(3)计算每个数据的类型信息;式中,xi表示第i个数据点,ck表示第k个聚类中心点,f(xi)表示映射的任务类别信息值;任务模型根据任务基本属性CPU、IO以及任务类别信息值f(xi)这3属性在模拟平台上产生任务;2)对回填策略的改进主要对算法层面进行改进,使回填算法能够适应工作流;在对传统回填算法改进上增加了工作流调度方式、工作流输入方式即输入任务和任务偏序关系;还包含了对工作流调度方案的改进,主要是对回填调度算法改进,以及工作流单位和普通单个任务的竞争约束规则;改进回填算法执行流程:在模拟平台上先根据任务2个资源属性即CPU、IO数据以及类别信息值,结合平台设置相关参数产生任务,然后再根据任务之间的偏序关系生成任务流,具体是利用邻接矩阵,建立DAG来保存任务流信息,最后增加了设置任务优先级操作,对任务优先级进行设置,将任务提交至等待队列;在等待队列中首先选择可调度任务,扫描等待队列,从队列头开始调度,查看任务资源需求是否得到满足,然后对任务流检测,如果是任务流,则检测父级任务是否完成,如果能够调度则提交给调度器,否则将任务进行回填处理,将任务提交至回填子程序,最后对任务运行时间的精确预测操作,寻找回填间隙,如果能够回填,则重新提交给任务流检测子程序,如果不能回填,则将任务仍放入等待队列,开启下一个任务;对任务运行时间的预测,主要是利用前后N条历史数据来获取限定,然后根据下式(4)、(5)预测任务运行时间;式中,tj为任务j的预测运行时间,wi为权值,ri为任务i的实际运行时间,JRRi为任务i的请求运行时间,N为历史数据条数;回填策略的好坏直接受任务预测时间准确性影响,通过式(4)获取任务的运行时间,能够很好的改善回填效果;对于工作流任务和普通任务之间的竞争规则,提出以下3条对工作流和普通任务之间竞争关系的约束:a、普通任务和工作流比较,设置工作流和普通任务熵阈值,如果低于阈值,则提高普通任务优先级,普通任务和工作流同等对待,否则工作流优先级高于普通任务,如果只调度工作流,忽略该约束;b、工作流任务的选择则需要判断前驱即所有直接父级任务已经结束,否则不能作回填;c、工作流任务符合b点之间的比较排序,不同优先级队列任务,高优先级要先高于低优先级,同优先级则无差别对待;对于约束a作相应的解释,如果调度普通任务和工作流任务混合场景,则要设置普通任务和任务流的优先级,否则忽略本约束;这里定义了工作流任务和普通任务之间的熵s=-PwflogPwf-PglogPg,其中Pwf表示工作流任务比例,Pg表示普通任务比例,并且Pg+Pwf=1,熵值S表现工作流任务和普通任务之间的均匀程度,所以熵值偏小,说明普通任务或工作流任务占比不均匀;设置熵阈值L,能够保证普通任务和工作流任务都能够得到调度,而不会出现工作流得到充分调度,普通任务得不到调度的情况;如果S<L并且Pwf<0.5,则提升任务流优先级,S<L并且Pg<0.5,则提升普通任务优先级,如果S>L,优先工作流;3)回填任务的投递回填任务投递需要遵循2条策略:一是作业需求的处理器数目小于当前的空闲处理器数,并且需要在阴影时间即从当前时间到任务开始回填的这段时间之前预期结束;二是任务队列排序不仅要考虑bml,该bml为backfillingmatchinglevel,是在等待队列中影响选择回填任务的一个因子,具体定义见下式(6),还要考虑各个资源主机或者虚拟机的负载和任务类别属性的匹配程度定义cml,该本文档来自技高网
...
一种结合负载均衡的工作流回填方法

【技术保护点】
一种结合负载均衡的工作流回填方法,其特征在于,包括以下步骤:1)对任务特性的划分先对任务进行分类,采用kmeans聚类方式将任务划分成CPU资源消耗型或者IO资源消耗型,主要是标识任务类型,聚类的类别数k的确定,这里采用一种失真度的度量方式来确定聚类类别数k,如下式(1)和式(2)所示:

【技术特征摘要】
1.一种结合负载均衡的工作流回填方法,其特征在于,包括以下步骤:1)对任务特性的划分先对任务进行分类,采用kmeans聚类方式将任务划分成CPU资源消耗型或者IO资源消耗型,主要是标识任务类型,聚类的类别数k的确定,这里采用一种失真度的度量方式来确定聚类类别数k,如下式(1)和式(2)所示:式中,sk为聚成k类的总失真度sk=∑k∑i(xi-xk)2,xi第i个输入数据,xk为第k个中心点,αk为权重,Nd为输入数据维数,αk-1和sk-1分别是聚k-1类的权值和失真度,f(k)则表示聚成k类的失真度比例;通过不断的选择k取值,获取f(k)-k的变化曲线,然后找出变化曲线最低点,最低点即类别k理想情况;在最低点处,失真度sk达到最小;通过式(1)、(2)确定k,最后再依据下式(3)计算每个数据的类型信息;式中,xi表示第i个数据点,ck表示第k个聚类中心点,f(xi)表示映射的任务类别信息值;任务模型根据任务基本属性CPU、IO以及任务类别信息值f(xi)这3属性在模拟平台上产生任务;2)对回填策略的改进主要对算法层面进行改进,使回填算法能够适应工作流;在对传统回填算法改进上增加了工作流调度方式、工作流输入方式即输入任务和任务偏序关系;还包含了对工作流调度方案的改进,主要是对回填调度算法改进以及工作流单位和普通单个任务的竞争约束规则;改进回填算法执行流程:在模拟平台上先根据任务2个资源属性即CPU、IO数据以及类别信息值,结合平台设置相关参数产生任务,然后再根据任务之间的偏序关系生成任务流,具体是利用邻接矩阵,建立DAG来保存任务流信息,最后增加了设置任务优先级操作,对任务优先级进行设置,将任务提交至等待队列;在等待队列中首先选择可调度任务,扫描等待队列,从队列头开始调度,查看任务资源需求是否得到满足,然后对任务流检测,如果是任务流,则检测父级任务是否完成,如果能够调度则提交给调度器,否则将任务进行回填处理,将任务提交至回填子程序,最后对任务运行时间的精确预测操作,寻找回填间隙,如果能够回填,则重新提交给任务流检测子程序,如果不能回填,则将任务仍放入等待队列,开启下一个任务;对任务运行时间的预测,主要是利用前后N条历史数据来获取限定,根据下式(4)、(5)预测任务运行时间;

【专利技术属性】
技术研发人员:董守斌吕丹董守玲张铃启
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1