一种云环境数据中心多维资源调度方法
技术领域
本发明属于云计算领域,具体涉及一种云环境数据中心多维资源调度系统及方法,用于对云计算多租户环境下数据中心池化资源的高效调度。
背景技术
随着信息产业的快速发展以及互联网的广泛普及,IT基础设施作为信息服务能力提供的运行平台起到了至关重要的作用。急剧攀升的IT资源需求与单一昂贵的资源提供方式之间的矛盾,使传统IT产业高成本、低效率、高能耗的问题面临着前所未有的严峻挑战。研究报告表明,数据中心每年的投入成本中有超过50%的资金开销用于基础设施的电能和制冷消耗,而服务器的资源平均利用率却仅仅维持在15%-30%左右,并且预计到2011年70%以上的美国企业数据中心将切实面临与场地、能耗或成本有关的困扰。由此可知,现代数据中心迫切需要降低基础设施的投入与维护,实现资本效益的最大化。在谷歌2006年首次提出云计算(请参考CloudComputing,http://en.wikipedia.org/wiki/Cloud_computing)概念之后,由于以基于虚拟化技术支撑的共享资源池高度复用、灵活可扩展等为核心的资源提供模式正好符合了当前信息产业高效融合的发展趋势,因此基于云环境的资源管理机制受到工业界和学术界越来越多的重点关注和深入研究。
云计算提供了新型计算模式,而虚拟化数据中心作为云计算的实现手段,良好的支持了多租户的系统架构。多租户模式允许不同的用户各自提交不同的应用请求,但是底层的公共池化资源却是一致化共享的,于是造成了共享与多租户差异化需求之间的矛盾,一种良好的解决手段就是利用虚拟化技术设计高效的多维资源调度策略。
虚拟化技术实现了底层物理基础设施和上层操作系统、应用软件的解耦合,为IT资源的利用率和灵活性需求提供了最大化技术保障。作为虚拟化管理的主要组成部分,虚拟机管理层面(VMM,VirtualMachineManagement)主要负责对封装好的虚拟机单元发送相应指令,完成虚拟化进程的创建、虚拟机迁移和共享资源的撤销与回收等。作为应用请求的承载实体,VMM对虚拟机单元的调度控制直接表现为对应用请求和共享资源的管理,基于虚拟化技术的服务器聚合正是解决这一现状的最直接、最有效手段,通过允许多台虚拟机在同一物理宿主服务器上同时运行,能够明显降低空载或低载服务器的数量,从而达到节省能耗的目的。
现有的致力于提供高效调度方案的研究成果中存在着一定的局限性。首先,这类策略在制定异构应用的调度策略或组合方案时,通常会以单一类型资源为分配对象,或者采用形式化方法将系统资源抽象作为独立的能力单位。如文献(M.Aron,P.Druschel,andW.Zwaenepoel,“Clusterreserves:amechanismforresourcemanagementincluster-basednetworkservers,”inProc.oftheACMSIGMETRICS,Jun.2000.)的作者将服务器视为整体资源进行分配,文献(P.Padala,K.Shin,X.Zhu,M.Uysal,Z.Wang,S.Singhal,A.Merchant,andK.Salem,“Adaptivecontrolofvirtualizedresourcesinutilitycomputingenvironments,”inProc.ofthe2ndACMSIGOPS/EuroSys)采用了类似的资源抽象方法。这些资源描述方式在资源虚拟化场景下缺少一定的实际部署意义,其资源建模方法不能准确地抽象多样化应用对系统资源的异构请求。这种请求需要同时消耗不同类型的各种资源(如CPU的计算能力、内存、存储空间和网络带宽等),同时又具有各自需求偏好的特殊性。其次,另一些研究者(如:A.Singh,M.Korupolu,andD.Mohapatra,“Serverstoragevirtualization:Integrationandloadbalancingindatacenters,”inProc.ofSupercomputing,2008;B.B.Khoo,B.Veeravalli,T.Hung,andC.W.S.See,“Amulti-dimensionalschedulingschemeinaGridcomputingenvironment,”JournalofParallelandDistributedComputing,2007;M.N.GarofalakisandY.E.Ioannidis,“Multidimensionalresourceschedulingforparallelqueries,”inProc.ofACMSIGMOD,1996;BoLi,JianxinLi,JinpengHuai,TianyuWo,QinLi,LiangZhong,"EnaCloud:AnEnergy-SavingApplicationLivePlacementApproachforCloudComputingEnvironments,"cloud,pp.17-24,2009IEEEInternationalConferenceonCloudComputing,2009)尝试在调度中引入多种资源能力这一因素,但他们是从分配可行性角度将单维的约束条件拓展成为多维约束,即单纯作为规划问题的边界条件,而没有将多维资源的效用作为资源分配策略的目标,同时忽视了多种资源之间共耗的相互依赖关系和异构应用资源偏好对系统利用水平的影响。研究成果(A.Singh,M.Korupolu,andD.Mohapatra,“Serverstoragevirtualization:Integrationandloadbalancingindatacenters,”inProc.ofSupercomputing,2008)提出了一种虚拟机布署方案来解决层次式的多维资源约束问题,从而避免特定虚拟环境下出现的热点问题。文献(B.B.Khoo,B.Veeravalli,T.Hung,andC.W.S.See,“Amulti-dimensionalschedulingschemeinaGridcomputingenvironment,”JournalofParallelandDistributedComputing,2007)则是在网格计算环境下,提出了一种通过使用无量纲计算指标来满足任务多维资源需求的方法。文献(BoLi,JianxinLi,JinpengHuai,TianyuWo,QinLi,LiangZhong,"EnaCloud:AnEnergy-SavingApplicationLivePlacementApproachforCloudComputingEnvironments,"cloud,pp.17-24,2009IEEEInternationalConferenceonCloudComputing,2009)重点研究了同构虚拟资源平台上的异构应用性能调度。还有些技术解决多维约束的资源分配时采用的建模方法是著名的向量背包/装箱模型。如EnaCloud(BoLi,JianxinLi,JinpengHuai,TianyuWo,QinLi,LiangZhong,"EnaCloud:AnEnergy-SavingApplicationLivePlacementApproachforCloudComputingEnvironments,"cloud,pp.17-24,2009IEEEInternationalConferenceonCloudComputing,2009)提出了一种实时置换的虚拟机放置策略,该模型假设所有云环境基础设施中的计算节点是同构的,从而将该虚拟机放置问题映射为标准的装箱问题。调度中将占用资源较多的虚拟机与占用资源较少的虚拟机相交换,从而起到提高服务器整合效果的目的。一般说来,向量背包问题都假设每一个容器具有相同的性质即同构同量。然而这种假设在资源共享的云计算环境下往往并不适用,因为在硬件共享环境下通常是由虚拟机充当“容器”的角色,而虚拟机的资源大小可以通过虚拟化技术实现动态的重新分配。相对而言,在解决虚拟化资源调度问题时,不仅要考虑应用性能,还要结合请求中的资源偏好以及资源池中不同资源的稀缺状况制定分配方案。
综上所述,当前的数据中心内资源调度机制在承载多租户的异构性方面都存在一定缺陷,不能很好地满足基于云环境数据中心对资源高效共享的需求。具体来说,目前的数据中心资源管理通常关注一种主要资源的供需情况,忽略了多维资源同时被用户应用所请求的复杂状况。虚拟化技术本身也是多维度资源虚拟化的综合,其中包括了计算能力,如CPU的虚拟化,存储虚拟化,内存虚拟化和网络虚拟化等多个方面,就服务器聚合的角度来看,任何一个维度的资源容量如果不能够满足用户应用的请求,则该应用请求就不能被部署在候选服务器上,或者不能被该数据中心管理域接受。因此,充分且均衡地利用多维度的底层共享资源,能够有效的减少由于单一维度资源容量约束所导致的隐形资源浪费现象。
该场景(指的是不同租户提交需求各异的资源请求,且资源请求中不仅是包含一种资源类型,而是同时包含多种类型的资源。)的形象化描述如下所示:
以CPU和内存两维资源为例,假设当前有四位租户提交了需求各异的资源请求(分别标记为1,2,3,4,其中横坐标为CPU单位,纵坐标为内存单位),如图1所示。
传统以一种资源供需为单视角的调度算法,通常会产生如图2-1所示的结果。图中斜线部分表示剩余资源,且该剩余资源不能满足任何用户的资源请求数量。图2-1中虽然内存被充分利用,但CPU资源剩余较多且因内存容量无几而无法同时利用,隐形浪费现象较为严重。
发明内容
本发明的目的在于解决上述现有技术中存在的难题,提供一种云环境数据中心多维资源调度系统及方法,其是基于多属性决策方法的,旨在根据用户提交的应用请求,充分利用多维资源的互补特性,实现各维度资源近似同步速率的均衡消耗,减少由于资源容量约束引起的隐形资源浪费,提高数据中心综合利用率,降低IT系统成本。
本发明是通过以下技术方案实现的:
一种云环境数据中心多维资源调度系统,所述系统包括用户提交应用请求模块、资源状态采集模块、资源调度模块、应用请求优先级队列模块和虚拟化物理资源池;
所述用户提交应用请求模块用于接收用户提交的应用请求;
所述资源状态采集模块用于采集实时状态信息,并将所述实时状态信息提交到所述资源调度模块;所述实时状态信息包括所述虚拟化物理资源池中的多维资源的状态信息、用户提交应用请求模块中的当前状态下的应用请求集合和应用请求优先级队列模块中的应用请求优先级队列的信息;
所述资源调度模块一方面对所述资源状态采集模块提交的应用请求集合进行优先级排序得到应用请求优先级队列,并将该应用请求优先级队列输出给所述应用请求优先级队列模块,另一方面根据应用请求的优先级进行资源分配完成调度,然后更新原有虚拟化物理资源池中的多维资源的状态信息;
所述应用请求优先级队列模块用于保存所述应用请求优先级队列;
所述虚拟化物理资源池用于将多维资源进行池化抽象并提供服务。
一种利用所述云环境数据中心多维资源调度系统进行资源调度的方法,所述方法首先检测所述资源状态采集模块采集到的虚拟化物理资源池中的多维资源的状态信息和用户提交应用请求模块中的当前状态下的应用请求集合,然后利用多属性决策的应用优先级调度算法,定义适用于虚拟化物理资源池中当前多维资源的状态均衡消耗的应用请求优先级队列,最后将优先级最高且满足资源约束的应用请求提交到云环境数据中心来执行。
所述方法包括以下步骤:
(1)所述资源调度模块接收所述资源状态采集模块实时采集到的当前应用请求集合及虚拟化物理资源池中的多维资源的状态信息;
(2)所述资源调度模块检测当前应用请求集合中的所有待调度的应用请求是否满足资源约束,若都不满足资源约束,则说明当前应用请求集合中的所有应用请求都不能被调度到云环境数据中心来执行,转入步骤(6);否则转入步骤(3);
(3)所述资源调度模块根据多属性决策的应用优先级调度算法对所有待调度的应用请求按照优先级由高至低的顺序进行排序得到应用请求优先级队列,将该应用请求优先级队列中具有最高优先级的应用请求作为当前候选应用请求;
(4)判断所述当前候选应用请求是否满足资源约束,若满足资源约束,则调度该当前候选应用请求,然后更新当前应用请求集合和虚拟化物理资源池中的多维资源的状态信息,返回步骤(1);若不满足资源约束则转入步骤(5);
(5)对所述当前候选应用请求进行标记,然后跳过该当前候选应用请求,并将优先级次高的应用请求作为当前候选应用请求,然后返回步骤(4);
(6)结束,退出调度。
所述步骤(3)中的所述根据多属性决策的应用优先级调度算法得到应用请求优先级队列具体如下:
(31)所述资源调度模块在接收到所述资源状态采集模块实时采集到的当前应用请求集合及虚拟化物理资源池中的多维资源的状态信息后,将它们转化为原始决策矩阵:
首先定义云环境数据中心具有m类基础资源,虚拟化物理资源池的容量表示为向量R=<r1...rm>,其中rj是第j类资源的总量;若该云环境数据中心承载n个应用,那么应用请求集合表示为TAP={APi︱1≤i≤n};每个应用所要执行的任务都需要一定数量的资源,那么应用i所要执行的任务的资源需求向量表示为qi=<qi,1...,qi,j,...,qi,m>,其中qi,j表示应用i的任务对j类型资源的需求数量;
对于用户提交的应用请求集合TAP,每个应用类型APi构成矩阵中的行项,即将n个应用映射为n类候选决策方案{Ai};每类所述基础资源构成矩阵中的列项,即m类资源作为候选决策方案Ai的m维属性,因此每个应用所执行任务的各种类型资源需求即作为该候选决策方案的各维属性的赋值;若某一应用请求中不需要某一维度的资源,则将矩阵中对应的该元素置为0;这样得到原始决策矩阵:
D=(xi,j)n*m(1≤i≤n,1≤j≤m),
其中xi,j表示候选决策方案Ai({Ai}中的一个元素)在属性Xj上的取值,即赋值为qi,j;
(32)标准化变换:对所述原始决策矩阵中每一列元素通过极差变换的方式进行标准化变换,获得标准化矩阵r'i,j:
(1)式中,指的是矩阵第j列中最大的数值,指的是矩阵第j列中最小的数值,其他字母含义与前文中相同;
(33)矩阵归一化:将标准化矩阵r’i,j中的每一列元素通过归一化处理得到归一化矩阵R=(ri,j)n*m:
归一化处理采用的方法为向量归一化;
(34)构造权系数矩阵W:基于各维度资源的剩余利用率构造权系数矩阵W=(wi,j)1*m;所述权系数矩阵是行矩阵,其中每个元素定义是通过对各维度资源的剩余利用率进行归一化处理得到的,归一化处理采用的方法为向量归一化;
(35)基于加权正规矩阵生成理想解:通过步骤(34)获得的权系数矩阵W,首先采用公式(3)生成加权正规矩阵V=(vi,j)n*m:
然后利用所述加权正规矩阵V提取正理想点和负理想点,所述正理想点为A*={v1 *,v2 *,…vm *},所述负理想点为,其中和分别为所述加权正规矩阵V中的每一列中的最大值和最小值;((3)式中的r就是通过(2)得到的)
(36)计算近似度Ci *:得到正理想点和负理想点后,通过式(4)计算每个应用请求与理想点的近似度Ci *:
其中 和 分别表示当前应用请求与正理想点和负理想点的欧拉距离;
(37)获得当前最优先调度任务判定:将通过步骤(36)得到的各个待调度的应用请求的近似度Ci *作为启发式因子,对所述应用请求集合中的待调度的应用请求按照优先级由高至低的顺序进行排序得到应用请求优先级队列。
所述步骤(2)中的所述检测当前应用请求集合中的所有待调度的应用请求是否满足资源约束和步骤(4)中的所述判断所述当前候选应用请求是否满足资源约束都是这样实现的:如果虚拟化物理资源池中的可用的资源的数量大于所述应用请求所需要的资源数量,则满足资源约束,否则不满足资源约束。
所述步骤(4)中的所述更新当前应用请求集合和虚拟化物理资源池中的多维资源的状态信息是这样实现的:将已经被调度的应用请求从当前应用请求集合中删除;将虚拟化物理资源池中的各种类型的资源在原数值的基础上分别减去被调度应用请求所需要的资源数量。
与现有技术相比,本发明的有益效果是:
(1)本方法适用于云环境数据中心的多租户共享资源场景,解决了共享与多租户差异化需求之间的矛盾。传统的资源调度算法集中研究以单类型资源为视角的策略,忽视了多种资源共存竞争的复杂情况。而少数考虑到多资源因素的已有研究,仅扩展了规划问题的边界条件,忽视资源间供给的相互依赖关系及异构应用资源偏好对数据中心整体利用率的影响。本方法采用实时状态采集来获取每一次任务调度对系统各维资源利用率及均衡情况的影响,通过引入多维资源模型(多维资源模型指的是描述应用请求的时候使用了m维的资源,对应于原始决策矩阵中的一行)能够准确地抽象多样化应用对系统资源的异构请求,并在此基础上采用基于多维决策理论的加权正规矩阵反映多元应用的异构资源需求与池化资源利用率之间的关联;
(2)本方法利用多属性决策算法,在决策过程中通过设计有效的加权系数矩阵,提高空闲资源类型的相对权重,有利于引导选择偏好需求该种类型资源的应用任务进行聚合,以达到协调数据中心各类型资源使用均衡程度,为未来需求提供更多可承载空间的目的。该算法能够良好地缓解由于多维资源不均衡占用导致的隐性资源浪费现象,从而提高整个共享资源池的综合利用率,并提升系统的投入产出比。
附图说明
图1是本发明实施例中应用请求的示意图。
图2-1是利用现有调度方法对图1所示的应用请求进行调度得到的资源利用情况。
图2-2是利用本发明方法对图1所示的应用请求进行调度得到的资源利用情况。
图3是本发明的系统通用架构模型。
图4是本发明调度方法的步骤框图。
具体实施方式
下面结合附图对本发明作进一步详细描述:
本发明的系统通用架构模型如图3所示,包括5个模块,分别为:用户提交应用请求模块、资源状态采集模块、资源调度模块、虚拟化物理资源池和应用请求优先级队列模块,该模型中,资源状态采集模块负责实时检测底层虚拟化技术支持的虚拟化物理资源池中的资源状态信息,如各维度资源使用率等,以及当前状态下的系统用户提交的应用请求集合和系统内部应用请求优先级队列的信息反馈(也就是图3中三个进入资源状态采集模块的箭头所表示的);资源状态采集模块负责将采集到的实时状态信息提交到资源调度模块,由资源调度模块负责完成基于多属性决策的多维资源调度机制。所述资源调度模块一方面对资源状态采集模块采集到的用户提交的应用请求完成优先级排序并生成应用请求优先级队列,将该结果输出给应用请求优先级队列模块,另一方面资源调度模块根据应用请求的优先级完成实际的应用请求调度过程,也就是实现了被调度应用的资源分配,然后更新原有虚拟化物理资源池中的各维度资源的数量信息。优先级队列模块是功能是产生一个应用请求优先级队列,然后由资源调度模块根据其输出选择一个应用请求。而该系统运行过程中需要多次调用优先级队列模块直到资源用完,其中每次迭代都会产生一个队列;最终再由资源调度模块执行调度操作。多维资源的调度流程和主要调度机制思想是本发明的重点。
本发明是一种资源调度模块实时对提交的应用请求和虚拟化物理资源池的资源状态进行捕获,并通过多属性决策方法实现对多维资源进行调度的方法。该方法通过检测当前状态下的应用请求集合及虚拟化物理资源池(又被称为共享资源池)的资源信息状态,利用多属性决策算法,定义适用于当前多维资源状态均衡消耗的应用请求集合的优先级序列(应用请求集合是原始请求,其包括应用的资源需求等信息,保存在用户提交应用请求模块中;优先级队列则是算法的输出结果,是经过排序后的请求,保存在应用请求优先级队列模块中,应用最终执行的时候是根据优先级队列的序列顺序来进行的),将优先级最高、且满足资源约束的应用请求提交到云环境数据中心(数据中心是物理设施(硬件)和应用逻辑(软件)的综合体,图3中的5个模块共同组成了数据中心资源调度的执行逻辑,可以看做是软件的部分来执行,以减小由于多维资源不均衡占用导致的隐形资源浪费现。
本发明调度方法的步骤如图4所示,包括以下步骤:
1,资源调度模块接收资源状态采集模块实时捕获到的用户提交应用请求集合及虚拟化物理资源池中的多维资源的状态信息;
2,检测当前应用请求集合中的所有待调度应用请求是否满足资源约束,若全部应用请求均不满足资源约束(所述资源约束指的是服务器的资源供给量能够满足应用请求,形象化来说,就是服务器上各种类型的资源剩余数量都大于应用请求的资源需求数量),则说明当前队列中的所有应用请求都不可能被调度到云环境数据中心来执行,转入步骤6;否则转入步骤3;
3,根据多属性决策的应用优先级调度算法(详见后文),将应用请求集合中的待调度应用请求按照优先级由高至低的顺序进行排序,具有最高优先级的应用请求将优先被调度;
4,判断当前候选应用请求,即优先级最高的应用请求是否满足多维资源约束(若任一维度资源约束不满足,则该应用请求不能被调度),若满足资源约束,则调度该应用请求并更新应用请求队列和虚拟化物理资源池状态信息,返回步骤1;否则转入步骤5;
5,对不满足资源约束的应用请求进行标记,跳过当前请求,转至判断优先级次高的应用请求,返回步骤4;
6,结束,退出调度。
多属性决策的应用优先级调度算法(又被称为多维资源调度算法)具体如下:
在本发明中,多维资源调度算法由资源调度模块完成,在接收资源状态采集模块实时提交的应用请求集合和虚拟化物理资源池中的资源状态信息后,将上述信息转化为矩阵方式进行多属性决策处理。
首先,定义云环境数据中心具有m类基础资源,虚拟化物理资源池的容量表示为向量R=<r1...rm>,其中rj是第j类资源的总量。若该云环境数据中心承载n个应用(即租户),那么应用集合表示为TAP={APi︱1≤i≤n}。每个应用所要执行的任务都需要一定数量的资源,那么应用i所执行任务的资源需求向量可表示为qi=<qi,1...,qi,j,...,qi,m>,其中qi,j表示应用i的任务对j类型资源的需求数量。本发明中,应用的概念等同于任务,就是用户提交的一个待调度任务;某一应用的资源请求(也就是对各维度资源的需求数量,是系统输入)称作应用请求,决策方案是最终应用的调度策略(是调度方法最终的输出结果)。
矩阵的生成方法为:对于用户提交的应用请求集合TAP(在计算机中是用队列的方式描述用户提交的应用请求集合),每个应用类型(是指n个应用中的一种)APi构成矩阵中的行项,即将n个应用映射为n类候选决策方案{Ai}(又称为可选应用));每类资源构成矩阵中的列项,即m类资源作为方案的m维属性,因此每个应用所执行任务的各种类型资源需求即作为该候选决策方案各维属性的赋值。若某一应用请求中不需要某一维度的资源,则将矩阵中对应的该元素置为0。通过上述生成方法,得到一个原始决策矩阵D=(xi,j)n*m(1≤i≤n,1≤j≤m),其中xi,j表示候选决策方案Ai在属性Xj上的取值,即赋值为qi,j。
得到原始决策矩阵D后,进行以下步骤:
1、标准化变换:
由于不同类型资源的计量单位差异较大(如,CPU/GHz,内存/GB等),首先需要对原始决策矩阵D中每一列元素通过极差变换的方式进行标准化变换,获得标准化矩阵r'i,j。
(1)式中,指的是矩阵第j列中最大的数值,指的是矩阵第j列中最小的数值,其他字母含义与前文中相同。
2、矩阵归一化:
为弱化不同决策方案间绝对值范围对生成决策的影响,再将标准化矩阵r’i,j矩阵中每一列元素通过归一化得到的归一化矩阵R=(ri,j)n*m。归一化方法为向量归一化,即
(2)式中各字母含义与前文中相同。
3、构造权系数矩阵W:
为了合理利用资源状态采集模块实时提交的应用请求集合和资源状态信息,并结合多维资源均衡思想来引导异构任务聚合过程,要基于各维度资源的剩余利用率构造权系数矩阵。权系数矩阵是行矩阵,即其中每个元素定义是通过对各维度资源的剩余利用率进行归一化处理得到的,记为W=(wi,j)1*m。(权系数矩阵中的每一个元素是通过对各维度资源的剩余利用率进行归一化处理得到的)绝对值较大的wj表明其对应的资源类型rj相对其他维度资源被较少使用,即最终成为隐形浪费资源的可能性更大。因此在多属性决策过程中提高空闲资源类型的相对权重有利于引导选择偏好需求该种类型资源的应用任务进行聚合。这也是一种协调数据中心各类型资源使用均衡程度,为未来需求提供更多可承载空间;
4、基于加权正规矩阵生成理想解:
通过上一步骤获得的权系数矩阵W,首先可以生成加权正规矩阵V=(vi,j)n*m,如公式(3)
接下来利用加权正规矩阵V提取正负理想解,正理想解是各候选方案利益面属性值最大者,成本面属性值最小者;反之,负理想解是各可行方案利益属性则值最小者,成本面属性值最大者。正理想点记为A*={v1 *,v2 *,…vm *}(A*的构造方法就是在上文的加权正规矩阵中选出每一列中的最大值,即构成A*),负理想点记为(与A*的构造方法类似,选取每一列中的最小值),其中v1 *和分别为每一列中的最大值和最小值;
5、计算近似度Ci *
理想点是标识从各个候选方案属性提出组合后生成的最优或最差方案,但一般理想解并不存在,只作为衡量真实可行解的优劣所定义的尺度。得到理想点后,可以通过某种距离的度量来确定最接近正理想点,且远离负理想点的可行方案,即多属性决策的满意解。计算每个应用请求与理想点的近似度Ci *方法如下:
其中 和 分别表示当前应
用请求与正、负理想点的欧拉距离;
6、获得当前最优先调度任务判定
将各候选决策方案(每一待调度应用都是一个候选决策方案)的近似度(就是步骤5中得到的Ci *)作为算法的启发式因子,对应用请求(即候选决策方案)依照该启发式因子进行降序排列排序,即可得到应用请求集合的优先级序列。当前排列第一的应用请求即为本次迭代的满意解,并完成多维资源的多属性调度判定(调度判定指的是检查该应用请求是否满足资源约束,即图4中的编号4判断步骤)。随后,更新本次调度后资源池的各维容量以及候选应用列表,进行下一轮调度(即更新资源后重新计算应用请求的优先级,再调度优先级最高的应用请求)。
本发明方法是以多种资源供需为综合视角的多维调度算法,可以很好的缓解前述的隐形浪费现象,利用本发明方法对图1的应用要求进行调度得到图2-2所示的结果,通过对比图2-1和图2-2可以看出,图2-2中的斜线部分远远小于图2-1中的斜线部分,也就是说利用本发明方法后CPU和内存两类资源的利用都较为充分,整个共享资源池的综合利用随之提高,系统的投入产出比也获得提升。
本发明是一种高效的基础设施(Infrastructure)层虚拟化资源调度方法,设计了一种面向云环境多租户场景下数据中心资源调度机制,资源调度模块单元通过用户实时提交的应用请求集合和资源状态信息,通过基于多属性决策的调度算法实现应用请求优先级序列与资源现状想匹配的调度流程。
本发明的资源调度模块单元引入多维资源模型能够准确地抽象多样化应用对系统资源的异构请求,并采用基于多维决策理论的加权正规矩阵反映多元应用的异构资源需求与池化资源利用率之间的关联。因此能够应对多租户异构需求与云环境数据中心共享的双重需求。
本发明通过基于多属性决策的调度算法,设计有效的加权系数矩阵,提高空闲资源类型的相对权重,决策出应用请求集合的优先级序列,将优先级最高且满足资源约束的应用请求提交到数据中心来执行,以满足使当前系统实现多维资源均衡消耗的需求,为未来需求提供更多可承载空间。实现了对数据中心多维资源均衡高效的调度机制,缓解了由于多维资源不均衡使用导致的隐性浪费现象。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。