基于虚拟cpu的频率和电压调节的制作方法

文档序号:6339617阅读:440来源:国知局
专利名称:基于虚拟cpu的频率和电压调节的制作方法
基于虚拟CPU的频率和电压调节
背景技术
随着微处理器和计算机系统的发展,能够在单个平台上执行更大量的软件。为了 适应可能为不同的平台和操作系统(OS)编写的不同软件,开发了虚拟化技术。虚拟化使得 多个OS和应用程序能够共享单个硬件平台的资源并且并发地在该单个硬件平台上执行。 目前,虚拟化正在试图进入不同类型的计算环境,从小型服务器到同时向多个用户提供计 算服务的大型数据中心。通常使用被称为虚拟机监视器(VMM)的软件实体来实现虚拟化。VMM向每个OS提 供一个虚拟机(VM),该VM具有该OS可以完全并直接地进行控制的虚拟资源,所述虚拟资源 包括一个或多个虚拟处理器、虚拟存储器和虚拟输入/输出(I/O)资源。VMM维护用于实现 虚拟化策略(例如,在多个VM之间共享和/或分配物理资源)的系统环境。在VM上运行 的每个OS和其它软件被称为客户机(guest)或客户机软件,而主机(host)或主机软件是 在虚拟化环境以外运行的软件,例如VMM。因此,虚拟化技术允许多个客户机软件同时地在 单个主机或物理平台上运行。在系统上执行的客户机可以看到虚拟中央处理单元(VCPU), 其在该客户机看来是与真实的物理CPU(PCPU)具有相同的特征或特征子集的物理CPU。因为虚拟化技术能够把许多不同的工作负载合并到单个物理机中,所以虚拟化得 以有效利用物理资源,并因此在一些方面,其可以被看作是一种环境友好的(或“绿色的”) 技术。这为利用虚拟化技术提供了动力,尤其是因为能耗越来越受到关注。然而,简单地把 多个OS合并到单个平台上可能仍旧不足以满足效率需求。为此目的,日益要求虚拟化技术 进一步采用细粒度的功率管理(或节能)功能,该类型的功能最早是在客户端设备上引入 的、而现在即使在高端服务器上也很普遍。然而,CPU的虚拟化及物理资源的持续共享和重 新分配增加了一层复杂性,使得难以把在物理机上由OS实现的传统功率管理技术转换到 虚拟环境中。


