一种云环境下BoT任务的快速调度方法技术

技术编号:17704663 阅读:55 留言:0更新日期:2018-04-14 17:43
本发明专利技术公开了一种云环境下BoT任务的快速调度方法。该方法步骤如下:步骤1,信息读取:读取BoT任务的所有参数;步骤2,作业调度:基于读取的参数,确定所有作业的开始时间,调度方法从作业的失败时刻的下一时刻起确定作业的开始时间,需要考虑总预算且满足公式约束;步骤3,作业执行:按照步骤2的结果执行各个作业。本发明专利技术云环境下BoT任务的快速调度方法,考虑了BoT任务中每个作业的处理时间,能够快速高效地确定每个作业的开始时间并最小化makespan。

【技术实现步骤摘要】
一种云环境下BoT任务的快速调度方法
本专利技术涉及云计算
,特别是一种云环境下BoT任务的快速调度方法。
技术介绍
云计算旨在通过互联网将可用资源(包括计算资源、平台资源和应用资源)以服务的形式提供给用户。用户以“用多少、付多少”的方式使用这些资源。因此,云计算特别适合处理那些需要大量计算资源的任务。Bag-of-Tasks(BoT)任务是一类包含多个可并行处理作业的任务。BoT任务是指包含多个可并行处理作业的任务,广泛存在于计算机视频、图片处理、蒙特卡罗仿真的科学和工程领域。事实上,很多用户(包括企业或者机构)都已有一些有限资源的计算设备(可称为私有云),但是不能高效调度BoT任务使得最大完工时间(即makespan)最小化。
技术实现思路
本专利技术的目的在于提供一种云环境下BoT任务的快速调度方法,从而快速有效地确定每个作业的开始时间并最小化makespan。实现本专利技术目的的技术解决方案为:一种云环境下BoT任务的快速调度方法,步骤如下:步骤1,信息读取:读取BoT任务的所有参数;步骤2,作业调度:基于读取的参数,确定所有作业的开始时间;步骤3,作业执行:按照步骤2的结果执行各个作业。进一步地,所述BoT任务的所有参数包括:所有BoT任务中各作业的处理时间,各任务所需的VM类型。进一步地,所述基于读取的参数,确定所有作业的开始时间,所采用的作业调度方法如下:假设一个私有云CP0,私有云提供了k个VM类型,分别为VM1,VM2,…,VMk;每个VMq都用两个配置参数来描述:该VM所能提供的CPU数量CPUq和内存的数量Memq,q=1,2,…,k;一共有n个BoT任务a1,a2,…,an,每个任务ai包含Ti个作业用一个参数xiq表示ai是否需要VMq,如果需要则xiq=1;否则,xiq=0;每个作业的处理时间为rij,其中i=1,2,…,n,j=1,2,…,Ti;时间轴以1小时的粒度离散化,私有云最大CPU数量和内存数量分别表示为CPU*和Mem*,即在时间轴上的任何一点私有云上所消耗的资源不能超过CPU*和Mem*;设任务ai的完工时间为ci,时间轴的最大时间戳S=maxi=1,2,…,nci;设cij为作业tij的完工时间,故有:若作业tij的开始时间为stij,那么cij如下:cij=stij+rij(2)定义决策变量zijs,i=1,2,…,n,j=1,2,…,Ti,s=0,1,…,S;zijs=1表明作业tij的开始时间为s,否则zijs=0,把作业tij的开始时间描述成整数规划问题,即Minimizethemakespan(Cmax):Cmax=maxi=1,2,…,nci(3)s.t.上述作业调度方法从作业的失败时刻的下一时刻起确定作业的开始时间,需要结合私有云最大CPU数量CPU*和内存数量Mem*,且满足公式(3)~(5)的约束。进一步地,作业调度方法具体如下:按照各个作业对VM的配置要求和处理时间,将任务按照处理时间的升序排列组成一个作业执行队列,依次提供满足任务要求的VM,确定每个任务的开始时间,以保证整个任务最小化makespan,作业调度的具体步骤如下:(1)接收一个作业执行队列;(2)如果队列为空,则转到(7);否则,转到(3);(3)从队列取出一个作业ti,其要求的VM类型VMi由云Cj提供,处理时间为timei,转到(4);(4)记s=0,转到(5);(5)在Cj中,从s时刻开始寻找Cj中是否有连续个timei个时间段能够满足VMi的配置要求,如果能够找到,则记录s为ti的最早开始时间,并将此时间段的资源按照VMi的配置分配,转到(2);否则,转到(6);(6)记最后一个无法满足VMi配置的时刻为e,令s=e+1,转到(5);(7)结束。本专利技术与现有技术相比,其显著优点为:考虑了BoT任务中每个作业的处理时间,能够快速高效地确定每个作业的开始时间并最小化makespan。附图说明图1为本专利技术云环境下BoT任务的快速调度方法的流程图。图2为本专利技术实施例中改进方法的各作业处理示意图。具体实施方式本专利技术云环境下BoT任务的快速调度方法,所要解决的问题可如下描述:有一个私有云CP0。私有云提供了k个VM类型,分别为VM1,VM2,…,VMk。每个VMq(q=1,2,…,k)都用两个配置参数来描述(CPUq和Memq),分别表示该VM所能提供的CPU数量和内存的数量。一共有n个BoT任务a1,a2,…,an。每个任务ai(i=1,2,…,n)包含Ti个作业用一个参数xiq表示ai是否需要VMq,需要xiq=1;否则,xiq=0。每个作业的处理时间为rij(i=1,2,…,n,j=1,2,…,Ti)。时间轴以1小时的粒度离散化。私有云最大CPU数量和内存数量可表示为CPU*和Mem*。也就是说,在时间轴上的任何一点私有云上的所消耗的资源不能超过CPU*和Mem*。设任务ai的完工时间为ci,时间轴的最大时间戳S=maxi=1,2,…,nci。设cij为作业tij的完工时间,故我们有若作业tij的开始时间为stij,那么cij可如下计算cij=stij+rij(2)定义如下决策变量zijs(i=1,2,…,n,j=1,2,…,Ti,s=0,1,…,S)。zijs=1表明作业tij的开始时间为s,否则zijs=0.我们可以把此问题描述成整数规划问题,即Minimizethemakespan(Cmax):Cmax=maxi=1,2,…,nci(3)s.t.结合图1,本专利技术云环境下BoT任务的快速调度方法,包含如下步骤:步骤1,信息读取:读取BoT任务的所有参数;步骤2,作业调度:基于读取的参数,确定所有作业的开始时间;所述作业调度方法从作业的失败时刻的下一时刻起确定作业的开始时间,需要结合私有云最大CPU数量CPU*和内存数量Mem*,且满足公式(3)~(5)的约束。作业调度方法具体如下:按照各个作业对VM的配置要求和处理时间,将任务按照处理时间的升序排列组成一个作业执行队列,依次提供满足任务要求的VM,确定每个任务的开始时间,以保证整个任务最小化makespan,作业调度的具体步骤如下:(1)接收一个作业执行队列;(2)如果队列为空,则转到(7);否则,转到(3);(3)从队列取出一个作业ti,其要求的VM类型VMi由云Cj提供,处理时间为timei,转到(4);(4)记s=0,转到(5);(5)在Cj中,从s时刻开始寻找Cj中是否有连续个timei个时间段能够满足VMi的配置要求,如果能够找到,则记录s为ti的最早开始时间,并将此时间段的资源按照VMi的配置分配,转到(2);否则,转到(6);(6)记最后一个无法满足VMi配置的时刻为e,令s=e+1,转到(5);(7)结束。步骤3,作业执行:按照步骤2的结果执行各个作业。下面结合具体实施例对本专利技术做进一步详细描述。实施例1步骤1,信息读取:设有一个BoT任务a,任务包含5个作业,即a={t1,t2,t3,t4,t5}CP0的资源上限如表1所示,各种VM的配置如表2所示,在本例中所有作业要求的VM由CP0提供。表1云提供的资源上限云CPU数量内存数量CP033表2VM类型的配置和单价VM类型CPU数量内存数量VM111本文档来自技高网...
一种云环境下BoT任务的快速调度方法

