一种最大化虚拟机利润的调度方法与装置与流程

文档序号:11154573阅读:277来源:国知局
一种最大化虚拟机利润的调度方法与装置与制造工艺

本发明涉及任务调度技术领域,尤其涉及一种最大化虚拟机利润的调度方法、调度装置。



背景技术:

云计算随着虚拟化、网格计算、Web计算、效用计算及相关技术的进步而不断发展,可以通过互联网或者企业内部网按需提供计算平台和应用。云计算允许配置的共享、软件的聚合,以及按需提供计算和存储的网络资源。云计算的主要优势包括隐藏和抽象化了网络的复杂性,虚拟化资源,以及有效地利用分布式资源。云计算被公认还处于其初始阶段,还有许多问题亟待解决。在本章中,我们主要关注云计算架构中的IaaS(基础设施即服务)层。随着云计算的大规模运用,最大化利润逐步成为网络服务提供者最为关心的问题之一。我们主要考虑云数据中心中虚拟机分配的最大化利润问题。例如,亚马逊提供两种不同类型的服务:在线请求式服务和临时性。请求式服务更贵且有一个固定的价格。临时性服务比请求式服务要便宜,然而服务提供者根据临时的价格有可能提早终止服务。第三种选择是预订。预订需要预先确定一个固定的时间长度。调度算法根据预先确定的时间将相邻时间的请求组合在一起。图1显示了一个带权的虚拟机(VM)预订请求的例子,ID、si、fi、ci、wi分别表示编号、开始时间、结束时间、容量请求、请求的权重。有占用指定物理机容量1/8、1/4、1/2的三种类型的虚拟机。本例中,有一组6个虚拟机的请求,分别是 vm1(1,0,6,0.25,2)、vm2(1,1,4,0.125,1)、vm3(1,3,8,0.5,3)、vm4(2,3,6,0.5,4)、vm5(2,4,8,0.25,5)、vm6(2,5,9,0.25,6),其中vm1(1,0,6,0.25,2)表示vm1从时刻0开始,在时刻6结束,权重为2,并且请求的容量是指定物理机容量的0.25。其余的请求也遵循相同的格式。最大化利润的问题可以通过我们提供的新模型建模,即考虑容量共享的带权区间调度(WISWCS)问题。机器和任务是调度问题中的基本元素。机器代表资源,任务代表需要使用资源来解决的请求。固定时间的区间调度表示每个请求有固定的开始时间和结束时间。基本的区间调度问题:给定n个区间[sj,fj],(开始时间)sj<(结束时间)fj,j=1,...,n。基本的区间调度问题的目标是用最少的机器处理完所有的任务请求,即找到一个机器的任务安排序列,且使用最小数量的机器完成任务。

云计算数据中心的计算资源主要包括存储、计算、实时存储与计算、超大规模系统、网络体系结构。其具备三大显著特点:一是超大规模,包括机器的数量、用户的数量和并发任务的数量;二是资源整合,成千上万台的服务器资源能集合起来做一件事情,比如存储大量数据,或者处理一个大型任务;三是灵活与快速交付,大规模的服务器资源能进行灵活的调配,按应用需求分解成若干个虚拟的资源池,快速地支持大量的并发请求或作业。

数据中心容纳的计算设备资源,属于网络基础资源的一部分,为各类媒体、企业、网站提供安全、高端、快速的数据传输服务。任何一个企业都会对其运营成本投入足够的重视,将成本用在最合适的地 方,尽力削减不必要的开支,在支出和收入方面还要同时进行优化,这样才能将利润最大化。而考虑到IT数据中心的特殊性,实现利润最大化与以下两方面息息相关。第一,硬件成本。数据中心的硬件成本通常可分为建设成本、能耗成本及维护成本三类,而能耗成本主要来自电力和冷却。第二,运营成本。数据中心运营成本在很大程度上取决于运营标准,因此比较难以描述。然而在通常意义上,对于相同条件的支出,尽可能提高收入的额度,则能够增大利润的幅度,即提高单位产出比。绿色数据中心已经成为当今众多IT企业的发展战略,有效利用数据中心的计算和存储资源,不仅可以降低机器对环境的影响,还可以为每个企业提供一种最前沿、最科学、最核心的绿色理念:利润最大化。

对于每个特定的虚拟机任务请求,创造的利润价值有可能与请求的资源容量不成正比,或者在使用相同物理资源设备的情况下,创造的利润价值偏低。鉴于此种情况,任务请求并不是百分之百响应的,需要根据具体的请求参数考虑实际的响应比例。

