CN105718312B - 面向生物基因测序计算任务的多队列回填作业调度方法 - Google Patents
面向生物基因测序计算任务的多队列回填作业调度方法 Download PDFInfo
- Publication number
- CN105718312B CN105718312B CN201610037738.4A CN201610037738A CN105718312B CN 105718312 B CN105718312 B CN 105718312B CN 201610037738 A CN201610037738 A CN 201610037738A CN 105718312 B CN105718312 B CN 105718312B
- Authority
- CN
- China
- Prior art keywords
- queue
- node
- job
- resource
- backfill
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 26
- 230000005012 migration Effects 0.000 claims abstract description 23
- 238000013508 migration Methods 0.000 claims abstract description 23
- 238000005457 optimization Methods 0.000 claims abstract description 16
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 claims description 3
- 230000006872 improvement Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000007812 deficiency Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012163 sequencing technique Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012098 association analyses Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种面向生物基因测序计算任务的多队列回填作业调度方法。针对生物基因测序计算任务的作业负载特性,对现有高性能计算系统作业调度技术的缺点与不足进行了改进,提出一个多对列回填作业调度方法。该方法提供了基于内存资源优化的回填调度,结合内存资源的需求进行作业预约与作业回填,充分利用系统的空闲资源,减少作业等待。在此基础上,提供了多对列负载均衡调度,以多对列的方式进行回填调度并且提供了队列级别的负载均衡,并且提出了动态选择阈值策略与优化迁移策略。多队列回填作业调度能够很好的适用于生物信息高性能计算系统,获得良好的系统性能。
Description
技术领域
本发明涉及高性能计算领域,特别涉及一种面向生物基因测序计算任务的多队列回填作业调度方法。
背景技术
在高性能计算系统特别是高性能计算集群中,作业调度扮演着极其重要的作业。作业调度按照不同的用户需求采用合适的调度策略,分配合适的资源去执行作业。作业调度关系到作业的整个生命周期,涉及集群的各组成部分,直接影响着作业的运行效率与系统的吞吐率及资源利用。为了充分利用高性能计算集群的系统资源,保证作业迅速而又高效的执行,采用合适的方法进行作业调度显得十分必要。
基因测序是对目标DNA进行碱基的序列测定,并进行各种相关分析。基因测序已经广泛应用于快速疾病诊断、疫情检测、大规模物种群体进化及个性化医疗等。基因测序的大部分计算任务如基因重测序、基因组关联分析等需要大量计算,利用高性能计算系统进行基因数据分析已经成为许多科研机构和公司采用的方式。基于基因测序的应用特性,其计算任务通常具有以下特点:(1)高通量(High-through):作业规模很大,大部分为串行作业,少量并行作业。并行作业大多数为单节点的多线程任务;(2)资源需求大:除了对CPU资源有较大需求外,对内存、I/O等资源的需求也较大;(3)作业流程复杂:有些作业具有自己的工作流,有些作业采用分布式的消息传递机制。用户在提交作业时,需要预估作业使用的资源,并自己控制工作流程或者并行机制。这些作业特性导致采用传统的作业调度方式不能获得很好的效果,系统的资源利用率较低。因此,设计一种面向基因测序高性能计算系统的作业调度方法,提高作业的运行效率与系统的资源利用,是十分必要的。
在大规模并行系统作业调度领域,资源预留与回填(简称回填,Backfilling)技术得到了广泛的应用,已成为并行作业调度的基本方法。它一方面为作业提前预留处理机以保证能够尽快执行该作业;另一方面,在不造成预留的作业被延迟的前提下,按照先后顺序将那些需要处理机数量较少的后续等待作业分配到当前空闲的处理机上。与传统的作业调度方法相比,资源预留与回填在保持基本的先来先服务特征的基础上,充分利用了系统的空闲资源,同时减少了作业的等待,具有更好的性能。本发明主要针对基因测序的应用环境及具体需求,对资源预留与回填进行改进。
发明内容
本发明的目的在于克服现有技术的缺点与不足,在生物信息作业负载特性分析的基础上,提出了一种面向生物基因测序计算任务的多队列回填作业调度方法,首先对每个队列实施基于内存资源优化的回填调度,在此基础上以多对列的方式进行回填调度,实现队列级别的负载均衡。采用该方法能够获得很好的调度效果,改善系统性能。
本发明的目的通过如下技术方案实现:一种面向生物基因测序计算任务的多队列回填作业调度方法主要包括以下步骤:
S1、基于内存资源优化的回填调度:在传统的回填调度的基础上进行改进,设计基于内存资源优化的回填调度;在作业调度的过程中,充分考虑了作业的CPU与内存属性,根据这两个属性进行作业的资源预留与回填,从而尽可能的提高系统的利用率,使作业整体尽可能快的运行。在利用资源预留形成的资源空隙进行回填时,保证不影响作业等待队列中第一个作业的运行;
S2、多对列负载均衡回填调度:基于内存资源优化回填调度的基础上,以多对列的方式进行回填调度,并且提供了队列级别的负载均衡,主要用于解决由于多对列的划分造成的作业等待与资源浪费的问题,平衡各队列间的负载,同时提供了改进方案:动态选择阈值策略与优化迁移策略。
所述步骤S1中:记waitList为作业等待队列,runList为作业运行队列,resList为作业预约队列;系统资源集合为R,其中包含系统的计算节点;进行作业调度的具体流程如下:
S11:按照作业的提交时间顺序,提取waitList中的第一个作业i;
S12:判断作业i能否在R中直接运行:即在当前的系统资源中,能够找到满足当前作业资源需求的节点,也就是说该节点拥有的空闲资源(CPU以及内存)大于作业运行需要的资源;若节点已预约作业,则还需判断将该作业分配到这个节点上运行是否影响已预约的作业。
S13:若作业i不能直接运行,判断能否对i进行预约,即在R中寻找节点为i进行资源预留;
所述步骤S13中规定每个节点最多有一个作业预约;如果还有节点未预约作业,则可以进行作业预约,进入作业预约步骤。
S14:若作业i能够在某个节点上运行,则可以将该作业进行回填,进入作业回填步骤。
S15:若不能对该作业i进行预约或者回填,则遍历waitList,提取下一个作业,返回至S12继续执行。
所述步骤S12中判断不对预约作业造成影响的标准为:该作业在预约作业执行之前结束,或者该作业需求的资源小于预约作业执行后节点的空闲资源。
所述作业预约步骤流程为:
step 1:计算作业i所需的资源:计算该作业运行需要的CPU核数、最大内存以及预计运行时间;
step 2:遍历R的节点列表,计算未预约作业的节点能够运行作业i的最早时间;
在这些节点中,随着已运行作业的完成,节点中剩余的空闲资源越来越多,节点空闲资源开始大于该作业需求资源的时刻,即能够运行该作业的最早时间;
step 3:比较各节点能够运行作业i最早时间,获取这个时间最小的节点;
step 4:选择该节点为预约作业i的节点,将作业从waitList移动至resList,在节点上为作业预留资源,即将作业需求的资源预先分配到节点上,记录能够运行该作业的最早时间;
step 5:返回主程序。
所述作业回填步骤流程为:
(1):计算作业i所需的资源;
(2):遍历R的节点列表:遍历节点列表之前,首先将节点列表按节点的CPU负载大小排序,即按照节点当前的CPU利用率排序,将节点按照CPU负载排序,能够保证作业优先在负载较低的节点上运行,有利于系统的负载均衡;
(3):获取负载最小的节点,将作业i回填至该节点,在节点上为作业分配资源,将作业从waitList移动至runList;
(4):返回主程序。
所述步骤S2中:定义队列k的负载其中jri表示队列中运行作业i使用的资源,nrj表示队列包含的节点j的资源总量,选取一个大小在区间(0,1)的阈值Lthres,多对列负载均衡调度策略为:
当Lk>Lthres时,停止向队列k投递作业,遍历所有队列,将原本投递至队列k的作业转为投向负载最低的队列;当Lk<Lthres时,允许继续向队列k投递作业。
采用这种调度策略能够改善当某个队列负载过高时,由于队列资源不足导致作业无法立即运行,从而等待时间过长的现象;为了避免作业迁移至其他队列过于频繁,Lthres一般取大于0.8的值,同时为了减小迁移的作业对未迁移作业的影响,设置迁移作业的优先级低于未迁移作业的优先级,即未迁移的作业总是在迁移作业之前运行。
在此基础上,提供了动态选择阈值策略,根据队列的负载,动态的、实时的选取阈值,对多对列负载均衡调度策略进行了改进。动态选择阈值的策略根据实际的队列作业情况与负载情况,动态的决定是否需要对队列进行负载均衡,能够更充分的利用队列的资源。
所述步骤S2中定义:队列k的作业迁移代价Cmk=∑jtrijriw;队列k的作业等待代价Cwk=∑jtwijri;
其中jtri表示作业i的预计执行时间,该值由用户预估的作业执行时间获得,w表示作业迁移代价的权重,jtwi表示队列不采用负载均衡,没有作业迁移时,按照队列中的调度策略对作业进行调度,作业i的等待时间;jri表示作业使用的资源,由于作业还未运行,该值由提交作业的用户预估;此外,当等待队列中的作业较少时,则认为队列有空闲的资源运行这些作业;
定义队列k的等待作业长度为lk,根据历史数据,可以计算队列的等待作业的平均长度,参照这个长度定义等待作业长度阈值lthres,那么,动态选择阈值的多对列负载均衡调度策略为:
当Cmk>Cwk且lk>lthres时,停止向队列k投递作业;遍历所有队列,将原本投递至队列k的作业转为投向负载最低的队列;其他情况,则允许继续向队列k投递作业。
为了减少迁移作业的数目,同时充分利用队列的资源,提供了优化迁移策略。可以不将所有作业都投向其他队列,保留一部分作业在原队列中运行。当满足队列k负载均衡的条件时,进行作业迁移的优化。
所述步骤S2中的优化迁移策略如下:
将队列k中的等待作业按照作业使用的资源从小到大排序;
遍历等待作业,判断作业i是否能立即在队列k中运行;
若能立即运行,将作业i分配至队列k对应的节点中运行;
若不能立即运行,遍历所有队列,将作业i转为投向负载最低的队列;
按照作业使用的资源进行排序时,由于作业还没有执行,同样按照用户预估的值进行排序;作业排序的标准为先按照CPU资源进行排序,再按照内存资源进行排序。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明针对生物基因测序计算任务的作业特性,对现有高性能计算系统作业调度技术的缺点与不足进行了改进,提出了向生物基因测序高性能计算系统的多队列回填作业调度方法。
2、本发明提出了内存资源的回填调度。该调度方式继承了传统回填调度的优点,能够很好的降低作业的等待,提升系统的资源利用。同时考虑了内存资源进行调度,对于生物信息应用有更好的响应。
3、本发明提出了多对列负载均衡回填调度。在改进的回填调度的基础上,利用多对列的方式进行回填,同时提供队列级别的负载均衡。避免系统资源的浪费,减少作业的等待。
附图说明
图1为本发明中多队列回填作业调度的示意图。
图2为本发明中基于内存资源优化的回填调度的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,面向生物基因测序计算任务的多队列回填作业调度方法,包括以下步骤:
S1、基于内存资源优化的回填调度:用户向系统提交作业后,保存作业的提交时间、请求资源等属性。将作业放入等待作业队列中,记为waitList。记runList为运行作业队列,指通过作业调度已经分配至节点运行作业的集合。记resList为预约作业队列,指通过作业调度已经预约节点中的资源,但还未运行作业的集合。记系统资源为R,其中包含系统的节点,以及各节点的资源属性。则进行作业调度的具体流程如下,如图2所示:
S11:按照作业的提交时间顺序,提取waitList中的第一个作业i;
S12:判断作业i能否在R中直接运行:即在当前的系统资源中,能够找到满足当前作业资源需求的节点,也就是说该节点拥有的空闲资源(CPU以及内存)大于作业运行需要的资源;若节点已预约作业,则还需判断将该作业分配到这个节点上运行是否影响已预约的作业。
S13:若作业i不能直接运行,判断能否对i进行预约,即在R中寻找节点为i进行资源预留;
所述步骤S13中规定每个节点最多有一个作业预约;如果还有节点未预约作业,则可以进行作业预约,进入作业预约步骤。
S14:若作业i能够在某个节点上运行,则可以将该作业进行回填,进入作业回填步骤。
S15:若不能对该作业i进行预约或者回填,则遍历waitList,提取下一个作业,返回至S12继续执行。
作业预约步骤流程为:
step 1:计算作业i所需的资源。
在保存的作业请求资源属性中,记录了作业运行需要的CPU核数、最大内存以及预计运行时间,这些属性即作业所需资源。
step 2:遍历R的节点列表,计算未预约作业的节点能够运行作业i的最早时间。
在这些节点中,随着已运行作业的完成,节点中剩余的空闲资源越来越多。节点空闲资源开始大于该作业需求资源的时刻,即能够运行该作业的最早时间。
step 3:比较各节点能够运行作业i最早时间,获取这个时间最小的节点。
step 4:选择该节点为预约作业i的节点,将作业从waitList移动至resList。在节点上为作业预留资源。即将作业需求的资源预先分配到节点上,记录能够运行该作业的最早时间。
step 5:返回主程序。
所述作业回填步骤流程为:
(1):计算作业i所需的资源;
(2):遍历R的节点列表:遍历节点列表之前,首先将节点列表按节点的CPU负载大小排序,即按照节点当前的CPU利用率排序,将节点按照CPU负载排序,能够保证作业优先在负载较低的节点上运行,有利于系统的负载均衡;
(3):获取负载最小的节点,将作业i回填至该节点,在节点上为作业分配资源,将作业从waitList移动至runList;
(4):返回主程序。
S2、多对列负载均衡回填调度。利用多对列的方式管理系统中的作业与资源,是许多高性能计算系统作业调度采用的方法。本发明在基于内存资源优化回填调度的基础上,以多对列的方式进行回填调度。并且提供了队列级别的负载均衡,主要用于解决由于多对列的划分造成的作业等待与资源浪费的问题,平衡各队列间的负载,利用多对列负载均衡回填调度时,可以选择是否采用其改进方案,包括动态选择阈值策略与优化迁移策略。
定义队列k的负载其中jri表示队列中运行作业i使用的资源,nrj表示队列包含的节点j的资源总量。选取一个大小在区间(0,1)的阈值Lthres(Lthres一般取大于0.8的值)。多对列负载均衡调度策略为:
当Lk>Lthres时,停止向队列k投递作业。遍历所有队列,将原本投递至队列k的作业转为投向负载最低的队列。
当Lk<Lthres时,允许继续向队列k投递作业。
在此基础上,可以采用动态选择阈值策略,根据队列的负载,动态的、实时的选取阈值。
定义:
队列k的作业迁移代价Cmk=∑jtrijriw;
队列k的作业等待代价Cwk=∑jtwijri;
其中jtri表示作业i的预计执行时间,该值由用户预估的作业执行时间获得。w表示作业迁移代价的权重。jtwi表示队列不采用负载均衡,没有作业迁移时,按照队列中的调度策略对作业进行调度,作业i的等待时间。jri表示作业使用的资源,由于作业还未运行,该值由提交作业的用户预估。此外,当等待队列中的作业较少时,则认为队列有空闲的资源运行这些作业。
定义队列k的等待作业长度为lk。根据历史数据,可以计算队列的等待作业的平均长度,参照这个长度定义等待作业长度阈值lthres。
那么,动态选择阈值的多对列负载均衡调度策略为:
当Cmk>Cwk且lk>lthres时,停止向队列k投递作业。遍历所有队列,将原本投递至队列k的作业转为投向负载最低的队列。
其他情况,则允许继续向队列k投递作业。
还可以采用优化迁移策略,不将所有作业都投向其他队列,保留一部分作业在原队列中运行。当满足队列k负载均衡的条件时,进行作业迁移的优化。优化迁移策略如下:
将队列k中的等待作业按照作业使用的资源从小到大排序。
遍历等待作业,判断作业i是否能立即在队列k中运行。
若能立即运行,将作业i分配至队列k对应的节点中运行。
若不能立即运行,遍历所有队列,将作业i转为投向负载最低的队列。
按照作业使用的资源进行排序时,由于作业还没有执行,同样按照用户预估的值进行排序。作业排序的标准为先按照CPU资源进行排序,再按照内存资源进行排序。
采用步骤S1能够进行基于内存资源优化的单队列回填作业调度。综合步骤S1、S2即可以进行多对列的回填作业调度。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.面向生物基因测序计算任务的多队列回填作业调度方法,主要包括以下步骤:
S1、基于内存资源优化的回填调度:在传统的回填(Backfilling)调度的基础上进行改进,设计基于内存资源优化的回填调度;在作业调度的过程中,充分考虑了作业的CPU与内存属性,根据这两个属性进行作业的资源预留与回填,从而尽可能地提高系统的利用率和使作业的执行效率;在利用资源预留形成的资源空隙进行回填时,保证不影响作业等待队列中第一个作业的运行;
S2、多队列负载均衡回填调度:在内存资源优化回填调度的基础上,以多队列的方式进行回填调度,并且提供了队列级别的负载均衡,主要用于解决由于多队列的划分造成的作业等待与资源浪费的问题,平衡各队列间的负载,同时提供了改进方案:动态选择阈值策略与优化迁移策略。
2.根据权利要求1所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述步骤S1中:记waitList为作业等待队列,runList为作业运行队列,resList为作业预约队列;系统资源集合为R,其中包含系统的计算节点;进行作业调度的具体流程如下:
S11:按照作业的提交时间顺序,提取waitList中的第一个作业i;
S12:判断作业i能否在R中直接运行:即在当前的系统资源中,能够找到满足当前作业资源需求的节点,也就是说该节点拥有的空闲资源(CPU以及内存)大于作业运行需要的资源;若节点已预约作业,则还需判断将该作业分配到这个节点上运行是否影响已预约的作业;
S13:若作业i不能直接运行,判断能否对i进行预约,即在R中寻找节点为i进行资源预留;
所述步骤S13中规定每个节点最多有一个作业预约;如果还有节点未预约作业,则可以进行作业预约,进入作业预约步骤;
S14:若作业i能够在某个节点上运行,则可以将该作业进行回填,进入作业回填步骤;
S15:若不能对该作业i进行预约或者回填,则遍历waitList,提取下一个作业,返回至S12继续执行。
3.根据权利要求2所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述步骤S12中判断不对预约作业造成影响的标准为:该作业在预约作业执行之前结束,或者该作业需求的资源小于预约作业执行后节点的空闲资源。
4.根据权利要求2所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述作业预约步骤流程为:
step1:计算作业i所需的资源:计算该作业运行需要的CPU核数、最大内存以及预计运行时间;
step2:遍历R的节点列表,计算未预约作业的节点能够运行作业i的最早时间;
在这些节点中,随着已运行作业的完成,节点中剩余的空闲资源越来越多,节点空闲资源开始大于该作业需求资源的时刻,即能够运行该作业的最早时间;
step3:比较各节点能够运行作业i最早时间,获取这个时间最小的节点;
step4:选择该节点为预约作业i的节点,将作业从waitList移动至resList,在节点上为作业预留资源,即将作业需求的资源预先分配到节点上,记录能够运行该作业的最早时间;
step5:返回主程序。
5.根据权利要求2所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述作业回填步骤流程为:
(1):计算作业i所需的资源;
(2):遍历R的节点列表:遍历节点列表之前,首先将节点列表按节点的CPU负载大小排序,即按照节点当前的CPU利用率排序,将节点按照CPU负载排序,能够保证作业优先在负载较低的节点上运行,有利于系统的负载均衡;
(3):获取负载最小的节点,将作业i回填至该节点,在节点上为作业分配资源,将作业从waitList移动至runList;
(4):返回主程序。
6.根据权利要求1所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述步骤S2中:定义队列k的负载其中jri表示队列中运行作业i使用的资源,nrj表示队列包含的节点j的资源总量,选取一个大小在区间(0,1)的阈值Lthres,多队列负载均衡调度策略为:
当Lk>Lthres时,停止向队列k投递作业,遍历所有队列,将原本投递至队列k的作业转为投向负载最低的队列;当Lk<Lthres时,允许继续向队列k投递作业。
7.根据权利要求1所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述步骤S2中定义:队列k的作业迁移代价Cmk=∑jtrijriw;队列k的作业等待代价Cwk=∑jtwijri;
其中jtri表示作业i的预计执行时间,该值由用户预估的作业执行时间获得,w表示作业迁移代价的权重,jtwi表示队列不采用负载均衡,没有作业迁移时,按照队列中的调度策略对作业进行调度,作业i的等待时间;jri表示作业使用的资源,由于作业还未运行,该值由提交作业的用户预估;此外,当等待队列中的作业较少时,则认为队列有空闲的资源运行这些作业;
定义队列k的等待作业长度为lk,根据历史数据,可以计算队列的等待作业的平均长度,参照这个长度定义等待作业长度阈值lthres,那么,动态选择阈值的多队列负载均衡调度策略为:
当Cmk>Cwk且lk>lthres时,停止向队列k投递作业;遍历所有队列,将原本投递至队列k的作业转为投向负载最低的队列;其他情况,则允许继续向队列k投递作业。
8.根据权利要求1所述的面向生物基因测序计算任务的多队列回填作业调度方法,其特征在于:所述步骤S2中的优化迁移策略如下:
将队列k中的等待作业按照作业使用的资源从小到大排序;
遍历等待作业,判断作业i是否能立即在队列k中运行;
若能立即运行,将作业i分配至队列k对应的节点中运行;
若不能立即运行,遍历所有队列,将作业i转为投向负载最低的队列;
按照作业使用的资源进行排序时,由于作业还没有执行,同样按照用户预估的值进行排序;作业排序的标准为先按照CPU资源进行排序,再按照内存资源进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037738.4A CN105718312B (zh) | 2016-01-20 | 2016-01-20 | 面向生物基因测序计算任务的多队列回填作业调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037738.4A CN105718312B (zh) | 2016-01-20 | 2016-01-20 | 面向生物基因测序计算任务的多队列回填作业调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718312A CN105718312A (zh) | 2016-06-29 |
CN105718312B true CN105718312B (zh) | 2018-10-30 |
Family
ID=56147963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610037738.4A Expired - Fee Related CN105718312B (zh) | 2016-01-20 | 2016-01-20 | 面向生物基因测序计算任务的多队列回填作业调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718312B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874112B (zh) * | 2017-01-17 | 2020-04-28 | 华南理工大学 | 一种结合负载均衡的工作流回填方法 |
CN108446169B (zh) * | 2017-02-16 | 2022-04-26 | 阿里巴巴集团控股有限公司 | 一种作业调度方法及装置 |
CN107704728B (zh) * | 2017-09-26 | 2021-01-19 | 华南理工大学 | 一种基因序列比对的云计算加速方法 |
CN107665291B (zh) * | 2017-09-27 | 2020-05-22 | 华南理工大学 | 一种基于云计算平台Spark的变异检测方法 |
CN108537006A (zh) * | 2018-04-03 | 2018-09-14 | 郑州云海信息技术有限公司 | 一种基因序列数据处理方法、装置及系统 |
CN109871266B (zh) * | 2018-12-15 | 2024-05-14 | 中国平安人寿保险股份有限公司 | 任务延时处理方法、装置、计算机装置及存储介质 |
CN109710414B (zh) * | 2018-12-29 | 2021-03-26 | 北京三快在线科技有限公司 | 一种作业调度方法、装置、设备及存储介质 |
CN110191155B (zh) * | 2019-05-07 | 2022-01-18 | 中国人民解放军国防科技大学 | 一种面向胖树互连网络的并行作业调度方法、系统及存储介质 |
CN110348681B (zh) * | 2019-06-04 | 2022-02-18 | 国网浙江省电力有限公司衢州供电公司 | 一种电力cps动态负荷分配方法 |
JP7238616B2 (ja) * | 2019-06-11 | 2023-03-14 | 富士通株式会社 | 並列処理装置、ジョブ管理プログラム、及びジョブ管理方法 |
CN110362403A (zh) * | 2019-06-25 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种作业调度方法及装置 |
CN110427262B (zh) * | 2019-09-26 | 2020-05-15 | 深圳华大基因科技服务有限公司 | 一种基因数据分析方法及异构调度平台 |
CN111930485B (zh) * | 2020-07-28 | 2022-09-13 | 中国电子科技集团公司第二十八研究所 | 一种基于性能表现的作业调度方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810037A (zh) * | 2014-01-10 | 2014-05-21 | 清华大学 | 一种作业调度方法和计算装置 |
CN104166593A (zh) * | 2014-08-14 | 2014-11-26 | 国家超级计算深圳中心(深圳云计算中心) | 一种计算多应用功能异步并发调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7926057B2 (en) * | 2005-12-15 | 2011-04-12 | International Business Machines Corporation | Scheduling of computer jobs employing dynamically determined top job party |
-
2016
- 2016-01-20 CN CN201610037738.4A patent/CN105718312B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810037A (zh) * | 2014-01-10 | 2014-05-21 | 清华大学 | 一种作业调度方法和计算装置 |
CN104166593A (zh) * | 2014-08-14 | 2014-11-26 | 国家超级计算深圳中心(深圳云计算中心) | 一种计算多应用功能异步并发调度方法 |
Non-Patent Citations (1)
Title |
---|
基于提前预留的backfill并行调度优化模型和算法研究;李丽娟;《中国优秀硕士学位论文全文数据库》;20120415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105718312A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718312B (zh) | 面向生物基因测序计算任务的多队列回填作业调度方法 | |
US10089140B2 (en) | Dynamically adaptive, resource aware system and method for scheduling | |
WO2020206705A1 (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
US9256471B2 (en) | Task scheduling method for priority-based real-time operating system in multicore environment | |
CN104268018B (zh) | 一种Hadoop集群中的作业调度方法和作业调度器 | |
US8640133B2 (en) | Equal duration and equal fetch operations sub-context switch interval based fetch operation scheduling utilizing fetch error rate based logic for switching between plurality of sorting algorithms | |
WO2020248226A1 (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
CN106874112B (zh) | 一种结合负载均衡的工作流回填方法 | |
US10089155B2 (en) | Power aware work stealing | |
CN106775493B (zh) | 一种存储控制器及io请求处理方法 | |
KR101770191B1 (ko) | 자원 할당 방법 및 그 장치 | |
WO2019120158A1 (zh) | 物品拣选方法及相关设备 | |
CN101582043A (zh) | 一种异构计算系统动态任务分配方法 | |
CN106897136A (zh) | 一种任务调度方法及装置 | |
Huang et al. | Novel heuristic speculative execution strategies in heterogeneous distributed environments | |
CN108428051A (zh) | 面向大数据平台基于最大化收益的MapReduce作业调度方法及装置 | |
CN104156505B (zh) | 一种基于用户行为分析的Hadoop集群作业调度方法及装置 | |
Taheri et al. | Hopfield neural network for simultaneous job scheduling and data replication in grids | |
CN110084507B (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
He et al. | A two-stage scheduling method for deadline-constrained task in cloud computing | |
CN111930485B (zh) | 一种基于性能表现的作业调度方法 | |
CN111736959B (zh) | 异构集群下考虑数据亲和性的Spark任务调度方法 | |
CN103106112A (zh) | 一种基于最高负载的进行负载均衡调度的方法及设备 | |
CN105117281B (zh) | 一种基于任务申请信号和处理器内核执行代价值的任务调度方法 | |
Sun et al. | Energy-efficient multiprocessor scheduling for flow time and makespan |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181030 |