一种服务器平均温度约束下的数据中心能耗最优化资源控制
算法技术领域
本发明属于数据中心节能技术领域,特别涉及一种服务器平均温度约束下的数据
中心能耗最优化资源控制算法。
背景技术
在过去IT技术腾飞发展的十年中,云计算给用户提供了弹性服务吹响了移动服务
腾飞的号角,同时引爆了大数据时代的来临,指引着分布式计算研究的发展方向。2013年进
入大数据时代的元年,大量的互联网数据中心(IDC,Internet Data Center)为多种多样的
互联网服务构建了可靠而稳定的平台。尽管IDC为很多企业广泛接受用来支持大规模存储
和计算,然而整个IDC业界却面临着能耗巨大的棘手问题。当今IT巨头,如谷歌、微软、脸书
本身就运行着几十万台服务器,消耗难以想象的巨大能量。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种服务器平均温度约束
下的数据中心能耗最优化资源控制算法,在保证服务质量(QoS,Quality of Service)和平
均温度约束的前提下,建立平均温度感知能耗最优模型(Average Temperature-aware
Power Minimization,简称ATPM),并利用李雅普诺夫优化理论,给出了动态资源控制算法,
可在满足服务器平均温度约束的前提下,减少数据中心的总能源消耗。
为了实现上述目的,本发明采用的技术方案是:
一种服务器平均温度约束下的数据中心能耗最优化资源控制算法,包括:
建立服务器系统能耗模型:t时刻IDC的总能耗表示为:![]()
a1为CPU的边际能耗,a2表示除CPU外的服务器能耗,IDC中共有J个用户,j∈
{1,...,J},Lj(t)为用户j的负载即任务到达速率,mj(t)为用户j中服务器的数量;
建立制冷系统能耗模型:t时刻制冷能耗表示为:R(t)=cfρ(TSP-Tc(t)),其中c是
空气的比热容,f是气流的速率,ρ是空气密度,TSP为制冷前的室温,Tc(t)为制冷温度;
设置约束条件:包括QoS约束、服务器平均温度约束和边界约束,QoS约束表示为:
其中,
s为CPU速率,Kj为一个请求的平均命令数,Dj为用户j
的平均队列延迟上界;服务器平均温度约束表示为:
其
中,
是热交换率,Tmax为一个固定的阈值;边界约束表示为:
Tmin≤Tc≤Tmax,![]()
为用户预算下可租用的最大服务器数量,Tmin和Tmax为制冷系统释放冷气的最低温与最高
温;
在所述约束条件下,求解
即实现服务器平均温度
约束下的数据中心能耗最优化资源控制。
为便于计算,将服务器平均温度约束松弛为如下表达式:![]()
进一步转换后转化为虚拟队列:
将
约束的满足性问题,转换为虚拟队列Zj(t)的稳定问题,保证虚拟队列Zj(t)的稳定性,即保
证了时间平均服务器温度约束。
根据李雅普诺夫优化理论,将原始问题转化为在队列稳定性约束的前提下,最小
化时间平均数据中心总能耗的问题。设Z(t)为所有虚拟队列的向量,定义李雅普诺夫函数
为:
![]()
定义Δ(Z(t))为t时刻的条件李雅普诺夫偏移:
Δ(Z(t))=E{L(Z(t+1))-L(Z(t))|Z(t)}
这里的期望依赖于控制策略和随机负载的到达,通过间接优化以下偏移惩罚函数
的上界:
Δ(Z(t))+VE{(E(t)+R(t))|Z(t)}
V是一个非负参数,用来在服务器温度与数据中心总能耗之间进行折中,偏移惩罚
函数的上界表示为:
![]()
式中B是常量,定义为:
![]()
算法的目标是最小化偏移惩罚函数上界公式的右端,即在每个时刻t,观察当前队
列Z(t)的状态并针对以下目标函数做出控制决策:
![]()
约束为![]()
所述目标函数改写为:
![]()
在固定Lj(t)和Tc后,求得mj(t)的解析解为:
![]()
通过穷举所有可能的制冷气温来找到最优的Tc(t)。固定Tc,求得当前Tc对应的mj
(t),并根据Tc与mj(t)计算目标函数的值,在Tc的取值范围Tmin≤Tc≤Tmax内,穷举所有可能
的Tc取值,并将具有最小目标函数的Tc以及对应的mj(t)作为问题的解,最后,迭代虚拟队列
函数Z(t)。
与现有技术相比,本发明提出了在服务质量(QoS,Quality of Service)和服务器
平均温度约束下的温度感知能耗最优模型(Average Temperature-aware Power
Minimization,简称ATPM),并提出了一种空调控制和服务器分配算法,在算法中使用李雅
普诺夫优化理论来近似求解ATPM问题。该算法不需要预先测量工作负载的统计信息,算法
复杂度低,容易实现。
附图说明
图1是本发明系统架构示意图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
如图1所示,数据中心采用制冷系统降温,服务器发热造成了热空气的产生。
1.能源消耗模型,包括以下几个部分:
A.服务器系统能耗模型描述:设IDC中共有J个用户。在时间t时,定义ej(t)为一台
服务器的能耗,Lj(t)为用户j的负载(任务到达速率),mj(t)为用户j中服务器的数量,j∈
{1,...,J}。可将服务器能耗表示为服务器负载的线性函数:
![]()
这里a1为CPU的边际能耗,a2表示除CPU外的服务器能耗。用户j所有服务器的总能
耗可以表示为:Ej(t)=mj(t)×ej(t)=a1Lj(t)+a2mj(t)。
则IDC的总能耗可以表示为:
![]()
B.制冷系统能耗模型描述:制冷装置将温度从T1降到T2(T1>T2)的能耗可以表示
为
这里c是空气的比热容(单位为Joules/kg.K),f是气流的速率(单位为m3/s),
ρ是空气密度(kg/m3),COP是刻画制冷单元效率的性能系数,为一常数。不失一般性,可设
COP=1。在实际的机房里,制冷系统会将空气从室温TSP降到t时刻的制冷温度Tc(t),于是t
时刻制冷能耗可以表示为:
R(t)=cfρ(TSP-Tc(t)) (3)
很显然,E(t)与R(t)之和为数据中心的总能耗。
2.约束条件:
A.QoS约束:在本发明提出的数据中心模型中,属于同一用户的任务请求共享同一
队列。这里采用M/M/N队列模型近似估计响应时间。任务请求的平均响应时间可表达为
其中PQ是等候队列不空的概率。1/μ为任务的平均服务速率,N为服务器的台
数。一般而言,在实际数据中心中的服务器几乎总是处于忙碌状态,因此PQ=1。对于用户j,
平均服务速率μj(单位是request/s)可以通过用CPU速率s(单位是command/s)除以一个请
求的平均命令数Kj来求得,即
假设用户j的平均队列延迟上界为Dj,那么QoS约束可
以计算为:
![]()
B.服务器平均温度约束:在稳态下,服务器j的温度可表达为制冷系统释放的冷气
温度Tc(t)和CPU的瞬时能耗ej(t)的线性函数:
![]()
这里
是热交换率(单位为Kelvin.secs/Joules)。本发明主要考察服务器平均温
度约束下的数据中心能耗最小化问题。服务器平均能耗约束的期望必须被维持在一个固定
的阈值Tmax之下。将(1)式代入(5)式得到:
![]()
3.满足平均服务器温度与QoS约束条件的ATPM问题
在对方程(4)和(6)进行变换后,ATPM问题可定义如下:
![]()
约束为:
![]()
![]()
最后,再给决策变量添加边界约束:
![]()
Tmin≤Tc≤Tmax
其中
为用户预算下可租用的最大服务器数量,Tmin和Tmax为制冷系统释放冷气
的最低温与最高温。
ATPM问题难于求解,主要原因在于:1)不知道Lj(t)的分布,(7)和(9)期望难于计
算。2)传统解决动态优化问题的算法为动态规划,但是该算法有“状态空间爆炸”的缺陷。随
着问题规模的增大,时间、空间复杂度呈指数级增长。本发明采用一种基于李雅普诺夫优化
理论的算法,对ATPM问题进行近似求解。步骤如下:
1.问题精化:
A.松弛的ATPM问题:约束(9)可以被松弛为如下表达式:
![]()
松弛背后的思想是,只要时间平均期望温度在可接受的范围内,在不破坏稳定性
的前提下,服务器温度的均值可以偶尔超出温度上界。那么,松弛的ATPM问题即可替代原问
题(9)。约束(10)被进一步转换为:
![]()
B.将约束(11)转化为虚拟队列:可将约束(11)的满足性问题,转换为一个虚拟队
列Zj(t)的稳定问题。定义虚拟队列Zj(t)为:
![]()
为方便表示,定义
可以得到
Zj(t+1)=max{Zj(t)+TVj(t),0} (13)
因此
有
Zj(t+1)-Zj(t)≥TVj(t) (14)
对于所有的t>0将上式累加并取时间平均,即可得到
![]()
再对上式取期望并让t→∞,得到
![]()
这里
是TVj(τ)的时间平均期望,τ∈{0,...,T-1}即![]()
因而,如果虚拟队列Zj(t)是平均速率稳定的,即
那么,结合(16)得到
![]()
即服务器的平均温度约束得到了满足。因此,需要设计一个资源控制算法,保证虚
拟队列Zj(t)的稳定性,进而保证时间平均服务器温度约束(11)。
C.目标函数:根据李雅普诺夫优化理论,可以将原始问题转化为在队列稳定性约
束的前提下,最小化时间平均数据中心总能耗的问题。
设Z(t)为所有虚拟队列的向量。定义李雅普诺夫函数为
![]()
定义Δ(Z(t))为t时刻的条件李雅普诺夫偏移:
Δ(Z(t))=E{L(Z(t+1))-L(Z(t))|Z(t)} (19)
这里的期望依赖于控制策略和随机负载的到达。李雅普诺夫优化不直接最小化目
标函数,而是间接优化以下偏移惩罚函数的上界:
Δ(Z(t))+VE{(E(t)+R(t))|Z(t)} (20)
这里V是一个非负参数,用来在服务器温度与数据中心总能耗之间进行折中。经过
一些数学变换,偏移惩罚函数(20)的上界可表示为
![]()
上式中B是常量,定义为:
![]()
算法的目标是最小化(21)的右端,即在每个时刻t,观察当前队列Z(t)的状态并针
对以下目标函数做出控制决策:
![]()
约束为(8)。
2.算法实现
问题(23)的目标函数可改写为:
![]()
这里由于存在控制变量乘积项导致问题难以直接求解。但是,在固定Lj(t)后,mj
(t)就可以求得解析解。删除上式的常数项得到:
![]()
整理上式得:
![]()
如果将Tc固定,就可以得到一个线性函数,mj(t)的解析解为:
![]()
以上分析可以用算法1来实现:
算法1:为偏移罚函数算法选择最佳mj(t),具体步骤:
![]()
下面穷举所有可能的制冷气温来找到最优的Tc(t)。固定Tc,首先调用算法1得到当
前Tc对应的mj(t),并根据Tc与mj(t)计算目标函数(23)的值。在Tc的取值范围Tmin≤Tc≤Tmax
内,穷举所有可能的Tc取值,并将具有最小目标函数(23)的Tc以及对应的mj(t)作为问题的
解。最后,根据(12)迭代虚拟队列函数Z(t)。