(4)Dynamic Voltage and Frequency Scaling
一、引言
在云计算模式下,各种应用的爆发式增长,对数据中心的性能提出了更高的要求,数据中心的规模和数量不断增加,但也带来了严重的能耗管理问题。数据中心的节能问题成为研究热点之一。数据中心的节能方法包括计算设备节能和冷却系统节能。而在计算设备节能中,有一种使用较为广泛的节能技术,即动态调频调压技术(Dynamic Voltage Frequency Scaling,DVFS),通过调节CPU频率来调节CPU功率,达到节能的目的。
二、DVFS
DVFS(dynamic voltage dynamic frequency scaling)动态电压频率技术,是一种通过将不同电路模块的工作电压及工作频率降低到恰好满足系统最低要求,来实时降低系统中不同电路模块功耗的方法。
电路模块中的最大时钟频率和电压紧密相关,如果一个电路能够估算出它必须做多少工作才能完成当前的任务,那么理论上讲就可以将时钟频率调低到刚好能适时完成该任务的水平。降低时钟频率意味着可以同时降低供电电压。频率和电压同时降低,功耗就大大降低了。这个是DVFS的原理。
实现DVFS最常见的实现手段是用CPU来来调节电压和频率:
主要分为两种情况:
如果目标的频率比现在高,那么先调电压,再调频。
- CPU先给Power Supply外设写个值,调一下电压。
- 然后等着,直到电压变高。
- 然后CPU频率切到高频即可。
- 如果SOC部分需要调频,那通过CPU配置Sysclock generator或者PLL即可
反过来,如果目标频率比现在低,先调频率,后调电压。一般来讲,频率电压数值是提前设计好的,会有若干的频点,工作状态在这些频点之间变化。
三、目前DVFS现状
目前业内对于DVFS已经有成熟的工具,如linux内核中现成的CPU变频工具包cpufrequtils。