通过对特定虚拟机任务序列的选取,在有限物理资源背景下达到利润的最大化,此类问题不能简单归类为传统的带权区间调度问题,每一台物理服务器的计算和存储资源正常情况下都应该被多个任务分享,然而传统的区间调度算法并不能解决多个区间可同时占用同一资源的调度安排问题。



技术实现要素:

本发明要解决的技术问题是:提供一种最大化虚拟机利润的调度 方法、调度装置,能够在有限物理资源背景下达到利润的最大化。

为解决上述技术问题,第一方面,本发明实施例提供了一种最大化虚拟机利润的调度方法,所述方法包括以下三步骤:

按照任务(虚拟机请求)权重值降序排列任务,若它们的权重值相同,优先考虑具有较短跨度的任务,否则任意分配,wi记为Ii的权重值;其中虚拟机VM请求(请求由VM开始时间,结束时间和需求容量,权重值等参数定义),请求i标记成Ii

从第一个请求开始,取第一台物理机,如果VM请求可以共享容量,那么将其分配在该物理机上,将权重w与物理机上之前的权重值相加为w[i],并将任务Ii添加大集合S(i)中;否则分配请求到一台新的物理机,重新记录权重于w[j],并将任务Ij添加大集合S(j)中,重复上述过程,直到所有请求处理完毕;

将w的值按照降序排列,w中最大值w[1]和对应的是S(1)是第一台物理机的优化值;w中第二最大值w[2]和对应的是S(2)是第二台物理机的优化值;以此类推,直到最后一台物理机。

根据第一方面,在第一种可能的实现方式中,每台机器在任意时刻最多能处理一个任务请求;一旦作业被分配给了机器,在处理时不允许被中断,也不可以把它迁移到另外一台机器上重启,并且所有的机器都是同构的;

根据第一方面,在第二种可能的实现方式中,总的时间跨度[0,T]在离散的时间域上划分成长度相等的时隙s0,总的时隙数是k=T/s0,且为整数。开始时间si和结束时间fi是整数,每个任务的区间可以在 格式化后的时隙轴上表示出来(用开始时间和结束时间)(参考图6)。

根据第一方面,在第三种可能的实现方式中,每个任务要求的资源容量都是正实数且属于(0,1];每台机器的容量都被归一化为1。

根据第一方面的第三种可能的实现方式,在第四种可能的实现方式中,如果一组区间序列中的任意两个区间在时间上都没有重叠,也就是说任意一个区间i的结束时间早于区间j的开始时间(fi<sj),或者任意一个区间i的开始时间晚于区间j的结束时间(fj<si),则称这个区间序列是可相互兼容的;更一般地说,如果区间序列A中的任意两个区间i,j∈A,i≠j,都是可相互兼容的,则称区间序列A可兼容。

根据第一方面或第一方面的上述任一种可能的实现方式,在第五种可能的实现方式中,每个区间都带有一个权值;所有的区间都只请求任意资源设备的一部分容量,而不是全部占有。(不同的区间可以共享某台机器,只要这些区间占用的容量之和不超过这台机器能够提供的最大容量即可。)

根据第一方面的第五种可能的实现方式,在第六种可能的实现方式中,对于任意一个虚拟机请求,产生的权重与利润最大化相关,最大化利润问题(MPP)可归为:

(式2)

VMj∈[sj,ej] (式3)

其中,gi表示PMi的总容量,式2表示容量的约束,式3是对每个请求的固定区间约束。

第二方面,本发明实施例提供了一种最大化虚拟机利润的调度装置,所述装置三大模块包括:

排序模块,按照任务(虚拟机请求)权重值降序排列任务;

分配模块,用于按照所述执行顺序分配任务(虚拟机请求);

输出模块,用于将w任务(虚拟机请求)权重值w按照降序排列并记录对应的集合S。

根据第二方面,在第一种可能的实现方式中,所述排序模块:按照任务(虚拟机请求)权重值降序排列任务,若它们的权重值相同,优先考虑具有较短跨度的任务,否则任意分配。

根据第二方面,在第二种可能的实现方式中,所述分配模块:

从第一个请求开始,取第一台物理机,如果VM请求可以共享容量,那么将其分配在该物理机上,将权重w与物理机上之前的权重值相加为wi,并将任务Ii添加大集合S(i)中;否则分配请求到一台新的物理机,重新记录权重于wj,并将任务Ij添加大集合S(j)中,重复上诉过程,直到所有请求处理完毕;

根据第二方面,在第三种可能的实现方式中,所述输出模块:

