一种基于动态重配置虚拟资源的云计算资源调度方法

文档序号:7758525阅读:193来源:国知局
专利名称:一种基于动态重配置虚拟资源的云计算资源调度方法
技术领域
本发明涉及一种云计算资源调度方法,特别涉及一种基于动态重配置虚拟资源的云计算资源调度方法。
背景技术
近年来,随着互联网网络规模的不断扩大,互联网所需要处理的业务量也随着快 速增长。如何处理海量的数据与服务,有效地为用户提供方便、快捷的网络服务,成为互联 网当前发展面临的一个问题。在这种背景下,基于分布式计算特别是网格技术的发展,产生 了一种新型服务计算模型云计算。云计算是能够提供动态资源池、虚拟化和高可用性的下 一代计算平台的核心技术。它以用户为中心,提供安全、快速、便捷的数据存储和网络服务, 使互联网成为每一个用户的数据中心和计算中心,使用户从以桌面为核心使用各项应用转 移到以Web为核心进行各种活动。云计算的兴起给IT产业带来了新的机遇,同时也随之产 生了一系列新的挑战性问题。如何高效地利用和调度云计算资源是当前云计算研究的主要 问题之一。与传统的分布式计算和网格计算相比,云计算的主要吸引力在于它能够为用户 提供按需的、灵活的、可靠的和廉价的资源服务。因此,要使得云计算能够得到广泛应用和 发展,云计算资源管理和调度急需解决以下关键问题(1)云为用户应用配置资源应该具 有可伸缩性,云为特定应用配置的资源数量应该可以动态伸缩,可以满足应用和用户规模 增长的需要。(2)云计算要实现资源使用的廉价性,这要求资源利用率高,例如对于一个在 不同时期需要不同计算能力的应用,云应该能根据应用对资源需求变化动态地为应用配置 资源,而不是让资源配置为静态的峰值需求。云计算是在并行计算、分布式计算和网格计算的基础上发展起来的,但相比传统 的分布式计算、网格计算,云计算有如下特点(1)传统的分布式计算和网格计算往往是集 成分散在网络上的一些资源,这些资源往往是异构的计算机,需要通过一些分布式的调度 算法来管理和使用这些资源;而云计算的资源一般以相对集事先组织好的,由一些专门的 服务器组成的。(2)传统的分布式计算,特别是网格计算,大都是面向复杂的科学计算,在网 格应用大都是一些大型的计算密集型或数据密集型应用;而云计算更趋向于一种的商业计 算模型,面向各种用户,云应用的种类比较多。由于云计算的这些特点,一些传统的资源管 理和调度方法并不适合于云计算。从资源调度模式上看,传统的分布式计算和网格计算的资源管理与调度主要有三 种模式集中式、分散式、分级式。分级式和分散式的管理方法对分布式系统和网格资源的 管理和运转来说是较合适的。目前云计算主要采用虚拟资源池的方式来管理云计算资源, 并通过数据中心来实现资源和任务信息的处理。因此,云计算更适合于使用集中式资源管 理和调度模式。从资源调度方法上看,澳大利亚Rajkumar Buyya等学者提出的基于经济模 型资源调度方法是当前一个主要方法之一,他们提出了面向市场的云计算体系结构和面向 市场的资源分配和调度方法,该体系结构通过SLA资源分配器来实现资源使用者与资源提 供者之间的协商,实现资源优化分配,但该体系结构中很多具体问题仍然在研究之中。在此基础上,徐向华等人还给出了一种基于市场机制的云计算资源分配策略,并设计一个基于 遗传基因的价格调节算法处理市场的需求和供给的平衡问题,但目前提出的方法只是针对 底层资源调度问题,即如何给虚拟资源(虚拟机)分配物理资源(CPU、内存、存储器),而且提 出的方法目前仅仅考虑CPU资源,无法处理其它类型的资源。虽然,使用经济学模型进行资 源调度和协同分配可以实现资源的高效调度和提供资源利用率,但目前只是对底层资源的 调度问题的研究,且没有成熟的实现。另一种主要的云计算资源调度方法是为虚拟资源重 配置物理资源的动态调度方法。法国的Jean-Marc Menaud和Hien Nguyen Van等人针对 云计算中虚拟资源的管理提出一些动态调度方法,主要是讨论如何为应用选择合适的虚拟 机和为虚拟机选择合适的物理计算机的问题,并把这些调度问题转化为约束满足问题,获 得优化调度结果。Fabien Hermenier等人针对如何分配和迁移虚拟机到物理主机的问题进 行研究,并在考虑重配置计算时间和虚拟机迁移时间两个因素情况下,给出一种优化总的 动态调度时间的资源管理方法Entropy。此外,也有些方法通过虚拟机的动态迁移和重新分 配方法实现云计算系统的负载均衡,从而达到云计算资源优化分配。魏贵义等人利用了博 弈论的方法来解决云计算资源分配问题,设计一个基于博弈论的资源分配算法,该算法首 先利用整数规划方法处理单个参与者的独立优化问题,然后利用进化算法处理多个参与者 综合优化问题。提出的进化算法同时考虑了优化和公平两个方面,能给出一种比较好折衷 资源分配方法。然而,这种基于博弈论的资源分配方法比较复杂,仅适用于处理一些非常复 杂和动态的,而且应用能分成多个协作任务的资源调度问题。虽然近几年在云计算资源调度上已经开展了一些研究工作。但大部分云计算资源 调度方法是面向底层物理资源的调度,主要有给虚拟资源优化配置物理资源的方法或是通 过虚拟机迁移的方法来实现系统负载均衡的和提高资源利用率,这些方法都需要停止云应 用来实现资源动态调度,有一定应用局限性。此外,还有一些其它方法是面向具体应用的, 不具有普遍性。

