一种云计算数据中心离线节能调度的方法与装置制造方法

文档序号:6487203阅读:238来源:国知局
一种云计算数据中心离线节能调度的方法与装置制造方法
【专利摘要】本发明实施例公开了一种实现数据中心离线节能调度的方法及装置,所述方法包括:本发明实施例针对的应用场景为离线调度,即调度系统知晓一段时间内前来的所有任务以及其生命周期,调度的时候可以从全局出发统筹规划数据中心虚拟机的分配方案以达到降低数据中心能耗的效果。调度系统首先对虚拟机任务请求按照其开始使用时间升序排列任务,并按此顺序分配。在分配虚拟机任务请求的时候以物理服务器的编号为优先级,依次把优先级高的物理服务器分配满了之后再考虑分配优先级次高的物理服务器。这样通过对物理机资源合理有效的利用,使物理服务器的总的开机时间降低,从而达到降低数据中心能耗的目的。
【专利说明】一种云计算数据中心离线节能调度的方法与装置
1.【技术领域】
[0001]本发明涉及计算机通信【技术领域】,特别涉及一种实现降低数据中心能耗的方法及装置。
2.【背景技术】
[0002]本发明涉及云计算数据中心节能的技术。云计算时代,如何对数据中心的资源进行高效和经济的管理是一个具有挑战性的问题。数据中心消耗了大量的能源,同时带来了环境污染。因此设计合理的节能调度算法对数据中心的资源进行管理,降低数据中心的能耗、减少运营成本、减少能源消耗对环境的污染具有十分重要的意义。虽然当前已经存在一些数据中心节能调度算法如轮叫调度算法,Modified Best Fit Decreasing(MBFD)算法,但它们没有具体考虑虚拟机任务的生命周期或与我们设计的算法的应用场景不一样,所以很难达到理想效果。
[0003]轮叫调度算法的技术方案:轮叫调度是最常用的调度算法,该算法把接收到的虚拟机任务请求依次分配到每个物理 服务器以达到负载均衡的效果。该算法的优点是简单易行,不过当物理服务器资源大小或虚拟机任务请求的大小不一样的时候,该算法效果会差一些。
[0004]轮叫调度算法轮转的物理服务器是已经开启的物理服务器。将物理服务器依次编号,轮叫调度算法首先将第一个虚拟机任务请求分配给编号为I的物理服务器,当第二个虚拟机任务请求到来的时候将请求分配给第二个物理机,依次类推,每分配一个虚拟机任务请求后,都将下一次要分配的物理服务器的编号加1,直到物理服务器的编号指向最后一个物理服务器,这时再从新分配虚拟机任务请求给第一个物理服务器。如果分配给某个物理机失败,即资源不够则编号加I继续寻找物理服务器,如果所有物理服务器都分配失败,则新开启一台物理机分配,并将该物理机加入轮询队伍。最开始的时候只开启一台物理机。
[0005]Modified Best Fit Decreasing (MBFD)算法的技术方案:该算法是 AntonBeloglazov 等在 Energy-Aware Resource Allocation Heuristics for EfficientManagement of Data Centersfor Cloud Computing中提出的数据中心节能算法,该算法的主要思想是首先将虚拟机任务请求根据CPU容量大小进行降序排列,然后依次从队首将虚拟机任务请求取出,再遍历所有物理服务器,找到资源足够分配该虚拟机的那些物理服务器,依次计算这些物理服务器分配该虚拟机任务请求后增加的能耗,然后将虚拟机任务请求分配到增加能耗最小的物理服务器。
[0006]在实现本发明过程中,发明人发现现有技术中至少存在如下问题:1、上述的节能调度方法没有考虑虚拟机任务请求和物理机资源异构的情况。2、没有考虑虚拟机任务的生命周期。3、与本算法的应用场景不一样,本算法考虑的是对于离线任务的分配,主要适合虚拟机任务请求都是预订的应用场景。
[0007]因此本发明设计一个考虑虚拟机生命周期的离线不延时算法,在对数据中心资源进行管理的时候考虑了虚拟机任务请求的生命周期,算法针对的应用场景为所以虚拟机任务请求都是离线的情况,即调度系统知晓一段时间内前来的所有虚拟机任务以及其生命周期。同时算法调度的虚拟机资源和物理机资源也包括很多种类型。
3.
【发明内容】

