虚拟机功耗测量和管理的制作方法

文档序号:8528100阅读:499来源:国知局
虚拟机功耗测量和管理的制作方法
【专利说明】
[0001] 本发明专利申请是国际申请号为PCT/US2011/026353,国际申请日为2011年2月 25日,进入中国国家阶段的申请号为201180011019.0,名称为"虚拟机功耗测量和管理"的 发明专利申请的分案申请。
技术领域
[0002] 本发明涉及计算机领域,更具体地,涉及虚拟机技术。
【背景技术】
[0003] 数据中心、云计算基础设施、计算集群、企业计算工具和高性能计算工具在将工作 负载运行在共享物理服务器上的同时,越来越多地使用虚拟机来隔离工作负载。虚拟机是 对计算设备的仿真,其严格意义上是软件但像物理计算设备那样运作。这意味着一个或多 个虚拟机可驻留在单个物理主机服务器上。然而,在运行在虚拟机上的客户端和全部软件 看来,每个虚拟机是独立的服务器。
[0004] 虚拟化(或使用虚拟机)允许将多个应用安全地置于单个物理主机服务器上,因 为每个应用在其"虚拟"计算机内部运行,并且不影响其他应用。这允许服务器资源被更好 地利用,并且降低所需的服务器的数量以及托管它们(诸如电力和冷却)的操作成本。因 此,虚拟化是管理计算资源的高效技术,并正在数据中心和大规模计算工具中获得广泛的 接受。
[0005] 数据中心和其他计算工具经常监视服务器的功率使用,以便正确地管理功率容量 和分布。功率测量结果数据还用于制定若干手动和自动的功率管理决策。事实上,功率计 量在数据中心中是如此的广泛,以至于功率分配单元(PDU)、电源板、服务器电源都供应测 量功率所需的功率计量仪器,并且在新服务器中,甚至是服务器主板已经包含了测量功率 所需的功率计量仪器。测量物理服务器中的功耗的另一种方法是将功率计量仪器连接到服 务器。
[0006] 物理服务器的功耗可通过计量被供应给服务器的电量来测量。然而,虚拟机是在 软件中被创建的,并且不存在将功率表连接到虚拟机的简单方法。这使得测量虚拟机的功 耗非常困难。用于物理服务器的技术仅能报告服务器的总的功率提取。但是,它们无法用 于测量驻留在单个物理主机服务器上的多个虚拟机中每一个的单独功耗。事实上,单纯地 使用硬件方案无法测量虚拟机的功耗。
[0007] 测量虚拟机的功耗的能力是重要的。用户或服务器管理器不能测量每台虚拟机所 使用的功率。出于若干理由,测量该功率是有用的。例如,如果虚拟机正在使用过量的功率, 则它可能必须被关闭或被迀移到具有额外能力的不同的电源电路。另外,软件开发者可测 量出它们的软件在被运行于物理服务器上时消耗了多少能量,但无法在软件运行在虚拟机 上时测量该能量。无法测量功率使用削弱了开发者优化软件以得到更低功耗的能力。测量 虚拟机功耗的另一个用途是基于功率使用向用户返还费用。诸如在云计算中使用的共享物 理服务器允许多个用户在共享的物理基础设施上运行虚拟机。物理服务器的所有者可能希 望基于功率使用向虚拟机用户收费。
[0008] 而虚拟机功率计量的另一个用途、以及下面更详细地描述的一个用途产生于虚拟 机功率设限。功率设限允许电力基础设施的过度预订,并带来功率容量的更高效的利用率。 然而,当前的功率设限技术被设计用于物理服务器,而无法在被应用到虚拟机时很好地工 作。例如,对物理服务器的功率进行设限导致了对在该服务器上托管的全部虚拟机的设限。 这破坏了虚拟机所提供的工作负载的隔离,并可使得使用虚拟化的益处受挫。
[0009] 因此,大规模计算工具中功率管理的主要组件之一是对功率的可视性。然而,越来 越多地在数据中心中使用的虚拟化机器正缺少这种能力。使用虚拟机允许安全地隔离多个 处于相同位置的工作负载,使得多个工作负载能在更少的服务器上被合并,并且带来被改 善的资源利用率。然而,缺少对虚拟机功率使用的可见性带走了在无虚拟化的情况下可用 的服务器功率计量的许多好处。

