在虚拟化集群系统中进行能效管理的方法及装置的制作方法

文档序号:6467943阅读:174来源:国知局
专利名称:在虚拟化集群系统中进行能效管理的方法及装置的制作方法
技术领域
本发明涉及虚拟化环境中的能耗管理,具体地说,涉及在虚拟化集群系统中进行
能效管理的方法和装置。
背景技术
数据中心作为提供应用服务和管理服务的服务平台,已经获得了广泛的应用。当 前,如何有效地降低数据中心的能耗以提供高能效的数据中心正成为讨论的焦点。
现在的数据中心大多采用主机(服务器)虚拟化的技术,以提高主机的能效。具 体地,在一个物理主机上创建和管理多个虚拟机,这些虚拟机能够共享物理资源,并在同一 个物理主机上并行运行。这些虚拟机由位于虚拟化层的虚拟机管理器管理,并由该虚拟机 管理器进行分区以及CPU、内存和I/O设备的共享,而每一个虚拟机则根据请求运行各自的 工作负载。虚拟机管理器可以根据应用的要求,调节每个虚拟机的资源提供。因此,采用虚 拟化技术,可以降低能耗并调节数据中心的能效。 —般地,在虚拟化架构中进行能效管理的方式可包括开/闭主机电源、CPU的动 态电压调整(DVS)、虚拟机迁移、动态电压和频率调整(DVFS)等。 然而,现有的基于虚拟化技术的能效管理方法不能在满足服务质量(QoS)的要求 的同时最大程度地提高能效或降低能耗。有的应用的工作负载波动得非常剧烈和频繁,如 果采用例如基于虚拟机迁移的能效管理方法,将会导致虚拟机的频繁迁移。这样的话,首 先,该能效管理方法不能迅速地响应工作负载的波动,因为虚拟机的迁移需要花费一定的 时间,而工作负载的波动远远快于虚拟机的迁移;其次,虚拟机的迁移也是消耗能量的操 作,频繁地迁移虚拟机也会增加能耗。 另一方面,由于不同的虚拟机运行不同的工作负载,因此,各个虚拟机对于硬件资 源的要求也不尽相同。在这种情况下,当不同的虚拟机对同一个硬件资源的要求不相同时, 出现资源分配的矛盾。这种矛盾虽然可以通过虚拟机管理器解决,但是,由于虚拟机管理器 不能感知影响确定资源分配的流量特性,诸如资源要求、变化趋势等,因此,不能提供资源 分配的最优决策,并且也不能知道这些决策对于虚拟机的性能变化的影响,从而不能提供 最佳的能效管理。 因此,迫切需要一种在满足服务质量的同时降低能耗的技术方案,以提供高能效 的数据中心。

发明内容
本发明正是基于上述技术问题而提出的,其目的在于提供一种在虚拟化集群系统 中进行能效管理的方法和装置,其能够在使虚拟化集群系统满足服务质量要求的同时最大 程度地进行节能。 根据本发明的一个方面,提供一种在虚拟化集群系统中进行能效管理的方法,其 中,所述虚拟化集群系统包括一个前端物理主机和至少一个后端物理主机,并且所述至少一个后端物理主机的每一个容纳有至少一个虚拟机和用于管理所述至少一个虚拟机的虚 拟机管理器,所述方法包括以一定的时间周期检测所述虚拟化集群系统的消息的流量特 性;基于所检测的所述消息的流量特性,对所述至少一个后端物理主机的每一个生成各自 的能效管理策略;以及执行所述能效管理策略。 根据本发明的另一个方面,提供一种在虚拟化集群系统中进行能效管理的装置, 其中,所述虚拟化集群系统包括一个前端物理主机和至少一个后端物理主机,并且所述至 少一个后端物理主机的每一个容纳有至少一个虚拟机和用于管理所述至少一个虚拟机的 虚拟机管理器,所述装置包括检测模块,用于以一定的时间周期检测所述虚拟化集群系统 的消息的流量特性;控制模块,用于基于所检测的所述消息的流量特性,对所述至少一个后 端物理主机的每一个生成各自的能效管理策略;以及执行模块,用于执行所述能效管理策 略。


