服务器 频道

为什么会更节能 Win7/2008 R2改进解析

  对于软件来说,如何能节约能耗呢?最终就是在满足任务需求的情况下,尽可能地让设备处于节能状态,大部分的硬件设备都有低功耗的闲置状态。操作系统需要的就是尽量将处于低功耗状态。

  以处理器为例,处理器、电源、存储系统是主要的能耗来源。要尽量将处理器处于闲置状态,最主要的方法是三个:
最小化运行的服务和任务
避免后台进程动作
让处理器保持闲置从而可以进入深层睡眠

  如下图所示:
 

对于移动设备来说,降低处理器功耗效果明显
  整个Windows 7/Windows Server 2008 R2内核的改进都是基于上述的目标而定制的,为了实现这个目标,内核作了两个改进:Core Parking以及Timer Coalescing,下面先介绍Core Parking技术,它被翻译为内核停车:

  Core Parking是基于这样的理由:尽可能将负载集中在某些处理器上,而另一些处理器尽可能地处于闲置状态,这些闲置的处理器将会更多地处于节能状态。在之前的设计中,系统的负载被分配在不同的处理器上,尽管这些处理器的负载都不高,但是它们都维持在活动状态,只能达到较浅的C States。

  Core Parking内核停车机制每50毫秒由定时器触发,开始计算负载、启动电源管理和进行内核停车。内核停车机制根据任务负载提升/降低的幅度来决定一个逻辑处理器将要停车还是开车(……),对于将要停车的逻辑处理器,线程调度器将尽量不将任务分配到上面。如下图所示:
 

传统的负载情况,所有处理器都具有负载,无法进入更深的节能状态

经过Core Parking之后,负载集中在一个集成多个CPU内核的处理器插槽上,另一个插槽因为没有负载而进入深度睡眠状态,从而达到节能

  为了实现按照插槽来进行内核停车,系统必须了解CPU的拓扑结构,而NUMA架构也被内核认知(每一个NUMA结点都有一个处理器保持在非停车状态)。实际上,Core Parking表现了系统内核更好地适应、利用现代硬件的能力。
 
0
相关文章