【技术保护点】
一种云环境下BoT任务的快速调度方法,其特征在于,步骤如下:步骤1,信息读取:读取BoT任务的所有参数;步骤2,作业调度:基于读取的参数,确定所有作业的开始时间;步骤3,作业执行:按照步骤2的结果执行各个作业。

【技术特征摘要】
1.一种云环境下BoT任务的快速调度方法,其特征在于,步骤如下:步骤1,信息读取:读取BoT任务的所有参数;步骤2,作业调度:基于读取的参数,确定所有作业的开始时间;步骤3,作业执行:按照步骤2的结果执行各个作业。2.根据权利要求1所述的云环境下BoT任务的快速调度方法,其特征在于,所述BoT任务的所有参数包括:所有BoT任务中各作业的处理时间,各任务所需的VM类型。3.根据权利要求1所述的云环境下BoT任务的快速调度方法,其特征在于,所述基于读取的参数,确定所有作业的开始时间,所采用的作业调度方法如下:假设一个私有云CP0,私有云提供了k个VM类型,分别为VM1,VM2,…,VMk;每个VMq都用两个配置参数来描述:该VM所能提供的CPU数量CPUq和内存的数量Memq,q=1,2,…,k;一共有n个BoT任务a1,a2,…,an,每个任务ai包含Ti个作业用一个参数xiq表示ai是否需要VMq,如果需要则xiq=1;否则,xiq=0;每个作业的处理时间为rij,其中i=1,2,…,n,j=1,2,…,Ti;时间轴以1小时的粒度离散化,私有云最大CPU数量和内存数量分别表示为CPU*和Mem*,即在时间轴上的任何一点私有云上所消耗的资源不能超过CPU*和Mem*;设任务ai的完工时间为ci,时间轴的最大时间戳S=maxi=1,2,…,nci;设cii为作业tij的完工时间,故有:若作业tij的开始时间为stij,那么cii如下:cii=stij+rij(2)定义决策变量zijs,i=1,2,…,n,j=1,2,…,Ti,s=0,1,…,S;zijs=1...

【专利技术属性】
技术研发人员:孙晋张毅董韵冒晶晶孙露露何爱清张华旭龚炎
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏,32

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

1