图1是根据本发明的一个实施例的在虚拟化集群系统中进行能效管理的方法的 流程图; 图2是图1所示的实施例中检测流量特性的步骤的流程图; 图3是图1所示的实施例中生成能效管理决策的步骤的流程图; 图4是使用根据本发明的一个实施例的在虚拟化集群系统中进行能效管理的装
置的虚拟化集群系统的示意性方框图。
具体实施例方式
相信通过以下结合附图对本发明的具体实施例的详细描述,本发明的上述和其它 目的、特征和优点将会更加明显。 图1是根据本发明的一个实施例的在虚拟化集群系统中进行能效管理的方法的 流程图。下面结合附图,对本实施例进行详细的描述。 在本实施例和以后的实施例中,所谓"虚拟化集群系统"是指服务于应用的包括一 个或多个实现虚拟化的物理主机的系统。具体地,虚拟化集群系统包括一个前端物理主机 和至少一个后端物理主机,并且至少一个后端物理主机的每一个容纳有至少一个虚拟机和 用于管理至少一个虚拟机的虚拟机管理器。 在本实施例中,前端物理主机是负责消息管理的代理服务器,后端物理主机是实 现虚拟化的服务器,而虚拟机管理器可以使用Hypervisor软件。 —般地,在虚拟机上可安装有操作系统和中间件,并在中间件上运行应用。通过中 间件,可以知道应用的部署和配置、工作负载的实时波动、资源(例如CPU、内存、I/0等)的 提供、实时性能和QoS要求。 如图1所示,在步骤S101,以一定的时间周期检测虚拟化集群系统的消息的流量 特性。如前所述,为了提供最优的能效管理,系统的流量特性是应当考虑的。在本实施例 中,时间周期可以设置为例如5秒,当然,本领域的普通技术人员可以根据需要设置该时间 周期。 图2示出了流量特性检测步骤S101的流程图。如图2所示,在步骤S201中,在前端物理主机上检测流入虚拟化集群系统的总流量的特性数据,其至少包括总流量的到达速 率和消息在从前端物理主机分发到后端物理主机之前的等待时间。在步骤S205中,在每一 个虚拟机上检测流入该虚拟机的分流量的特性数据、资源消耗数据和服务质量数据。在本 实施例中,每一个虚拟机的分流量的特性数据至少包括消息从前端物理主机分发到该虚拟 机的分发速率,资源消耗数据至少包括该虚拟机的CPU利用率,服务质量数据至少包括该 虚拟机处理一个消息的服务时间。 在本实施例中,步骤S201和步骤S205是同时进行的。另外,本领域的普通技术人 员能够理解,上述的系统的流量特性还可以根据不同的应用,包括其它的所需的衡量指标, 例如吞吐量。 接着,在步骤S110,基于在步骤S101检测到的虚拟化集群系统的流量特性,对每 一个后端物理主机生成各自的能效管理策略。图3示出了生成能效管理策略的步骤S110 的流程图。 如图3所示,在步骤S301,根据所检测的流量特性,预测下一个时间周期的流量特
性,包括总流量的特性数据以及每个虚拟机的分流量的特性数据、资源消耗数据和服务质
量数据。该步骤可以通过使用所检测的流量特性训练流量模型来实现。 流量模型可根据虚拟化集群系统所服务的应用使用例如用于模拟HTTP业务流量
和SIP业务流量的机器维修模型(machine r印airmanmodel),或者诸如M/M/n模型的传统
排队模型等。 然后,在步骤S305,基于在步骤S301中预测的下一个时间周期的流量特性,对于 每一个后端物理主机,计算用于能效管理的能效控制参数,以形成该后端物理主机的能效 管理策略。在本实施例中,能效控制参数至少包括总流量的准入速率;每个消息队列的队 列长度限制;每个消息队列的权重;每个CPU的应设定频率值;以及每个CPU的启动/停止 指令。由于不同应用所要求的QoS不同,因此,在前端物理主机上将流入虚拟化集群系统的 消息进行分类,并将不同类别的消息放入不同的消息队列中。在这些参数中,总流量的准入 速率、每个消息队列的队列长度限制和每个消息队列的权重用于控制性能,以达到QoS要 求,而每个CPU的应设定频率值和每个CPU的启动/停止指令用于控制能耗,以达到最大的 能效。上述的能效控制参数构成了能效管理策略。 在该步骤S110中,当前和历史的流量特性被用于预测未来的流量特性,并进一步 地计算能效控制参数,这样,能效管理策略能够迅速响应流量特性的变化,从而达到最大程 度的节能。 下面通过一个具体的例子说明如何计算能效控制参数以形成能效管理策略。
假设虚拟化集群系统包括2个后端物理主机,并且每一个后端物理主机上有1个 CPU,每个CPU的可调频率为600MHz和lOOOMHz。通过在前端物理主机和后端物理主机上的 检测可知,当CPU频率为600MHz且CPU利用率为50%时,该虚拟化集群系统的能耗为200 瓦;当CPU频率为lOOOMHz且CPU利用率为30%时,该虚拟化集群系统的能耗为250瓦;每 个请求所需的CPU的周期个数为1000个周期;并且当前的流量速率(总流量的到达速率) 为300个请求/秒,且保持恒定。 那么,根据当前的流量速率,可计算出此时所有请求能够被服务所需要的CPU的 周期个数是1000X300 = 300M周期/秒。由于每个CPU的最小频率为600MHz,即每秒钟有600M个CPU周期,因此使用一个CPU就能够满足当前的流量要求。在这种情况下,所形 成的能效管理策略如下 1.该系统的总流量准入速率为300请求/秒; 2.使用一个后端物理主机上的CPU,即启动一个CPU,而停止另一个CPU ;
3.确定所使用的CPU的频率为600MHz ,其确定方法如下假如CPU的频率为 600MHz,则当流量准入速率为300请求/秒时,CPU的利用率为(1000X300)/600000 = 50%,此时系统能耗为200瓦;假如CPU的频率为1000MHz,则当流量准入速率为300请求 /秒时,CPU的利用率为(1000X300)/1000000 = 30%,此时系统能耗为250瓦。因此,当 CPU频率设为600MHz时,系统更加节能且能满足300请求/秒的流量要求;
4.前端物理主机中的消息队列的队列长度保持默认长度,因为CPU的资源充足, 对于消息队列的长度没有特殊要求; 5.与启动CPU的后端物理主机对应的消息队列的权重被设为1,与停止CPU的后 端物理主机对应的消息队列的权重被设为O,这表示所有的请求消息都发给启动CPU的后 端物理主机。 然后,在步骤S120,执行在步骤S110中生成的能效管理策略。在本实施例中,根 据总流量的准入速率、每个消息队列的队列长度限制和每个消息队列的权重,在前端物理 主机中控制流入虚拟化集群系统的总流量,并且根据每个CPU的应设定频率值和每个CPU 的启动/停止指令,在每一个后端物理主机的虚拟机管理器中控制对每个虚拟机的资源提 供。 通过以上描述可以看出,采用本实施例的在虚拟化集群系统中进行能效管理的方 法,能够检测虚拟化集群系统的实时流量特性,并以此为基础制定能效管理策略,控制系统 的能量消耗,并对总流量进行准入控制,从而在满足服务质量要求的同时实现最佳节能,以 提供高能效的虚拟化集群系统。 在相同的发明构思下,图4是使用根据本发明的一个实施例的在虚拟化集群系统 中进行能效管理的装置的虚拟化集群系统的示意性方框图。下面结合附图,对本实施例进 行详细描述,其中与前面实施例相同的部分,适当省略其说明。 在本实施例中,如前所述,虚拟化集群系统包括一个前端物理主机和至少一个后 端物理主机,并且每一个后端物理主机容纳有至少一个虚拟机和用于管理这些虚拟机的虚 拟机管理器。 如图4所示,本实施例的在虚拟化集群系统中进行能效管理的装置包括检测模 块,其以一定的时间周期检测虚拟化集群系统的流量特性;控制模块,其基于所检测的流量 特性,对每一个后端物理主机生成各自的能效管理策略;以及执行模块,其执行所生成的能
效管理策略。 在本实施例的装置中,首先,检测模块以一定的时间周期,例如5秒,检测虚拟化 集群系统的流量特性。具体地,检测模块由位于前端物理主机上的第一检测单元401和位 于每一个虚拟机上的第二检测单元402构成。 第一检测单元401检测流入虚拟化集群系统的总流量的特性数据,其至少包括总
流量的到达速率和消息在从前端物理主机分发到后端主机之前的等待时间。 第二检测单元402检测流入该虚拟机的分流量的特性数据、资源消耗数据和服务质量数据,其中,分流量的特性数据至少包括消息从前端物理主机分发到该虚拟机的分发 速率,资源消耗数据至少包括该虚拟机的CPU利用率,服务质量数据至少包括该虚拟机处 理一个消息的服务时间。 然后,检测模块检测到的流量特性被传输给控制模块,用于生成每个后端物理主 机的能效管理策略。 具体地,在控制模块中,预测单元403根据所接收的流量特性,预测下一个时间周 期的流量特性。在本实施例中,预测单元403通过使用所接收的流量特性训练流量模型来 进行预测。如前所述,流量模型可以采用机器维修模型或者传统的排队模型等。
然后,由预测单元403预测的下一个时间周期的流量特性被传送给计算单元404, 由计算单元404计算用于每一个后端物理主机的能效管理的能效控制参数,从而形成该后 端物理主机的能效管理策略。在本实施例中,能效控制参数至少包括流入虚拟化集群系统 的总流量的准入速率、每个消息队列的队列长度限制、每个消息队列的权重、每个CPU的应 设定的频率值和每个CPU的启动/停止指令。 在本实施例中,控制模块可以是单独的部件,也可以集成在前端物理主机或者一
个后端物理主机上。可选地,控制模块也可采用软件形式实现,其作为单独的软件进程运行
在独立的物理主机上,或者运行在前端物理主机或者一个后端物理主机上。 然后,在控制模块中生成的能效管理策略被提供给执行模块。在执行模块中,第一
执行单元405根据能效管理策略中的总流量的准入速率、每个消息队列的队列长度限制和
每个消息队列的权重,在前端物理主机中控制流入虚拟化集群系统的总流量;第二执行单
元406根据能效管理策略中的每个CPU的应设定频率值和每个CPU的启动/停止指令,在
每一个后端物理主机的虚拟机管理器中控制对每个虚拟机的资源提供。 在本实施例中,第一执行单元405和第二执行单元406是单独的部件。但本领域
的普通技术人员能够理解,第一执行单元405和第二执行单元406也可以合成为一个执行
单元,或者将第一执行单元405集成在前端物理主机中,而将第二执行单元406集成在虚拟
机管理器中。 通过以上描述可以看出,本实施例的在虚拟化集群系统中进行能效管理的装置在
操作上可以实现图1至图3所示的在虚拟化集群系统中进行能效管理的方法。 应当指出,本实施例的在虚拟化集群系统中进行能效管理的装置及其各个组成部
分可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现
场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种
类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。 以上虽然通过一些示例性的实施例详细描述了本发明的在虚拟化集群系统中进
行能效管理的方法和装置,但是以上这些实施例并不是穷举的,本领域技术人员可以在本
发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范
围仅由所附的权利要求限定。
权利要求
一种在虚拟化集群系统中进行能效管理的方法,其中,所述虚拟化集群系统包括一个前端物理主机和至少一个后端物理主机,并且所述至少一个后端物理主机的每一个容纳有至少一个虚拟机和用于管理所述至少一个虚拟机的虚拟机管理器,所述方法包括以一定的时间周期检测所述虚拟化集群系统的流量特性;基于所检测的所述流量特性,对所述至少一个后端物理主机的每一个生成各自的能效管理策略;以及执行所述能效管理策略。
2. 根据权利要求1所述的方法,其中,所述检测所述虚拟化集群系统的流量特性的步 骤包括在所述前端物理主机上检测流入所述虚拟化集群系统的总流量的特性数据;以及 在所述至少一个虚拟机的每一个上检测流入该虚拟机的分流量的特性数据、资源消耗 数据和服务质量数据。
3. 根据权利要求2所述的方法,其中,所述总流量的特性数据至少包括总流量的到达 速率和消息在从所述前端物理主机分发到所述至少一个后端物理主机之前的等待时间。
4. 根据权利要求2所述的方法,其中,每一个所述虚拟机的所述分流量的特性数据至 少包括消息从所述前端物理主机分发到该虚拟机的分发速率。
5. 根据权利要求2所述的方法,其中,每一个所述虚拟机的所述资源消耗数据至少包 括该虚拟机的CPU利用率。
6. 根据权利要求2所述的方法,其中,每一个所述虚拟机的所述服务质量数据至少包 括该虚拟机处理一个消息的服务时间。
7. 根据权利要求1至6任意一项所述的方法,其中,所述生成所述虚拟化集群系统的能 效管理策略的步骤包括根据所检测的所述流量特性,预测下一个时间周期的流量特性;以及 基于所预测的下一个时间周期的流量特性,对于每一个所述后端物理主机,计算用于 能效管理的能效控制参数,以形成该后端物理主机的能效管理策略。
8. 根据权利要求7所述的方法,其中,所述预测未来的流量特性的步骤通过训练流量 模型实现。
9. 根据权利要求7或8所述的方法,其中,所述能效控制参数至少包括总流量的准入 速率海个消息队列的队列长度限制海个消息队列的权重海个CPU的应设定频率值;以 及每个CPU的启动/停止指令。
10. 根据权利要求9所述的方法,其中,所述执行所述能效管理策略包括根据所述能效管理策略中的总流量的准入速率、每个消息队列的队列长度限制和每个消息队列的权重,在所述前端物理主机中控制所述总流量;以及根据所述能效管理策略中的每个CPU的应设定频率值和每个CPU的启动/停止指令, 在所述至少一个后端物理主机的每一个中的所述虚拟机管理器中控制对每一个所述虚拟 机的资源提供。
11. 一种在虚拟化集群系统中进行能效管理的装置,其中,所述虚拟化集群系统包括一个前端物理主机和至少一个后端物理主机,并且所述至少一个后端物理主机的每一个容纳 有至少一个虚拟机和用于管理所述至少一个虚拟机的虚拟机管理器,所述装置包括检测模块,用于以一定的时间周期检测所述虚拟化集群系统的流量特性; 控制模块,用于基于所检测的所述流量特性,对所述至少一个后端物理主机的每一个 生成各自的能效管理策略;以及执行模块,用于执行所述能效管理策略。
12. 根据权利要求11所述的装置,其中,所述检测模块包括第一检测单元,其位于所述前端物理主机上,用于检测流入所述虚拟化集群系统的总 流量的特性数据;以及 第二检测单元,其位于所述至少一个虚拟机的每一个上,用于检测流入该虚拟机的分 流量的特性数据、资源消耗数据和服务质量数据。
13. 根据权利要求12所述的装置,其中,所述总流量的特性数据至少包括总流量的到 达速率和消息在从所述前端物理主机分发到所述至少一个后端物理主机之前的等待时间。
14. 根据权利要求12所述的装置,其中,每一个所述虚拟机的所述分流量的特性数据 至少包括消息从所述前端主机分发到该虚拟机的分发速率。
15. 根据权利要求12所述的装置,其中,每一个所述虚拟机的所述资源消耗数据至少 包括该虚拟机的CPU利用率。
16. 根据权利要求12所述的装置,其中,每一个所述虚拟机的所述服务质量数据至少 包括该虚拟机处理一个消息的服务时间。
17. 根据权利要求11至16任意一项所述的装置,其中,所述控制模块包括 预测单元,用于根据所检测的所述流量特性,预测下一个时间周期的流量特性;以及 计算单元,用于基于所预测的下一个时间周期的流量特性,对于每一个所述后端物理主机,计算用于能效管理的能效控制参数,以形成该后端物理主机的能效管理策略。
18. 根据权利要求17所述的装置,其中,所述预测单元通过训练流量模型来进行预测。
19. 根据权利要求17或18所述的装置,其中,所述能效控制参数至少包括总流量的 准入速率;每个消息队列的队列长度限制;每个消息队列的权重;每个CPU的应设定的频率 值;以及每个CPU的启动/停止指令。
20. 根据权利要求19所述的装置,其中,所述执行模块包括第一执行单元,用于根据所述能效管理策略中的总流量的准入速率、每个消息队列的 队列长度限制和每个消息队列的权重,在所述前端物理主机中控制所述总流量;以及第二执行单元,用于根据所述能效管理策略中的每个CPU的应设定频率值和每个CPU 的启动/停止指令,在所述至少一个后端物理主机的每一个中的所述虚拟机管理器中控制 对每个所述虚拟机的资源提供。
全文摘要
本发明涉及一种在虚拟化集群系统中进行能效管理的方法,其中,所述虚拟化集群系统包括一个前端物理主机和至少一个后端物理主机,并且所述至少一个后端物理主机的每一个容纳有至少一个虚拟机和用于管理所述至少一个虚拟机的虚拟机管理器,所述方法包括以一定的时间周期检测所述虚拟化集群系统的流量特性;基于所检测的所述流量特性,对所述至少一个后端物理主机的每一个生成各自的能效管理策略;以及执行所述能效管理策略。采用本发明的方法,能够检测虚拟化集群系统的实时流量特性,并以此为基础制定能效管理策略,控制系统的能量消耗,并对总流量进行准入控制,从而在满足服务质量要求的同时实现最佳节能,以提供高能效的虚拟化集群系统。
文档编号G06F1/32GK101739113SQ20081017633
公开日2010年6月16日 申请日期2008年11月20日 优先权日2008年11月20日
发明者吴海珊, 李立, 杨博, 田瑞雄, 高志国 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1