[0008]本发明的应用场景是用户提交使用虚拟机的请求给调度系统,调度系统接收到用户提交的虚拟机任务请求,根据任务请求的需求和当前云数据中心的物理服务器的资源使用情况找到合适的物理服务器,然后将相应请求的虚拟机部署在该物理服务器上供用户使用。节能算法主要是判定将哪个虚拟机请求分配到哪个物理服务器上,并结合适当的迁移,使数据中心开启的物理服务器的数量降低,让整个数据中心消耗的能耗尽量最少。
[0009]用户提交的请求包括的信息有请求的开始时间、请求的持续时间、请求的虚拟机的规格大小。
[0010]图1描述了云数据中心调度算法的应用场景。算法每个阶段和步骤的含义可以简单描述如下:
[0011]I)提交虚拟机请求:用户根据自己的需要,将需要使用的虚拟机任务请求通过云服务商提供的网页提交给调度系统;
[0012]2)找到最佳资源点:调度系统根据自己的调度算法结合物理服务器的使用情况和虚拟机任务请求的信息,在数据中心找到合适的资源,将请求分配给该资源;
[0013]3)执行调度任务:在找到最佳资源后,需要完成相应的虚拟机的部署,以及物理服务器相应的开关机等一系列功能;
[0014]4)更新资源信息 :物理服务器分配资源后,当前数据中心的物理服务器的使用信息会发生变化,调度系统需要从监控系统(专门负责监控数据中心里资源的使用情况)中获取物理服务器最新信息并更新。
[0015]本发明涉及到的能耗模型:
[0016]根据上面的测试数据和结果同时结合其它已有研究成果,可以得出结论:物理服务器的功率是与CPU的利用率成正比关系的。获取CPU利用率为O时的功率值Pmin和CPU利用率为100%时的能耗值Pmax得出物理服务器功率和CPU利用率之间的关系如下:
[0017]P = Pmin+(Pmax-Pmin)(I)
[0018]其中P为物理服务器的功率,Pmin为物理服务器的利用率为O时的功率,Pmax为物理服务器的利用率为100%时的功率,u为物理服务器的利用率。
[0019]物理服务器在一段时间内消耗的总能耗值为:
[0020]E = ^ Ρ{μ{?^)--⑵
[0021]其中E为物理服务器在时间h到时间这段时间的能耗消耗总和。P(u(t))为关于利用率U的函数,而u (t)为关于时间t的函数,为了方便计算物理服务器的能耗,本论文认为物理服务器在分配了某个虚拟机任务请求后,它的利用率一直是一个定值,不会发生变化,直到有新的虚拟机分配到该物理机或有虚拟机从该物理机上离开。所以公式(2)中的P(u(t))可以直接和公式(I)中的P直接等同。则公式(2)可以简化为:
[0022]E = PX (trt0) (3)
[0023]在分配了虚拟机到物理服务器后,本发明假设虚拟机实际使用的CPU大小就是虚拟机提交请求时要求的大小,所以分配虚拟机后物理服务器增加的CPU利用率计算方式为:
[0024]
【权利要求】
1.为了统一需求规格和简化调度管理,本发明提出一致化的资源视图,本发明使用的资源包括8种规格的虚拟机和3种规格的物理机。物理服务器资源总共有三类(Typel、Type2、Type3),虚拟机资源有8类(1、2、3、4、5、6、7、8)。其中虚拟机类型1、2、3只能分配在物理服务器Typel上,虚拟机类型4、5、6只能分配在物理服务器Type2上,虚拟机类型7、8只能分配在物理服务器Type3上。详见表1和表2。 表1虚拟机8种规格
2.资源初始化方法:包括生成虚拟机请求信息和物理机信息及设置最长运行时间间隙。虚拟机请求信息是初始化的时候把所有请求都一次性全部生成,包括请求的编号、请求的开始时间、请求的结束时间、请求使用的资源的大小(CPU)。初始化物理机的时候把他们每个时隙的物理机可用资源初始化为物理机的最大资源,初始时所有物理机都是处于关机状态。
3.资源能耗模型和计算方法:针对在线资源调度,本发明建议了物理机和虚拟机能耗模型,以及与利用率和运行时间相关的能耗计算公式,详见说明书。
4.资源分类排队方法:把虚拟机的请求按照他们所应分配的物理机类型分别分成多个队列。物理机也根据他们不同的类型分成多个队列。这样在调度的时候不同虚拟机队列都依次与他们所对应的不同物理机队列一对应。这种方法还可以拓展至更多种类的资源。
5.物理服务器开启方法:一开 始每种类型的物理机队列中的物理机都只有一台,当分配不能成功的时候再考虑增加物理机,当使用的物理机达到数据中心提供的物理机数量上限时,则拒绝虚拟机任务请求。分配成功时如果该物理机是关机状态,则将物理服务器开启。更新物理机上相应时隙的剩余资源大小。同时将虚拟机请求从请求队列中删除,并加入删除队列。
6.物理机的优先级确定方式:对于同一类型的物理机,以编号确定其优先级。一旦物理机的编号确定,它的优先级就定了。
7.虚拟机分配方法:首先确定虚拟机任务请求的类型,调度系统首先对虚拟机任务请求按照其容量大小(综合考虑CPU,内存和存储容量大小)降序排列任务,并按此顺序分配。然后将他分配到对应类型的物理机队列中优先级最高的那个物理机,如果该物理机的资源足够即分配成功,否则取出下一个优先级次高的物理机进行分配,直至分配成功。由于每次分配的时候都是从优先级最高的那个物理机上分配,所以总能保证把一个物理机服务器分配满后再使用下一个物理机。
8.延时分配方法:如果物理机队列中的所有物理机都不能成功分配,则首先考虑将虚拟机的开始时间延后一个时隙,再尝试重新分配,如果此时能分配成功则分配,如果不能则再继续将虚拟机的开始时间延后一个时隙尝试分配,直到虚拟机的开始时间达到最大可延迟的时间为止。如果此时都还不能成功分配,则为延时分配失败。延时分配失败后,此时查看是否还有可用物理机资源,有则新开一台物理机,将虚拟机分配在该物理机上。同时将该物理机加入相应类型队列的末尾。如果没有物理机资源了,则拒绝虚拟机任务请求。
9.虚拟机迁移方法:每隔一段时间都要进行虚拟机迁移,具体迁移时间由数据中心的负载和具体业务特征决定,一般可设定为每天晚上用户使用虚拟机高峰期过后的时间段,迁移次数不宜太多以避免系统震荡导致的不稳定性。具体迁移算法如下,将虚拟机数量最少的物理服务器上面的虚拟机依次取出,并重新分配到其他物理服务器上,如果该物理服务器的虚拟机全部取出则继续取虚拟机数量次小的物理服务器上面的虚拟机进行迁移,直到不能迁移为止。
10.虚拟机删除:查看删除队列中的请求,如果有请求的结束时间已到,则将请求从物理机删除。如果该物理服务器上没有其他虚拟机运行,则将物理服务器关机。然后将该请求从删除队列中删除。
【文档编号】G06F9/455GK103577265SQ201210258818
【公开日】2014年2月12日 申请日期:2012年7月25日 优先权日:2012年7月25日
【发明者】田文洪 申请人:田文洪
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1