当前位置: 首页 > 专利查询>英特尔公司专利>正文

基于虚拟CPU的频率和电压调节制造技术

技术编号:6701097 阅读:192 留言:0更新日期:2012-04-11 18:40
在虚拟环境中为每个虚拟处理器执行频率和电压调节。动态地剖析由每个虚拟处理器执行的工作负载的特性,并且调节算法根据所剖析的特性来确定所述虚拟处理器的调节因素。所剖析的特性可以包括与正在执行的工作负载相关联的虚拟化事件。此外,可以基于哪个虚拟处理器当前正在运行来选择特定的调节算法和剖析技术。

【技术实现步骤摘要】
基于虚拟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使用。例本文档来自技高网...

【技术保护点】
1.一种方法,包括:剖析由多个虚拟处理设备中的每个虚拟处理设备执行的工作负载的特性;并且根据每个虚拟处理设备各自的被剖析的特性来确定每个虚拟处理设备的时钟频率。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:K·田K·于
申请(专利权)人:英特尔公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1