一种云环境数据中心多维资源调度系统及方法

文档序号:7864479阅读:345来源:国知局
专利名称:一种云环境数据中心多维资源调度系统及方法
技术领域
本发明属于云计算领域,具体涉及一种云环境数据中心多维资源调度系统及方法,用于对云计算多租户环境下数据中心池化资源的高效调度。
背景技术
随着信息产业的快速发展以及互联网的广泛普及,IT基础设施作为信息服务能力提供的运行平台起到了至关重要的作用。急剧攀升的IT资源需求与单一昂贵的资源提供方式之间的矛盾,使传统IT产业高成本、低效率、高能耗的问题面临着前所未有的严峻 挑战。研究报告表明,数据中心每年的投入成本中有超过50%的资金开销用于基础设施的电能和制冷消耗,而服务器的资源平均利用率却仅仅维持在15% -30%左右,并且预计到2011年70%以上的美国企业数据中心将切实面临与场地、能耗或成本有关的困扰。由此可知,现代数据中心迫切需要降低基础设施的投入与维护,实现资本效益的最大化。在谷歌 2006 年首次提出云计算(请参考 Cloud Computing, http://en.wikipedia.org/wiki/Cloud computing)概念之后,由于以基于虚拟化技术支撑的共享资源池高度复用、灵活可扩展等为核心的资源提供模式正好符合了当前信息产业高效融合的发展趋势,因此基于云环境的资源管理机制受到工业界和学术界越来越多的重点关注和深入研究。云计算提供了新型计算模式,而虚拟化数据中心作为云计算的实现手段,良好的支持了多租户的系统架构。多租户模式允许不同的用户各自提交不同的应用请求,但是底层的公共池化资源却是一致化共享的,于是造成了共享与多租户差异化需求之间的矛盾,一种良好的解决手段就是利用虚拟化技术设计高效的多维资源调度策略。虚拟化技术实现了底层物理基础设施和上层操作系统、应用软件的解耦合,为IT资源的利用率和灵活性需求提供了最大化技术保障。作为虚拟化管理的主要组成部分,虚拟机管理层面(VMM, Virtual Machine Management)主要负责对封装好的虚拟机单元发送相应指令,完成虚拟化进程的创建、虚拟机迁移和共享资源的撤销与回收等。作为应用请求的承载实体,VMM对虚拟机单元的调度控制直接表现为对应用请求和共享资源的管理,基于虚拟化技术的服务器聚合正是解决这一现状的最直接、最有效手段,通过允许多台虚拟机在同一物理宿主服务器上同时运行,能够明显降低空载或低载服务器的数量,从而达到节省能耗的目的。现有的致力于提供高效调度方案的研究成果中存在着一定的局限性。首先,这类策略在制定异构应用的调度策略或组合方案时,通常会以单一类型资源为分配对象,或者采用形式化方法将系统资源抽象作为独立的能力单位。如文献(M.Aron,P. Druschel,and W. Zwaenepoel, “Cluster reserves a mechanismfor resource management incluster-based network servers,,,in Proc. ofthe ACM SIGMETRICS, Jun. 2000.)的作者将服务器视为整体资源进行分配,文献(P. Padala, K. Shin, X. Zhu, M. Uysal, Z. Wang,S.Singhal, A. Merchant, and K. Salem, “Adaptive control of virtualized resourcesin utilitycomputing environments,,,in Proc. of the 2nd ACM SIGOPS/EuroSys)米用了类似的资源抽象方法。这些资源描述方式在资源虚拟化场景下缺少一定的实际部署意义,其资源建模方法不能准确地抽象多样化应用对系统资源的异构请求。这种请求需要同时消耗不同类型的各种资源(如CPU的计算能力、内存、存储空间和网络带宽等),同时又具有各自需求偏好的特殊性。其次,另一些研究者(如A. Singh, M. KorupoIu,and D. Mohapatra,“Serverstoragevirtualization : Integration and load balancingin data centers,,’ in Proc. of Supercomputing,2008 ;B. B. Khoo,B. Veeravalli,T.Hung, and C.W. S. See, uk multi-dimensional scheduling scheme in a Gridcomputingenvironment,,,Journal of Parallel and Distributed Computing,2007 ;M. N. Garofalakis and Y. E. Ioannidis,“Multidimensional resourcescheduling forparallel queries,,,in Proc. of ACM SIGMOD,1996 ;Bo Li,Jianxin Li,JinpengHuai,TianyuWo, Qin Li,Liang Zhong, " EnaCloud AnEnergy-Saving Application LivePlacement Approach for Cloud ComputingEnvironments, " cloud,pp. 17-24,2009IEEEInternational Conference onCloud Computing, 2009)尝试在调度中引入多种资源能力这一因素,但他们是从分配可行性角度将单维的约束条件拓展成为多维约束,即单纯作为规划问题的边界条件,而没有将多维资源的效用作为资源分配策略的目标,同时忽视了多 种资源之间共耗的相互依赖关系和异构应用资源偏好对系统利用水平的影响。研究成果(A. Singh, M. Korupolu, and D. Mohapatra, iiServerstoragevirtualization -Integrationand load balancing in data centers,,,in Proc. of Supercomputing,2008)提出了一种虚拟机布署方案来解决层次式的多维资源约束问题,从而避免特定虚拟环境下出现的热点问题。文献(B. B. Khoo,B. Veeravalli,T. Hung,and C.W.S.See,“A multi-dimensionalschedulingscheme in a Grid computing environment, ” Journal of ParallelandDistributed Computing, 2007)则是在网格计算环境下,提出了一种通过使用无量纲计算指标来满足任务多维资源需求的方法。文献(Bo Li,Jianxin Li,JinpengHuai,TianyuWo, Qin Li,Liang Zhong, " EnaCloud An Energy-SavingApplication LivePlacement Approach for Cloud Computing Environments," cloud,pp. 17-24,2009IEEEInternational Conference on Cloud Computing, 2009)重点研究了同构虚拟资源平台上的异构应用性能调度。还有些技术解决多维约束的资源分配时釆用的建模方法是著名的向量背包/装箱模型。如EnaCloud(Bo Li,Jianxin Li,JinpengHuai,TianyuWo,Qin Li,LiangZhong, " EnaCloud An Energy-Saving Application Live Placement Approach forCloudComputing Environments, " cloud,pp. 17-24,2009IEEE InternationalConference onCloud Comput ing, 2009)提出了一种实时置换的虚拟机放置策略,该模型假设所有云环境基础设施中的计算节点是同构的,从而将该虚拟机放置问题映射为标准的装箱问题。调度中将占用资源较多的虚拟机与占用资源较少的虚拟机相交换,从而起到提高服务器整合效果的目的。一般说来,向量背包问题都假设每一个容器具有相同的性质即同构同量。然而这种假设在资源共享的云计算环境下往往并不适用,因为在硬件共享环境下通常是由虚拟机充当“容器”的角色,而虚拟机的资源大小可以通过虚拟化技术实现动态的重新分配。相对而言,在解决虚拟化资源调度问题时,不仅要考虑应用性能,还要结合请求中的资源偏好以及资源池中不同资源的稀缺状况制定分配方案。综上所述,当前的数据中心内资源调度机制在承载多租户的异构性方面都存在一定缺陷,不能很好地满足基于云环境数据中心对资源高效共享的需求。具体来说,目前的数据中心资源管理通常关注一种主要资源的供需情况,忽略了多维资源同时被用户应用所请求的复杂状况。虚拟化技术本身也是多维度资源虚拟化的综合,其中包括了计算能力,如CPU的虚拟化,存储虚拟化,内存虚拟化和网络虚拟化等多个方面,就服务器聚合的角度来看,任何一个维度的资源容量如果不能够满足用户应用的请求,则该应用请求就不能被部署在候选服务器上,或者不能被该数据中心管理域接受。因此,充分且均衡地利用多维度的底层共享资源,能够有效的减少由于单一维度资源容量约束所导致的隐形资源浪费现象。该场景(指的是不同租户提交需求各异的资源请求,且资源请求中不仅是包含一种资源类型,而是同时包含多种类型的资源。)的形象化描述如下所示以CPU和内存两维资源为例,假设当前有四位租户提交了需求各异的资源请求(分别标记为1,2,3,4,其中横坐标为CPU单位,纵坐标为内存单位),如图I所示。传统以一种资源供需为单视角的调度算法,通常会产生如图2-1所示的结果。图中斜线部分表示剩余资源,且该剩余资源不能满足任何用户的资源请求数量。图2-1中虽然内存被充分利用,但CPU资源剩余较多且因内存容量无几而无法同时利用,隐形浪费现象较为严重。

发明内容
本发明的目的在于解决上述现有技术中存在的难题,提供一种云环境数据中心多维资源调度系统及方法,其是基于多属性决策方法的,旨在根据用户提交的应用请求,充分利用多维资源的互补特性,实现各维度资源近似同步速率的均衡消耗,减少由于资源容量约束引起的隐形资源浪费,提高数据中心综合利用率,降低IT系统成本。本发明是通过以下技术方案实现的一种云环境数据中心多维资源调度系统,所述系统包括用户提交应用请求模块、资源状态采集模块、资源调度模块、应用请求优先级队列模块和虚拟化物理资源池;所述用户提交应用请求模块用于接收用户提交的应用请求;所述资源状态采集模块用于采集实时状态信息,并将所述实时状态信息提交到所述资源调度模块;所述实时状态信息包括所述虚拟化物理资源池中的多维资源的状态信息、用户提交应用请求模块中的当前状态下的应用请求集合和应用请求优先级队列模块中的应用请求优先级队列的信息;所述资源调度模块一方面对所述资源状态采集模块提交的应用请求集合进行优先级排序得到应用请求优先级队列,并将该应用请求优先级队列输出给所述应用请求优先级队列模块,另一方面根据应用请求的优先级进行资源分配完成调度,然后更新原有虚拟化物理资源池中的多维资源的状态信息;所述应用请求优先级队列模块用于保存所述应用请求优先级队列;所述虚拟化物理资源池用于将多维资源进行池化抽象并提供服务。一种利用所述云环境数据中心多维资源调度系统进行资源调度的方法,所述方法首先检测所述资源状态采集模块采集到的虚拟化物理资源池中的多维资源的状态信息和用户提交应用请求模块中的当前状态下的应用请求集合,然后利用多属性决策的应用优先级调度算法,定义适用于虚拟化物理资源池中当前多维资源的状态均衡消耗的应用请求优先级队列,最后将优先级最高且满足资源约束的应用请求提交到云环境数据中心来执行。所述方法包括以下步骤(I)所述资源调度模块接收所述资源状态采集模块实时采集到的当前应用请求集合及虚拟化物理资源池中的多维资源的状态信息;(2)所述资源调度模块检测当前应用请求集合中的所有待调度的应用请求是否满足资源约束,若都不满足资源约束,则说明当前应用请求集合中的所有应用请求都不能被调度到云环境数据中心来执行,转入步骤¢);否则转入步骤(3);(3)所述资源调度模块根据多属性决策的应用优先级调度算法对所有待调度的应用请求按照优先级由高至低的顺序进行排序得到应用请求优先级队列,将该应用请求优先级队列中具有最高优先级的应用请求作为当前候选应用请求; (4)判断所述当前候选应用请求是否满足资源约束,若满足资源约束,则调度该当前候选应用请求,然后更新当前应用请求集合和虚拟化物理资源池中的多维资源的状态信息,返回步骤(I);若不满足资源约束则转入步骤(5);(5)对所述当前候选应用请求进行标记,然后跳过该当前候选应用请求,并将优先级次高的应用请求作为当前候选应用请求,然后返回步骤(4);(6)结束,退出调度。所述步骤(3)中的所述根据多属性决策的应用优先级调度算法得到应用请求优先级队列具体如下(31)所述资源调度模块在接收到所述资源状态采集模块实时采集到的当前应用请求集合及虚拟化物理资源池中的多维资源的状态信息后,将它们转化为原始决策矩阵首先定义云环境数据中心具有m类基础资源,虚拟化物理资源池的容量表示为向量R =〈ri. . . rm>,其中&是第j类资源的总量;若该云环境数据中心承载η个应用,那么应用请求集合表示为Tap = (APAi;每个应用所要执行的任务都需要一定数量的资源,那么应用i所要执行的任务的资源需求向量表示为qi = <qia· . .,qi,j,. . .,q^〉,其中Qi, j表示应用i的任务对j类型资源的需求数量;对于用户提交的应用请求集合TAP,每个应用类型APi构成矩阵中的行项,即将η个应用映射为η类候选决策方案{AJ ;每类所述基础资源构成矩阵中的列项,即m类资源作为候选决策方案Ai的m维属性,因此每个应用所执行任务的各种类型资源需求即作为该候选决策方案的各维属性的赋值;若某一应用请求中不需要某一维度的资源,则将矩阵中对应的该元素置为O ;这样得到原始决策矩阵D = (Xi,」)幽(I 彡 i 彡 η, I 彡 j 彡 m),其中Xi,」表示候选决策方案AiGAJ中的一个元素)在属性Xj上的取值,即赋值为 Qi, j ;(32)标准化变换对所述原始决策矩阵中每一列元素通过极差变换的方式进行标准化变换,获得标准化矩阵r'
—/▽r'u=^—长(I)
J j ■, J(I)式中,/;指的是矩阵第j列中最大的数值/指的是矩阵第j列中最小的数值,其他字母含义与前文中相同;
(33)矩阵归一化将标准化矩阵r’ ,, j中的每一列元素通过归一化处理得到归一化矩阵R=
权利要求
1.一种云环境数据中心多维资源调度系统,其特征在于所述系统包括用户提交应用请求模块、资源状态采集模块、资源调度模块、应用请求优先级队列模块和虚拟化物理资源池;所述用户提交应用请求模块用于接收用户提交的应用请求;所述资源状态采集模块用于采集实时状态信息,并将所述实时状态信息提交到所述资源调度模块;所述实时状态信息包括所述虚拟化物理资源池中的多维资源的状态信息、用户提交应用请求模块中的当前状态下的应用请求集合和应用请求优先级队列模块中的应用请求优先级队列的信息;所述资源调度模块一方面对所述资源状态采集模块提交的应用请求集合进行优先级排序得到应用请求优先级队列,并将该应用请求优先级队列输出给所述应用请求优先级队列模块,另一方面根据应用请求的优先级进行资源分配完成调度,然后更新原有虚拟化物理资源池中的多维资源的状态信息;所述应用请求优先级队列模块用于保存所述应用请求优先级队列;所述虚拟化物理资源池用于将多维资源进行池化抽象并提供服务。
2.一种利用权利要求I所述云环境数据中心多维资源调度系统进行资源调度的方法,其特征在于所述方法首先检测所述资源状态采集模块采集到的虚拟化物理资源池中的多维资源的状态信息和用户提交应用请求模块中的当前应用请求集合,然后利用多属性决策的应用优先级调度算法,定义适用于虚拟化物理资源池中当前多维资源的状态均衡消耗的应用请求优先级队列,最后将优先级最高且满足资源约束的应用请求提交到云环境数据中心来执行。
3.根据权利要求2所述的资源调度的方法,其特征在于所述方法包括以下步骤(1)所述资源调度模块接收所述资源状态采集模块实时采集到的当前应用请求集合及虚拟化物理资源池中的多维资源的状态信息;(2)所述资源调度模块检测当前应用请求集合中的所有待调度的应用请求是否满足资源约束,若都不满足资源约束,则转入步骤(6);否则转入步骤(3);(3)所述资源调度模块根据多属性决策的应用优先级调度算法对所有待调度的应用请求按照优先级由高至低的顺序进行排序得到应用请求优先级队列,将该应用请求优先级队列中具有最高优先级的应用请求作为当前候选应用请求;(4)判断所述当前候选应用请求是否满足资源约束,若满足资源约束,则调度该当前候选应用请求,然后更新当前应用请求集合和虚拟化物理资源池中的多维资源的状态信息,返回步骤(I);若不满足资源约束则转入步骤(5);(5)对所述当前候选应用请求进行标记,然后跳过该当前候选应用请求,并将优先级次高的应用请求作为当前候选应用请求,然后返回步骤(4);(6)结束,退出调度。
4.根据权利要求3所述的资源调度方法,其特征在于所述步骤(3)中的所述多属性决策的应用优先级调度算法具体如下(31)所述资源调度模块在接收到所述资源状态采集模块实时采集到的当前应用请求集合及虚拟化物理资源池中的多维资源的状态信息后,将它们转化为原始决策矩阵首先定义云环境数据中心具有m类基础资源,虚拟化物理资源池的容量表示为向量RCN 102932279 A_权利要求书_ _2/3 页=〈IV . . rm>,其中ri是第j类资源的总量;若该云环境数据中心承载η个应用,那么应用请求集合表示为Tap = (APi 11彡i彡η};应用i所要执行的任务的资源需求向量表示为Qi=<qi;i . . .,Qijjj . . .,qi,m>,其中qi,j表示应用i的任务对j类型资源的需求数量;对于用户提交的应用请求集合TAP,每个应用类型APi构成矩阵中的行项,即将η个应用映射为η类候选决策方案{AJ ;每类所述基础资源构成矩阵中的列项,即m类资源作为候选决策方案Ai的m维属性,因此每个应用所执行任务的各种类型资源需求即作为该候选决策方案的各维属性的赋值;若某一应用请求中不需要某一维度的资源,则将矩阵中对应的该元素置为O ;这样得到原始决策矩阵D = (Xi,」)_(1 彡 i 彡 η, I 彡 j 彡 m),其中Xy表示候选决策方案Ai在属性Xj上的取值,即赋值为qi, j ;(32)标准化变换对所述原始决策矩阵中每一列元素通过极差变换的方式进行标准化变换,获得标准化矩阵r' ,,j
5.根据权利要求4所述的资源调度方法,其特征在于所述步骤(2)中的所述检测当前应用请求集合中的所有待调度的应用请求是否满足资源约束和步骤(4)中的所述判断所述当前候选应用请求是否满足资源约束都是这样实现的如果虚拟化物理资源池中的可用的资源的数量大于所述应用请求所需要的资源数量,则满足资源约束,否则不满足资源约束。
6.根据权利要求5所述的资源调度方法,其特征在于所述步骤(4)中的所述更新当前应用请求集合和虚拟化物理资源池中的多维资源的状态信息是这样实现的将已经被调度的应用请求从当前应用请求集合中删除;将虚拟化物理资源池中的各种类型的资源在原数值的基础上分别减去被调度应用请求所需要的资源数量。
全文摘要
本发明提供了一种云环境数据中心多维资源调度系统及方法,属于云计算领域。本发明系统包括用户提交应用请求模块、资源状态采集模块、资源调度模块、应用请求优先级队列模块和虚拟化物理资源池;本发明方法首先检测所述资源状态采集模块采集到的虚拟化物理资源池中的多维资源的状态信息和用户提交应用请求模块中的当前应用请求集合,然后利用多属性决策的应用优先级调度算法,定义适用于虚拟化物理资源池中当前多维资源的状态均衡消耗的应用请求优先级队列,最后将优先级最高且满足资源约束的应用请求提交到云环境数据中心来执行。
文档编号H04L12/861GK102932279SQ20121042622
公开日2013年2月13日 申请日期2012年10月30日 优先权日2012年10月30日
发明者双锴, 孙鑫, 徐鹏, 王玉龙, 苏森 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1