发明内容
鉴于上述现有技术存在的不足,本发明目的是提供一种基于动态重配置虚拟资源 的云计算资源调度方法,能根据云应用负载变化动态重配置资源,优化云计算资源分配,从 而实现云计算资源的高效利用,为云应用用户提供按需的、灵活的、可靠的和廉价的资源服 务。为了实现上述目的,本发明所采用的一种基于动态重配置虚拟资源的云计算资 源调度方法包括
第一步骤云应用监视器监视云应用的运行状态、用户请求和访问连接,从云应用负载 管理器收集云应用的负载信息;
第二步骤云应用监视器将收集的云应用负载信息发送给重配置决策器; 第三步骤重配置决策器根据收集的云应用负载信息进行资源重配置决策,确定是否 需要为云应用增加和减少资源;
第四步骤重配置决策器将资源动态分配的决策信息发送给资源动态分配器; 第五步骤如果资源动态分配器收到是增加资源的决策信息,则从虚拟资源列表中分 配一个虚拟资源给云应用,然后把增加的虚拟资源信息发送给云应用负载管理器;云应用负载管理器将云应用部署到新增加的虚拟资源(虚拟机)上,然后启动该云应用实例;转入 第六步骤;
如果资源动态分配器收到是减少资源的决策信息,则通知云应用负载管理器删除一个 云应用实例;云应用负载管理器删除一个云应用实例,并通知资源动态分配器回收该云应 用实例的虚拟资源;资源动态分配器回收虚拟资源,即将相应的虚拟资源加入到虚拟资源 列表中;
第六步骤重复执行以上步骤,直到云应用终止运行。云计算资源的动态分配和调度成为云计算研究的一个核心问题,也是基于云计算 的应用所需要解决的首要问题。目前许多学者、研究机构和大型IT公司也提出了一些解决 方法,但是这些方法主要是从底层物理资源负载均衡和重新配置来考虑资源动态分配,由 于这些方法需要为虚拟机(虚拟资源)重新分配物理资源(主机上CPU、内存资源),而目前虚 拟机无法实现动态热扩容,因此需要停止运行云应用的虚拟机,从而导致这些方法都无法 避免必须停止和重启云应用。本发明与现有的云计算资源调度方法相比,具有如下优点
(1)提出了基于动态重配置的云计算资源动态分配方法,可以动态修改云应用的虚拟 资源数量,实现云应用的资源动态调整和分配,优化云计算资源动态分配,满足云应用动态 可伸缩性的需要,实现云计算资源的高效使用;
(2)该方法采用动态重配置虚拟资源方案实现资源动态分配。即不是直接调整云应用 的物理资源,而是动态增加或减少云应用的虚拟资源,不需要停止云应用的运行就可以扩 展云应用的资源。而已有的云计算资源动态分配方法都是通过重新分配物理资源的方法来 实现资源负载均衡和提高资源利用率,故需要停止和重启云应用。因此,本发明具有更好应 用价值;
(3)提出的调度方法可以根据云应用的负载变化动态配置资源,从而避免资源浪费,节 省用户的资源使用成本。