将w的值按照降序排列并记录对应的集合S,w中最大值w1和对应的是S(1)是第一台物理机的优化值;w中第二最大值w2和对应的是S(2)是第二台物理机的优化值,以此类推,直到最后一台物理机。

第三方面,本发明实施例提供了一种最大化虚拟机利润的调度装置,包括第二方面或第二方面任一种可能的实现方式所述的调度装置。

第四方面,本发明实施例提供了一种最大化虚拟机利润的方法,其特征在于,所述最大化虚拟机利润的方法使用第一方面或第一方面任一种可能的实现方式所述的方法进行分配。

附图说明

图1是VM请求的例子示意图;

图2是本发明一种最大化虚拟机利润的调度方法的流程图;

图3是本发明一种最大化虚拟机利润的调度装置的结构示意图;

图4是带权区间调度问题(WIS)示例;

图5是共享容量的带权区间调度问题(WISWCS)示例。

图6是时间轴上的格式化时隙;

图7是一种针对可共享容量的带权区间调度问题的准确的调度算法示意图;

具体实施方式

下面根据附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。

为了更好的理解本发明,现对本发明实施例中涉及到的术语做如下说明:

如图2所示,本发明实施例提供了一种最大化虚拟机利润的调度方法,该方法包括步骤:

S101.按照任务(虚拟机请求)权重值降序排列任务,若它们的权重值相同,优先考虑具有较短跨度的任务,否则任意分配,wi记为Ii的权重值;其中虚拟机VM请求(请求由VM开始时间,结束时间和需 求容量,权重值等参数定义),请求i标记成Ii

S102.从第一个请求开始,取第一台物理机,如果VM请求可以共享容量,那么将其分配在该物理机上,将权重w与物理机上之前的权重值相加为w[i],并将任务Ii添加大集合S(i)中;

S103.否则分配请求到一台新的物理机,重新记录权重于w[j],并将任务Ij添加大集合S(j)中,重复上述过程,直到所有请求处理完毕;

S104.将w的值按照降序排列,w中最大值w[1]和对应的是S(1)是第一台物理机的优化值;w中第二最大值w[2]和对应的是S(2)是第二台物理机的优化值;以此类推,直到最后一台物理机。

本领域技术人员可以理解,在本发明各实施例的方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明具体实施例的实施过程构成任何限定。

如图3所示,本发明实施例还提供了一种最大化虚拟机利润的调度装置的结构示意图300,该装置300包括:

排序模块310,用于为每个任务按照权重排序。

分配模块320,用于根据任务属性,分配任务到具体的物理机上。

输出模块330,用于用于将w任务(虚拟机请求)权重值w按照降序排列并记录对应的集合S。

以下通过具体实例来进一步说明本发明各实施例。

以图5中的例子来描述针对WISWCS问题的算法如何工作,算法示 意图参考图7。

①将所有请求按照权重非递增的顺序进行排序,即I4(w4=7),I3(w3=4),I2(w2=4),I5(w5=2),I1(w1=2),I6(w6=1)。

②j=1,I4(w4=7,c4=0.125)被选中,I4被分配到第一台(d=1)机器上。w[1]=w4=7,S(1)={I4}。

③j=2,I3被选中,它的权重w3=4(持续时间短于I2),请求容量c3=0.25。由于第一台机器现有区间的容量仍可以容纳下I3,I3也被分配给第一台机器。w[1]=w4+w3=11,S(1)={I4,I3}。

④j=3,I2(w2=4,c2=0.5)被选中,由于第一台机器现有区间的容量仍可以容纳下I2,它被分配给第一台机器.于是有w[1]=w3+w4+w2=15,S(1)={I3,I4,I2}。

⑤j=4,I5(w5=2,c5=0.5,持续时间短于I1)被选中,第一台机器现有区间的容量仍可以容纳下I5所请求的容量,所以I5也被分配到第一台机器。w[1]=w3+w4+w2+w5=17,S(1)={I3,I4,I2,I5}。

⑥j=5,I1(w1=2,c1=0.5)被选中,第一台机器现有的区间容量已经无法容纳I1,所以它被分配到第d=1+1=2台机器上。w[2]=w1=2,S(2)={I1}。

⑦j=6,I6(w6=1,c6=0.5)被选中,第一台机器已经无法容纳I6,但是二台机器可以容纳,所以I6被分配到第二台机器上。w[2]=w1+w6=3,S(2)={I1,I6}。

通过上面的步骤,最佳子集是{I3,I4,I2,I5},它的总权重为17。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一台计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1