【发明内容】

[0010] 提供本
【发明内容】
以便以简化形式介绍将在以下详细描述中进一步描述的一些概 念。本
【发明内容】
并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制 所要求保护主题的范围。
[0011] 虚拟机功率计量系统和方法的各实施例测量各个虚拟机的功耗。功耗计量通常用 在物理服务器上,以制定若干功率管理和操作决策。虚拟机功率计量系统和方法的各实施 例允许在虚拟机上也能作出这样的决策。
[0012] 一般的想法是测量整个物理主机服务器的功耗的功率表测量被转换成各个虚拟 机功率表,该虚拟机功率表测量驻留在主机服务器上的每个单独虚拟机的功耗。虚拟机功 率计量系统和方法的各实施例将与任意数量的虚拟机一同工作,并且跨多个物理主机服务 器工作。
[0013] 了解单个虚拟机的功耗对于在数据中心或任一虚拟化服务器中制定的若干功率 管理决策来说是有用的。例如,虚拟机功率计量可用于虚拟机功率设限,以允许虚拟化环境 中的功率过度预订。可以执行该虚拟机管理设限,而不破坏隔离属性。各个虚拟机功耗测 量结果还可用于跟踪跨越多个虚拟机的活动(诸如,搜索查询)的功耗。
[0014] 虚拟机功率计量系统和方法的各实施例不需要供应功率模型的硬件。在进行中得 知所需要的任何信息。该系统和方法的各实施例自动地学习将硬件(或资源)使用(诸如, 中央处理单元(CPU)使用、磁盘使用、存储器使用、网络使用等)与功耗相关的功率模型。随 后跟踪每个虚拟机的硬件使用以推断该虚拟机的功耗。
[0015] 该系统和方法的各实施例在两大步骤中计算该功耗。第一,使用物理主机服务器 的总功耗以及特定虚拟机的资源利用率来生成并训练功率模型。资源利用率是对虚拟机正 在使用多少资源的判定。将这些资源利用率相加以发现虚拟机的总的资源利用率。生成将 总的资源利用率与总功耗相关的功率模型。
[0016] 该系统和方法的各实施例还在该步骤期间确定最优功率模型系数。这通过确定由 虚拟机正在使用的资源的数量N来实现。生成并求解具有N个未知数的一系列N个等式, 以获得最优功率模型系数。
[0017] 该系统和方法的各实施例还包括功率模型学习技术,其中所学到的模型对于在每 个虚拟机内部托管的工作负载是唯一的。这说明了在功率使用中工作负载之间可被发现的 差距,即使工作负载具有相同或看起来相似的资源使用。
[0018] 第二,该系统和方法的各实施例计算虚拟机所使用的能量。可使用若干实施例来 计算该能量。一个实施例使用虚拟机所使用的资源的百分比,并随后将这些百分比相加以 获得该虚拟机的功耗。在其他实施例中,按照单位而不是百分比来测量所使用的资源。作 为示例,仅举数例,所测量的资源可包括CPU、存储器、磁盘、网卡和风扇。在这些实施例中, 可通过考虑主机服务器的CPU频率来扩充功率模型。
[0019] 该系统和方法的各实施例还可用于获得特定活动的功耗。活动可以是服务、请求 (诸如,web搜索查询)、电子邮件递送、网页检索、数据库操作、或文件更新。即使该活动是 跨多个虚拟机并且跨多个主机服务器,也可以计算该活动的功耗。确定活动时间段,该活动 时间段是在计算基础设施上该活动为活跃的时间段。该系统和方法的各实施例随后通过将 各个活动时间段期间在该活动上工作的每个虚拟机的功耗相加以获得总的活动功耗,来计 算功耗。
[0020] 应当注意,替换实施例也是可能的,并且此处所讨论的步骤和元素可取决于特定 实施例而改变、添加或消除。这些替换实施例包括可使用的替换步骤和替换元素,以及可做 出的结构上的改变,而不脱离本发明的范围。
【附图说明】
[0021] 现在参考附图,在全部附图中,相同的参考标号表示相应的部分:
[0022] 图1是示出在主机服务器计算设备上实现的虚拟机功率计量系统和方法的各实 施例的综合概述的框图。
[0023]图2是示出在图1所示的虚拟机功率计量系统和方法的各实施例中使用的模块和 数据的框图。
[0024
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1