图1是根据本发明的一个实施例的系统的框图。图2是根据本发明的一个实施例的方法的流程图。图3是根据本发明的一个实施例的示例性虚拟机监视器的框图。
具体实施例方式在各种实施例中,包括频率调节(scaling)和电压调节在内的节能功能可以被有 效地与虚拟化技术结合起来。当前的虚拟系统要么是未能提供任何类型的调节功能(因此 在节能方面做的很少),要么就是简单地重复在物理机上由OS实现的相同的节能算法。然 而,目标是在物理环境中使用的调节算法没有很好地转换到虚拟环境中。在物理机上实现 的通用调节技术的一个例子被称作动态电压和频率调节(或DVFQ。芯片组(例如,处理器 或CPU)上消耗的功率取决于施加到该芯片组中的静态CMOS门上的电压和频率。根据DVFS 技术,通过基于变化的情况来改变施加到CPU上的信号的电压和频率,有效地降低了功耗。在实现DVFS技术的系统中,调节算法以将对性能产生最小影响的方式,智能地确定何时适 于调节电压和频率。实现该功能的一种方式是基于CPU利用率来进行调节决策。然而,对用虚拟机实现的许多不同类型的工作负载(例如,存储器密集型工作负 载,等待时间敏感型工作负载等等)而言,基于物理处理器(即,PCPU)的利用率的节能算 法几乎没有意义。因为虚拟化把并发地执行的不同工作负载合并到单个物理机中,所以基 于物理处理器的利用率的调节算法可能反应很慢,并且可能没有被紧密耦合到当前调度的 工作负荷。此外,简单地重复物理机所使用的算法漏掉了使用虚拟化事件(其指示在虚拟 CPU上运行的工作负载特性)的机会。考虑到使这种指示可见所需的复杂性和成本的缘故, 在实际的硬件实现中这种指示很少见。然而,由于VMM必须用软件向客户机提供虚拟资源 (例如,CPU,存储器,1/0),所以这些指示在虚拟化环境中是很容易就可用的。于是,在本发明的一些实施例中,频率和电压调节技术被耦合到每个虚拟CPU而 不是物理CPU。例如,每个虚拟CPU配备有它自己的工作负载剖析(profiling)通道和/或 它自己的调节算法,以使该调节适合于并耦合到该特定VCPU。另外,一些实施例基于对虚拟 化事件的连续监视来剖析工作负载特性,以便动态地和更加智能地对在各种VCPU上运行 的不同工作负载作出反应。在这样的实施例中,取决于当前正执行的工作负载的实际特性, 有多种不同的调节算法可供选择。以此方式,频率和电压调节能够响应快速变化的合并的 工作负载模式,同时可以在不牺牲性能的情况下达到节能的效果。频率和电压调节算法通常基于与PCPU的需求和利用率相关的历史信息。例如,一 些OS实现周期性地一例如,以20毫秒(ms)的间隔——对PCPU利用率进行取样。基于 过去的PCPU利用率模式,可以为CPU确定在下一个20ms的间隔内适当的时钟频率(或调 节因素)。例如,如果CPU利用率高,则将选择一个高频率。同样地,如果利用率低,则可以 选择一个低频率。这种技术通常在物理系统中是可以胜任的,这是由于OS系统调度器典型 地以短间隔(例如,Ims)运行,因此在20ms的窗口中看到的工作负载模式通常足以提供单 个PCPU上的平均工作负载模式的精确指示。然而,因为在PCPU上运行的多个VCPU需要分时占用该PCPU,所以VMM调度器的 行为有所不同。不同于以短间隔运行的是,VMM调度器把它对任务的调度放宽到一个较长 的间隔,以避免通常伴随着每个新引入的虚拟化层而带来的高上下文切换开销。例如,VMM 典型地具有大约30ms的调度间隔。因为该时间量(例如,30ms)在大小上相对接近于PCPU 调节算法的频率调节间隔(例如,20ms),所以很有可能前一个被调出(scheduled-out)的 VCPU的模式将被用来确定下一个被调入(scheduled-in)的VCPU的频率调节。由于被调出 的和被调入的VCPU可能运行着类型差异巨大的工作负载,因此,为被调入的VCPU选择的频 率可能并不适合当前正执行的工作。这种问题是一类被称为“误调节”的问题。在这种情 况下,一种避免误调节问题的方法将是简单地扩大调节间隔(例如,至200ms或更大)。然 而,大的调节间隔反过来会导致调节算法不能及时地对正在进行的工作负载的快速变化的 特性作出响应,并且还可能引起资源共享的公平性问题。于是,本发明的实施例通过为每个 VCPU提供它自己的剖析通道,从而允许单独地监视和分析每个VCPU的特性,来避免误调节 问题。因此,调节决策能够基于在VCPU上实际正执行的工作负载的特性。如上所述,调节决策典型地可以取决于CPU利用率,然而,CPU利用率并不总是对 于特定工作负载的最佳频率的精确指示,其也会导致误调节情况。例如,存储器密集型工作负载可能使CPU饱和,但也可能存在许多停顿周期(stall cycle)。因此,尽管CPU利用率 将指示应该选择高频率,但是实际上能够选择低频率而不会对性能产生不利影响。于是,本 发明的一些实施例通过使工作负载特性剖析通道适合于识别不是基于CPU利用率的那些 工作负载模式,来解决这类误调节问题。在一些实施例中,通过为每个VCPU使用不同的调节算法,基于VCPU的调节还可以 提供更多的优势。进一步地,多种调节算法可供任何一个VCPU使用。例如,一种调节算法 可以适合基于CPU利用率来选择频率,另一种调节算法可以被用于基于性能考虑来选择频 率,而再一种调节算法可以基于节能来进行其决策,等等。在这样的实施例中,可以基于由 剖析通道提供的当前工作负载的特性来动态地选择特定的调节算法。之后,如果当前工作 负载的特性发生变化,则可以用另一种调节算法来替换当前选定的调节算法。例如,如下面 将进一步详细阐明的,I/O密集型工作负载、存储器密集型工作负载和等待时间敏感型工作 负载都可以得益于使用考虑到这些工作负载的真实特性的不同的调节算法。除了提供适合每个VCPU的改进的调节功能,基于VCPU的调节还提供了机会,使得 能够更加精确地确定是否遵守计算服务提供商和它的客户之间的服务水平协议。例如,这 种协议可能具有某些基于物理处理资源的利用率和速度的条文。因此,每个VCPU正在运行 的频率是被考虑进服务水平协议要求的一个因素。如果使用基于PCPU的调节,可能无法精 确地保证遵守频率要求。因此,只要服从这种要求的任何VCPU正运行在PCPU上,则基于 PCPU的调节算法可能不得不被禁用。因此,基于VCPU的调节能够方便以更精确的方式,针 对每个客户的工作负载,对系统的处理资源的利用率进行度量和计费。图1说明了根据本发明的一个实施例的示例性框架100,其用于在虚拟环境中实 现基于VCPU的调节。尽管图1示出虚拟化框架100的一个实施例,但是应该理解还可以用 其它框架、体系结构、系统、平台或环境来实现实施例,这取决于使用虚拟化技术的特定应 用。如图1所示,虚拟化框架100包括裸硬件平台102,其可以相当于能够执行OS或 VMM软件的任何类型的计算机系统。例如,裸硬件平台可以是个人计算机、大型计算机、便 携式计算机、手持计算机、机顶盒、服务器或任何其它计算系统的硬件平台。如图1所示,裸 硬件平台102包括物理处理器(或PCPU) 104、存储器106、1/0资源107和用于生成供平台 102的各种元件(例如,PCPU 104)使用的具有频率和电压的时钟信号的时钟生成/调节电 路 108。PCPU 104可以是任何类型的处理器,包括诸如多核处理器这样的通用微处理器、 微控制器或可编程逻辑。尽管图1仅示出一个PCPU 104,但应该理解裸硬件平台102可以 包括多个处理器,其中可以包括许多个多核处理器(每个可以有许多个执行核心)以及许 多个多线程处理器(每个可以有许多个线程)。图1示出的存储器106可以包括动态随机存取存储器(DRAM)或其它类型的存储 器,例如静态随机存取存储器。裸硬件平台102还可以包括许多个附加的设备或连接,其中 包括用于存储数据、应用程序、软件指令等等的各种存储设备。除了裸硬件平台102,图1的系统100还包括VMM 110以及VM 118和120,其中VM 118和120具有VCPU 112a、112b、112η,客户机OS 122和124,以及客户机应用程序126、 128、130和132。如图所示,客户机OS 122以及客户机应用程序126和128被安装在VM 118上,供VCPU 112a和112b执行。客户机OS 124以及客户机应用程序130和132被安装在 VM120上,供VCPU 112η执行。然而,应该理解系统100可以包括许多个VM、客户机和VCPU, 而VM可以包括其它虚拟资源(例如,虚拟存储器,虚拟I/O资源等等),并且本发明的范围 在这一点上并不受限。VMM 100可以是被安装在裸硬件平台102上或可由其访问的任何软件、固件或硬 件主机,用于向客户机提供VM,即裸硬件平台102的抽象,或者另外,创建及管理VM并且实 现虚拟化策略。在其它实施例中,主机可以是任何VMM、管理程序、OS、或能够控制裸硬件平 台102的其它软件、固件或硬件。客户机可以是任何OS、任何VMM(包括VMM 110的另一实 例)、任何管理程序、或任何应用程序或其它软件。继续参考图1,VMM 100包括基于虚拟的频率和电压调节(VBFVS)中心134和多 个VBFVS实例136a-n。每个VBFVS实例136a_n都被分配给一个VCPU 112a_n。每个VBFVS 实例136a-n还被绑定到一个剖析通道138a-n和一个调节算法140a-n,其中所述剖析通道 138a-n对VCPU的工作负载的特性进行剖析,所述调节算法140a-n根据由剖析通道提供的 剖析结果来确定合适的调节频率和/或电压(或调节因素)。在一些实施例中,可以动态 地执行到特定调节算法的绑定。例如,剖析数据可以指示调节算法140b比当前绑定的算法 140a更适于当前正在VCPU上运行的工作负载。在此情况下,VBFVS实例136可以动态地从 算法140a切换到调节算法140b。再次参考图1,系统100还包括用于调度每个VCPU 112a-n的VMM调度器142。当 调度器142调入一个新的VCPU (例如,VCPU 112b)时,调度器142向VBFVS中心1;34发送上 下文切换事件。当VBFVS中心134接受该上下文切换事件后,VBFVS中心134选择VBFVS实 例(例如,实例136b)来分配给被调入的VCPU 112b。与该VBFVS 136b实例相关联的剖析 通道(例如,通道138b)被启动,并且向绑定到该实例136b的调节算法(例如,算法140b) 提供信息,以便确定适合的调节频率和/或电压。然后,VBFVS中心134通过向为PCPU 104 生成时钟信号的时钟生成电路108发送关于新频率的指示,来对频率进行调节。在一些实 施例中,在VCPUl 12b被调入的整个周期中反复地执行该调节。在一个实施例中,每个VBFVS实例136还与计费和预算模块(ABM) 144相关联,以 便在VCPU级别提供细粒度的功率和能源计费。图2示出可以在系统100中实现的用于确定频率和/或电压调节的示例性流程 图。应该理解,本发明并不限于所示出的特定步骤或步骤的特定次序。其它实施例可以包 括更多或更少的步骤并且可以改变步骤的执行次序。在图2中,在块202,VMM调度器142调入一个新的VCPU (例如,VCPU 112b)。在块 204,VMM调度器142向VBFVS中心134发送上下文切换事件。然后,VBFVS中心134为被调 入的VCPU 112选择VBFVS实例136(块206)。在一些实施例中,VBFVS中心134还可以向 调度器142发送调节统计信息。例如,VBFVS中心134可以存储被调出的VCPU最后使用了 哪个剖析通道和调节算法,并且可以更新与工作负载特性和VCPU使用率有关的统计信息。 VBFVS中心1;34还可以记录被确定供被调出的VCPU使用的最后频率。VBFVS中心1;34还可 以向调度器142发送该统计信息。进一步地,VBFVS中心134可以恢复先前记录的被调入 的VCPU 112的最后频率,并且解冻该当前被调入的VCPU 112最后使用的剖析机制和调节 算法。在其它实施例中,VBFVS中心134可以使用用于确定被调入的VCPU最初使用的那个频率、剖析机制和调节算法的其它技术,例如使用默认的起始参数。不管以何种方式为被调入的VCPU初始选择剖析机制、调节算法和频率/电压,选 定的剖析通道138被激活并且开始收集数据以用于剖析被调入的VCPU 112上当前正执行 的工作负载的特性(块208和210)。然后,向所选定的调节算法140提供被剖析的信息。 在块212,算法140确定适当的频率/电压(或调节因素)并且把它发送给VBFVS中心134。 然后,VBFVS中心134使得时钟生成电路108相应地调节时钟频率/电压。剖析通道138继 续收集并向调节算法140发送数据,而调节算法140继续响应于该数据而对频率和/或电 压进行调节,直到一个新的VCPU被调入。如前所述,可以使用各种类型的调节算法,并且实际上,多种不同类型的调节算法 可供当前被调入的VCPU进行选择。因此,在一些实施例中,图2示出的调节技术还包括一个 步骤,即基于被剖析的工作负载来改变或选择一个新的调节算法140(块214)。例如,在本 发明的一个示例性实施例中,可供选择的一种调节算法是基于CPU需求的调节(CPU-DBS) 算法。通常,可以通过下式来计算物理CPU的利用率。(Telapsed-T idle)/Telapsed ( - l)其中Telapsed是从上一次对利用率进行取样后所经过的时间,而Tidle是在整个所经 过的阶段中的CPU空闲时间。对基于VCPU的调节框架而言,可以修改该基于需求的公式,以使得它和VCPU紧密 耦合,从而减少误调节的发生。例如,考虑虚拟环境的几种新的因素可以被引入到剖析通道 130中。作为一个例子,在虚拟机中,VMM调度器142通常为每个被调入的VCPU 112分配某 个时间量(timequantum)(例如,30ms)。然而,在一些情况中被调入的VCPU 112可能在一 个时间片内并未用完它被批准的整个时间量。当由于VCPU 112进入空闲状态而导致它自 己停止运行时,会出现一种这样的情况。在这种情况下,VMM调度器142可以把VCPU 112置 于阻塞状态,直到发生虚拟化事件来唤醒该VCPU 112。为了确定VCPU的利用率,VCPU 112 保持处于阻塞状态中的时间可以被称为Tbl。。ked。因此,调度器142可以适合于向剖析通道 138发送所批准的时间量和该阻塞时间参数,以用于剖析工作负载的特性。另一种的VCPU 112在单个时间片内可能并未用完它的整个时间量的情况可能会 出现在VCPU 112被其它更高优先级的VCPU 112抢占时。这里,被抢占的VCPU 112仍然可 运行,但是正挂起在运行队列中并且实际上有一些正在进行的有意义的作业。再一次地,为 了确定VCPU 112的利用率,被抢占的时间可以被称为Tst。lm。而且,调度器142可以适合于 向剖析通道138发送该被占时间参数。给定这些新的因素,剖析通道138可以如下计算VCPU 112的利用率(TqimrrtUm ^stolen ^blocked^ I ^quantum ^stolen )(Eq. 2)通过使用方程⑵来确定VCPU 112的利用率,针对原生OS环境的已知需求的频 率调节算法可以用于差异化的环境,其中VCPU 112的利用率(而不是PCPU 104的利用率) 被提供作为基于DBS的算法140的输入。以VCPU的利用率作为输入,CPU-DBS算法针对低 利用率输出较低频率,反之亦然。然而,有一些情况中CPU-DBS算法并不提供性能和节能之间的最佳平衡。在一些 情况下,通过剖析与当前工作负载的特性有关的附加的或不同的信息(除了 VCPU 112的利 用率以外的),可以达到较好的平衡。在虚拟环境中,在虚拟化期间产生了许多从中可以推断出工作负载特性的提示。更具体地,为了在单个物理机上合并多个VM,VMM需要截获来自 每个VM的各种类型的敏感动作,仿真所期望的行为,并且注入异步虚拟中断。与在裸硬件 平台上运行相比,这一新的虚拟化层给虚拟机增加了开销。然而,由该不可避免的开销所提 供的丰富提示可以被用来帮助推测工作负载特性。作为一个例子,基于仿真的输入/输出(I/O)设备上的I/O请求的频率,可以容 易地辨别出具有I/O密集特性的工作负载。如果I/O设备在驱动程序级是半虚拟化的 (para-virtualized),则知道该情况的驱动程序会主动地提供指示I/O密集型工作负载的 统计信息。作为另一个例子,存储器虚拟化事件可以是存储器密集型工作负载的指示。例 如,由于客户机页表包含了不能直接被PCPU理解的虚拟存储器地址,因此VMM典型地可以 维护影子页表,该影子页表是根据客户机页表生成的,并且一旦客户机页表发生改变则与 该客户机页表保持同步。VMM可以把客户机页表标记为只读。因此,当客户机试图修改它的 当前页表时,将出现页失效,以便VMM和其同步。如果VCPU频繁地分配和释放存储器,则可 以根据指示这种页失效的统计信息,辨别出这种类型的工作负载。也可以容易地辨别出等 待时间敏感型工作负载。典型地,等待时间敏感模式以多个计时器和中断为特征。由于计 时器和中断的源是由VMM虚拟化的,因此VMM能够追踪这些事件来辨别等待时间敏感型工 作负载。应该理解,上述虚拟化事件仅仅是示例性的,并且其它类型的事件或指示及其组 合可以被用来剖析和推断工作负载的特性,并因此选择出适当的调节算法。此外,取决于 VMM的特定实现、基础硬件虚拟化特征的要素等等,可以改变可以剖析和推断工作负载特性 的方式。不管工作负载特性是以何种特定方式辨别出来的,本发明的实施例可以把那些特 性导入图1示出的基于VCPU的调节框架。使用这些工作负载特性,可以选择特定的调节算 法以绑定到被分配给运行该工作负载的VCPU的VCPU实例。下面的例子说明了由于有可供基于工作负载特性进行选择的多种类型的调节算 法,而可以获得的益处。作为第一个例子,存储器密集型工作负载典型地具有许多停顿周 期。这样,这种工作负载能够以较低频率的时钟运行,而不会损失性能;而与此同时,较低频 率的操作能够导致节能。在这种情况下,由于在存储器密集型工作负载的情况下VCPU可能 完全饱和,并且CPU-DBS算法将计算得到一个高频率,因此CPU-DBS算法并不是好的候选算 法。相反,基于识别出存储器密集型工作负载能够以较低频率运行,可以选择基于节能的调 节算法。因此,如果剖析通道所收集的数据暗示一种存储器密集型工作负载,则可以选择节 能算法,使得可以产生较低频率的操作。作为另一个例子,等待时间敏感型工作负载可能具有低的VCPU利用率。因此, CPU-DBS算法将导致选择一个低频率。然而,当VCPU正运行等待时间敏感型工作负载时, 其必须能够快速响应新来的事件。因为低频率将增加等待时间,所以CPU-DBS算法并不适 合。相反,在根据被剖析的指示推断出等待时间敏感型工作负载时,可以选择基于性能的调 节算法,其将会确保高频率操作。尽管如此,CPU-DBS算法仍可以具有许多应用。例如,如果检测到很少的虚拟化事 件,则VCPU利用率可以是用于调节频率的合适的指示。因此,如图3的示例性实施例所示,用于每个VBFVS实例136的剖析通道138通过 收集来自各种虚拟化事件源的信息来剖析虚拟化事件,所述虚拟化事件源例如是虚拟设备模型146、虚拟机间通信148、虚拟中断控制器150、存储器相关的虚拟化事件源152等等。 此外,剖析通道138接收来自调度器142的与VCPU利用率有关的信息,包括VCPU被分配的 时间量、被占时间、阻塞时间等等。在VCPU 112是被调入的VCPU的时间量期间,不断地分 析来自这些各种源的信息,使得VBFVS实例136能够基于从所述信息中辨别出的工作负载 特性模式,动态地把自己绑定到特定的调节算法140a-c。如图3所示,可用的调节算法可以 包括CPU-DBS算法140a、节能算法140b、基于性能的算法140c,以及许多其它算法。基于VCPU的调节并不限于这里所描述的特定实施例。例如,在本发明的一个 实施例中,可以通过简单地使用VCPU频率更改请求作为剖析信息,并且或者选择直通式 (pass-through)调节算法来向VBFVS中心传送该请求,或者直接将该请求路由到VBFVS中 心,来实现基于VCPU的调节。实施例可以用软件代码(包括VMM 110和它的任何组件)来实现,并且可以被存 储在存储介质中,所述存储介质上存储有指令,其能够被用来对系统进行编程以执行这些 指令。存储介质可以包括、但并不限于任何类型的盘(包括软盘、光盘、固态驱动器、光盘只 读存储器、可重写光盘以及磁光盘)、半导体器件(例如,只读存储器、随机存取存储器(诸 如动态随机存取存储器、静态随机存取存储器)、可擦可编程只读存储器、闪速存储器、电可 擦可编程只读存储器)、磁卡或光卡,或者适合存储电子指令的任何其它类型的介质。可以 加载软件指令以便在处理器(例如,图1的PCPU 104)上执行。尽管已经参照有限数目的实施例描述了本发明,但本领域的技术人员将会理解由 此进行的很多修改和变型。所附权利要求旨在涵盖落入本发明的实质精神和范围之内的所 有这样的修改和变型。
权利要求
1.一种方法,包括剖析由多个虚拟处理设备中的每个虚拟处理设备执行的工作负载的特性;并且 根据每个虚拟处理设备各自的被剖析的特性来确定每个虚拟处理设备的时钟频率。
2.根据权利要求1所述的方法,其中,确定所述时钟频率包括为虚拟处理设备选择调 节算法来确定所述时钟频率,其中基于该虚拟处理设备的工作负载的被剖析的特性来进行 所述选择。
3.根据权利要求1所述的方法,其中,在虚拟处理设备正执行它的工作负载的时间间 隔期间,不断地执行所述剖析。
4.根据权利要求2所述的方法,其中,在所述时间间隔期间,动态地执行对所述调节算 法的选择。
5.根据权利要求4所述的方法,其中,基于与由所述虚拟处理设备执行的工作负载相 关联的虚拟化事件来进行对所述调节算法的选择。
6.根据权利要求1所述的方法,其中,基于与所述虚拟处理设备相关联的虚拟化事件 来进行所述剖析。
7.根据权利要求6所述的方法,其中,动态地执行所述剖析。
8.根据权利要求1所述的方法,其中,基于所述虚拟处理设备的利用率来进行所述剖析。
9.一种系统,包括 处理器资源;以及虚拟机监视器,用于对将所述处理器资源虚拟化为多个虚拟处理器进行管理,所述虚 拟机监视器还用于给所述虚拟处理器分配时间间隔以执行各自的工作负载,所述虚拟机监 视器还用于剖析在相应的时间间隔期间执行的所述工作负载的特性,并且用于为每个虚拟 处理器基于所剖析的特性来确定时钟频率。
10.根据权利要求9所述的系统,其中,所述虚拟机监视器在相应的虚拟处理器正执行 所述工作负载的时间间隔期间,不断地剖析所述工作负载的特性。
11.根据权利要求10所述的系统,其中,所述工作负载的特性包括虚拟化事件。
12.根据权利要求11所述的系统,其中,所述工作负载的特性包括所述虚拟处理器的 利用率。
13.根据权利要求9所述的系统,其中,所述虚拟机监视器还用于选择调节算法来确定 所述时钟频率,其中所述虚拟机监视器根据所剖析的特性来选择所述调节算法。
14.根据权利要求13所述的系统,其中,所述虚拟机监视器根据所剖析的特性来选择调节算法。
15.根据权利要求14所述的方法,其中,所述虚拟机监视器在相应的虚拟处理器正执 行所述工作负载的时间间隔期间,动态地选择调节算法。
16.一种其上存储有指令的计算机可读介质,所述指令当由处理设备执行时使得所述 处理设备剖析由多个虚拟处理设备中的每个虚拟处理设备执行的工作负载的特性;并且 根据每个虚拟处理设备各自的被剖析的特性来确定每个虚拟处理设备的时钟频率。
17.根据权利要求16所述的介质,所述指令还使得所述处理设备为虚拟处理设备选择调节算法来确定所述时钟频率,其中,基于该虚拟处理设备的工作负载的被剖析的特性来 进行所述选择。
18.根据权利要求16所述的介质,其中,所述处理设备在虚拟处理设备正执行它的工 作负载的时间间隔期间,不断地剖析所述特性。
19.根据权利要求16所述的介质,其中,基于与由所述虚拟处理设备执行的工作负载 相关联的虚拟化事件来进行所述剖析。
20.根据权利要求19所述的介质,其中,所述指令使得所述处理设备在所述时间间隔 期间动态地剖析所述虚拟化事件。
全文摘要
在虚拟环境中为每个虚拟处理器执行频率和电压调节。动态地剖析由每个虚拟处理器执行的工作负载的特性,并且调节算法根据所剖析的特性来确定所述虚拟处理器的调节因素。所剖析的特性可以包括与正在执行的工作负载相关联的虚拟化事件。此外,可以基于哪个虚拟处理器当前正在运行来选择特定的调节算法和剖析技术。
文档编号G06F9/455GK102103516SQ20101060157
公开日2011年6月22日 申请日期2010年12月20日 优先权日2009年12月22日
发明者K·于, K·田 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1