一种混合云环境下具有预算约束的BoT任务的调度方法与流程

文档序号:11176937阅读:518来源:国知局
一种混合云环境下具有预算约束的BoT任务的调度方法与流程
本发明涉及一种混合云环境下具有预算约束的bot任务的调度方法,属于云计算领域。
背景技术
:云计算旨在通过互联网将可用资源(包括计算资源、平台资源和应用资源)以服务的形式提供给用户。用户以“用多少、付多少”的方式使用这些资源。因此,云计算特别适合处理那些需要大量计算资源的任务。bag-of-tasks(bot)任务是一类包含多个可并行处理作业的任务。bot任务是指包含多个可并行处理作业的任务,广泛存在于计算机视频、图片处理、蒙特卡罗仿真的科学和工程领域。由于云计算新颖的收费方式,使得用户非常愿意将bot任务放在云上处理,这样就能避免购置大量计算设备,在有限预算的情况下有效处理bot任务。事实上,很多用户(包括企业或者机构)都已有一些有限资源的计算设备(可称为私有云),当计算资源不足以处理bot任务时,用户将一些作业放置公有云上处理。因此,在这样的混合云环境下,如何在给定预算的情况下有效调度bot任务使得最大完工时间(即makespan)最小化是一个急需解决的重要问题。技术实现要素:本发明针对上述不足提供了一种混合云环境下具有预算约束的bot任务的调度方法。本发明采用如下技术方案:一种混合云环境下具有预算约束的bot任务的调度方法,步骤如下:(1)按照预先设定的公有云数据及私有云数据总量,读取bot任务的所有参数;其参数包括bot任务中每个作业中的不同vm类型的计算时间,每个vm类型的价格及公有云、私有云数据总量;(2)基于根据步骤(1)读取的参数通过调度算法确定所有作业的调度方案;调度方案包括针对vm类型的计算时间从小到大排列得到作业序列seq,将seq中的作业逐个安置到一个云和vm类型上,使得cmax的增长量最小且满足约束条件;(3)按照步骤(2)的设定开始时间和vm类型创建vm实例然后启动vm并执行各作业。本发明所述的混合云环境下具有预算约束的bot任务的调度方法,所述的步骤(2)中约束条件以下运算式进行约束;h=0myijh=1,i=1,2,…,n,j=1,2,…,tii=1nq=1kj=1tizijsxijqcpuq≤cpu*,s=0,1,…,si=1nq=1kj=1tizijsxijqmemq≤mem*,s=0,1,…,si=1nj=1tih=1mq=1kyijhxijqphqrijq≤b。有益效果本发明提供了一种混合云环境下具有预算约束的bot任务的调度方法,该方法考虑bot任务中每个作业在不同vm上的处理时间,有效的将作业安排在私有云或公有云上并安排至合适的vm上,从而在满足预算的前提下最小化makespan。附图说明图1是本发明的计算流程示意图。具体实施方式为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围:一种混合云环境下具有预算约束的bot任务的调度方法,(1)、按照预先设定的公有云数据及私有云数据总量,读取bot任务的所有参数;其参数包括bot任务中每个作业中的不同vm类型的计算时间,每个vm类型的价格及公有云、私有云数据总量;(2)、基于根据步骤(1)读取的参数通过调度算法确定所有作业的调度方案;调度方案包括针对vm类型的计算时间从小到大排列得到作业序列seq,将seq中的作业逐个安置到一个云和vm类型上,使得cmax的增长量最小且满足约束条件;(3)、按照步骤(2)的设定开始时间和vm类型创建vm实例然后启动vm并执行各作业。根据上述概述,设定一个私有云cp0和m个公有云cp1,cp2,…,cpm.这些云平台共提供了k个vm类型,分别为vm1,vm2,…,vmk.由cp0或者cp1,cp2,…,cpm提供的vmq(q=1,2,…,k)可表示为vmq∈cp0或vmq∈cph。每个vmq(q=1,2,…,k)都用两个配置参数来描述(cpuq和memq),分别表示该vm所能提供的cpu数量和内存的数量。私有云的所有资源都是免费使用的。公有云cph(h=1,2,…,m)每个vmq∈cph的每小时单价。设定有n个bot任务a1,a2,…,an。每个任务ai(i=1,2,…,n)都有di的数据并包含ti个作业ti1,ti2,…,titi。每个作业在vmq上的处理时间为rijq(i=1,2,…,n,j=1,2,…,ti,q=1,2,…,k)。时间轴以1小时的粒度离散化。私有云具有有效的资源,且最大cpu数量和内存数量可表示为cpu*和mem*。也就是说,在时间轴上的任何一点私有云上的所消耗的资源不能超过cpu*和mem*。所有的公有云都有无限的可用资源。设任务ai的完工时间为ci,时间轴的最大时间戳s=maxi=1,2,…,nci。设cij为作业tij的完工时间,故我们有ci=maxj=1,2,…,ticij(1)若作业tij被安排至cp0且放置于vmq开始时间为stij,那么cij可如下计算cij=stij+rijq(2)定义如下3个决策变量xijq(i=1,2,…,n,j=1,2,…,ti,q=1,2,…,k),yijhi=1,2,…,n,j=1,2,…,ti,h=1,2,…,m和zijsi=1,2,…,n,j=1,2,…,ti,s=0,1,…,s。xijq=1表示作业tij安排至vmq,否则xijq=0.yijh=1表示作业tij被安排至cph,否则yijh=0.zijs=1表明作业tij被安排在cp0且开始时间为s,否则zijs=0.基于这三个决策变量,我们有ci=maxj=1,2,…,ti,q=1,2,…,k,h=1,2,…,mxijqzijs(s+rijq)xijqyijhrijq(3)设所有bot任务的总预算为b,我们可以把此问题描述成整数规划问题,即minimizethemakespan(cmax):cmax=maxi=1,2,…,nci(4)s.t.h=0myijh=1,i=1,2,…,n,j=1,2,…,ti(5)i=1nq=1kj=1tizijsxijqcpuq≤cpu*,s=0,1,…,s(6)i=1nq=1kj=1tizijsxijqmemq≤mem*,s=0,1,…,s(7)i=1nj=1tih=1mq=1kyijhxijqphqrijq≤b(8)实施例一:(1)信息读取:设有两个bot任务标记a1,a2,每个任务包含2个作业,即a1={t11,t12}和a2={t21,t22}。cp0提供一个vm类型vm1和vm2,cp1提供两个vm类型vm3和vm4。其配置和单价如表1所示表1vm类型的配置和单价vm类型cpu数量内存数量单价vm1110vm2220vm3333vm4444各作业在各vm类型上的处理时间如表2所示表2各作业在各vm类型上的处理时间作业vm1vm2vm3vm4t1112643t12241286t213618129t2248241612cp0的cpu总量和内存总量分别为4和4,总预算为36。(2)作业调度:调度策略有两步:1.将所有作业按照最佳vm类型上的处理时间,由小到大排列得到作业序列seq;2.将seq中的作业逐个安置到一个云和vm类型上,使得cmax的增长量最小且满足公式(5)-(8)的约束条件。显然,第一步的结果为seq=(t11,t12,t21,t22)。第二步的过程和结果如表3所示表3作业的处理过程和结果处理作业vm类型云开始时间剩余预算cmaxt11vm4cp10243t12vm4cp1006t21vm2cp00018t22vm2cp00024(3)作业执行:按照表2的开始时间和vm类型创建vm实例然后启动vm并执行各作业。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1