图1为基于动态重配置虚拟资源的云计算资源调度模型图。图2为本实施方式中基于动态重配置虚拟资源的云计算资源调度方法的流程图。图3为实施例中一个云应用一天的负载变化图。
具体实施例方式下面结合附图对本发明作进一步的详细描述,但本发明的实施和保护范围不限于 此。如图1所示,基于动态重配置虚拟资源的云计算资源调度模型由云应用负载管理 器、云应用监视器、重配置决策器和资源动态分配器4个部分组成,其中云应用监视器负责 监视、收集云应用的运行状态和负载情况,并将信息反馈给重配置决策器;重配置决策器根 据收集的云应用负载信息进行资源动态重配置决策;资源动态分配器负责为云应用动态分 配资源工作,它能根据接收到重配置决策器的决策信息进行虚拟资源的动态分配和回收工 作;云应用负载管理器负责虚拟资源的具体调度和云应用的负载管理工作,它能根据资源动态分配器分配的虚拟资源进行云应用的部署和云应用实例的启动、删除,并能将多个用 户的访问和请求转发给各云应用实例,实现云应用的负载均衡。云计算环境的资源类型多样且异构,为了实现云计算资源动态重配置,在调度前 需要抽象和统一云计算资源,虚拟化技术可以云计算资源的抽象、整合和统一。为此,在调 度前,我们对云计算资源进行重新组织和划分,把底层的物理资源虚拟化为标准化的虚拟 资源向量AKV1, V2…Vn)。基于动态重配置虚拟资源的云计算资源调度方法由如图1所示 调度模型实现的,本发明的具体方法(动态调度具体步骤)如下(如图2所示)
1、云应用监视器定时收集云应用的负载信息,具体需要收集m个云应用实例的会话 数,收集数据的结果表示为云应用负载向量S(Sp S2,…,Sffl);
2、云应用监视器发送云应用的负载向量S(SpS2,…,Sm)给重配置决策器;
3、重配置决策器进行动态资源重配置决策,判断云应用负载情况,得出增加或减少资 源的决策结果;
具体决策方法为
假设一个云应用实例的最大负载为Smax,一个云应用实例的标准负载为Sstd = CXSmax, 其中C为常数且0. 5<C<1,具体实现时根据实际情况取C为其中一值。决策方法为(1)当
M視
Σ^ >揪边谢时,则决策结果为给云应用增加一个虚拟资源;(2)当Σ坟 <一—解饭 ιι
m
时,则决策结果为给云应用减少一个虚拟资源;(3)当《 Χ 2 Σ场& _ 1)绍饭时,则决
1
策结果为不变化虚拟资源数量;
4、当决策结果为增加或减少虚拟资源时,则将决策结果发送给资源动态分配器;
5、如果资源动态分配器收到是增加资源的决策信息,则从虚拟资源列表中分配一个虚 拟资源Vi给云应用,然后把增加的虚拟资源信息发送给云应用负载管理器;
6、云应用负载管理器将云应用部署到新增加的虚拟资源Vi上,然后启动该云应用实 例;转入步骤10 ;
7、如果资源动态分配器收到是较少资源的决策信息,则通知云应用负载管理器删除一 个云应用实例;
8、云应用负载管理器停止转发用户请求给云应用实例Im,当云应用实例Im
的负载Sm为0时,删除该云应用实例,并通知资源动态分配器回收该云应用实例的虚 拟资源;
9、资源动态分配器回收虚拟资源,即将相应的虚拟资源加入到虚拟资源向量V中;
10、重复执行以上步骤,直到云应用终止运行。实例为了验证基于动态重配置虚拟资源的云计算资源调度方法的有效性,我们 模拟使用提出的调度方法和不使用情况下的云计算资源调度,比较了 2种情况下系统资源 利用率。假设一个云应用一天的负载变化如图3所示,服从正态分布,其中最大负载 为800000。该云应用可以分布运行在多个虚拟资源上,一个虚拟资源上的云应用实例 允许的最大负载Smax为100000,一个云应用实例允许的标准负载为Sstd = CXSmax = 0. 8*100000=80000。如果采用静态调度方法(不用基于动态重配置虚拟资源的云计算资源
7调度方法)时,由于云应用的最大负载为800000,所以需要给云应用配置S/Sstd=10个虚拟资 源;如果使用基于动态重配置虚拟资源的云计算资源调度方法时,当系统负载小于80000 时,只需要为云应用配置一个虚拟资源,而当负载增加时,系统通过动态重配置方法为云应 用动态增加虚拟资源和启动云应用实例,调度过程如下表所示
表1基于动态重配置虚拟资源的云计算资源调度方法的调度过程
WT司(小时)|负载(万)I虚拟资源数(个)I时间(小时)|负载(万)I虚拟资源数(个)
1-7_小于 8 1_14_75_10_
8"l0~215"527
9"20~316"446
10"37~517"284 11"63~818.112
12'72~919-24 '小于 8 1
13丨80|lOIII
根据以上调度过程计算系统资源利用率为 U=I/(1. 6%*(7+2+3+5+8+9+10+10+7+6+4+2+6))=80%。而采用静态调度方法时,系统资源利用率为 U=I/(24*16%)=26%O通过上面的云应用调度实例可以看出,采用提出的基于动态重配置虚拟资源的云 计算资源调度方法明显可以提供系统资源利用率。
权利要求
一种基于动态重配置虚拟资源的云计算资源调度方法,其特征在于包括以下步骤第一步骤云应用监视器监视云应用的运行状态、用户请求和访问连接,从云应用负载管理器收集云应用的负载信息;第二步骤云应用监视器将收集的云应用负载信息发送给重配置决策器;第三步骤重配置决策器根据收集的云应用负载信息进行资源重配置决策,确定是否需要为云应用增加和减少资源;第四步骤重配置决策器将资源动态分配的决策信息发送给资源动态分配器; 第五步骤如果资源动态分配器收到是增加资源的决策信息,则从虚拟资源列表中分配一个虚拟资源给云应用,然后把增加的虚拟资源信息发送给云应用负载管理器;云应用负载管理器将云应用部署到新增加的虚拟资源上,然后启动该云应用实例;转入第六步骤;如果资源动态分配器收到是减少资源的决策信息,则通知云应用负载管理器删除一个云应用实例;云应用负载管理器删除一个云应用实例,并通知资源动态分配器回收该云应用实例的虚拟资源;资源动态分配器回收虚拟资源,即将相应的虚拟资源加入到虚拟资源列表中;第六步骤重复执行以上步骤,直到云应用终止运行。
2.根据权利要求1所述的基于动态重配置虚拟资源的云计算资源调度方法,其特征在于所述第一步骤中,云应用监视器定时收集云应用的负载信息,具体需要收集m个云应 用实例的会话数,收集数据的结果表示为云应用负载向量S(Si,S2,…,Sffl);所述第二步骤中,云应用监视器发送云应用的负载向量S(Si,S2,…,Sm)给重配置 决策器;所述第三步骤中,重配置决策器进行动态资源重配置决策,判断云应用负载情况,得出 增加或减少资源的决策结果;设一个云应用实例的最大负载为Smax,一个云应用实例的标准M负载为Sstd = CXSmax,其中C为常数且0. 5<C<1 ;决策方法为(1)当Σ孓 >.明欢谢时,则 决策结果为给云应用增加一个虚拟资源;(2)当Σ孓<( -〗)时,则决策结果为给云 应用减少一个虚拟资源;(3)当《χ坟s冯2( _〗)xAm时,则决策结果为不变化虚拟 资源数量。
3.根据权利要求1所述的基于动态重配置虚拟资源的云计算资源调度方法,其特征在 于所述第五步骤中,给一个云应用增加资源的步骤是为先给云应用增加一个虚拟资源; 然后在虚拟资源启动一个新的云应用实例。
4.根据权利要求1所述的基于动态重配置虚拟资源的云计算资源调度方法,其特征在 于所述第五步骤中,给一个云应用减少资源的步骤是为(1)先给删除一个云应用实例;(2)然后回收该云应用实例的虚拟资源。
全文摘要
本发明涉及一种基于动态重配置虚拟资源的云计算资源调度方法。该方法以云应用监视器收集的云应用负载信息为依据,然后基于运行云应用的虚拟资源的负载能力和云应用当前的负载进行动态决策,根据决策的结果为云应用动态重配置虚拟资源。通过为云应用重配置虚拟资源的方法实现资源的动态调整,不需要动态重新分配物理资源和停止云应用执行。该方法能根据云应用负载变化动态重配置虚拟资源,优化云计算资源分配,实现云计算资源的高效使用和满足云应用动态可伸缩性的需要;而且该方法可以避免云计算资源的浪费,节省云应用用户的资源使用成本。
文档编号H04L29/06GK101938416SQ20101026810
公开日2011年1月5日 申请日期2010年9月1日 优先权日2010年9月1日
发明者林伟伟, 齐德昱 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1