一、IT用户服务器以及相关设备能耗
用户
i
i
i的服务器能耗模型定义如下:
P
i
,
t
,
servers
=
(
S
i
,
t
P
idle
+
λ
i
,
t
(
P
peak
−
P
idle
)
μ
)
Δ
t
P_{i,t,\text{servers}} = \left( S_{i,t}P_{\text{idle}} + \frac{\lambda_{i,t}\left(P_{\text{peak}} - P_{\text{idle}}\right)}{\mu} \right)\Delta t
Pi,t,servers=(Si,tPidle+μλi,t(Ppeak−Pidle))Δt
其中,
P
i
,
t
,
servers
P_{i,t,\text{servers}}
Pi,t,servers 为用户
i
i
i 服务器在
t
t
t 时间段的能耗;
P
peak
P_{\text{peak}}
Ppeak、
P
idle
P_{\text{idle}}
Pidle 分别是峰值功率和待机功率;
S
i
,
t
S_{i,t}
Si,t 是用户
i
i
i 在
t
t
t 时间段启用的服务器数量,
λ
i
,
t
\lambda_{i,t}
λi,t 是工作的负载;
Δ
t
\Delta t
Δt 是仿真时间间隔,
μ
\mu
μ 是服务器处理工作负载的单位速率。
用户i的制冷设备能耗模型定义如下:
P
i
,
t
,
cool
=
1
CoP
P
i
,
t
,
servers
P_{i,t,\text{cool}} = \frac{1}{\text{CoP}} P_{i,t,\text{servers}}
Pi,t,cool=CoP1Pi,t,servers
其中,
P
i
,
t
,
cool
P_{i,t,\text{cool}}
Pi,t,cool 是用户
i
i
i 的制冷设备在
t
t
t 时间段的能耗;CoP 是制冷设备的运行效率。CoP 通常为非线性函数。下式是文献采用的经典 CoP 函数:
CoP
(
E
sup
,
i
,
t
)
=
0.0068
E
sup
,
i
,
t
2
+
0.0008
E
sup
,
i
,
t
+
0.458
\text{CoP}(E_{\text{sup},i,t}) = 0.0068 {E_{\text{sup},i,t}}^2 + 0.0008 E_{\text{sup},i,t} + 0.458
CoP(Esup,i,t)=0.0068Esup,i,t2+0.0008Esup,i,t+0.458
其中,
E
sup
,
i
,
t
E_{\text{sup},i,t}
Esup,i,t 表示用户
i
i
i 的制冷设备在
t
t
t 时间段的送风温度。用如下简化关系式对
E
sup
,
i
,
t
E_{\text{sup},i,t}
Esup,i,t 进行约束:
E
in
,
i
,
t
=
E
sup
,
i
,
t
+
M
1
P
i
,
t
,
servers
S
i
,
t
≤
E
red
E_{\text{in},i,t} = E_{\text{sup},i,t} + M_1 \frac{P_{i,t,\text{servers}}}{S_{i,t}} \leq E_{\text{red}}
Ein,i,t=Esup,i,t+M1Si,tPi,t,servers≤Ered
其中,
E
in
,
i
,
t
E_{\text{in},i,t}
Ein,i,t 表示用户
i
i
i 的服务器节点在
t
t
t 时间段的入口温度;
M
1
M_1
M1 为服务器的热分布系数;
E
red
E_{\text{red}}
Ered 是机房内部的温度上限,一般为
2
5
∘
25^\circ
25∘C。
用户i的配电系统能耗模型定义如下:
P
i
,
t
,
network
=
S
i
,
t
l
1
+
λ
i
,
t
l
2
P_{i,t,\text{network}} = S_{i,t} l_1 + \lambda_{i,t} l_2
Pi,t,network=Si,tl1+λi,tl2
其中,
P
i
,
t
,
network
P_{i,t,\text{network}}
Pi,t,network 是配电系统的能耗;
l
1
l_1
l1 和
l
2
l_2
l2 是能耗系数。
托管式数据中心的机房内部,IT用户i的设备能耗如下:
P
i
,
t
,
total
=
P
i
,
t
,
servers
+
P
i
,
t
,
cool
+
P
i
,
t
,
network
P_{i,t,\text{total}} = P_{i,t,\text{servers}} + P_{i,t,\text{cool}} + P_{i,t,\text{network}}
Pi,t,total=Pi,t,servers+Pi,t,cool+Pi,t,network
上式中,
P
i
,
t
,
total
P_{i,t,\text{total}}
Pi,t,total 是用户
i
i
i 的设备在
t
t
t 时段的能耗。显然,
P
i
,
t
,
total
P_{i,t,\text{total}}
Pi,t,total 是一个关于服务器数量
S
i
,
t
S_{i,t}
Si,t 和工作负载
λ
i
,
t
\lambda_{i,t}
λi,t 的非线性函数,非线性项主要由 CoP 导致。
为了后续的建模和求解,松弛相关约束,由于
E
sup
,
i
,
t
+
M
1
P
i
,
t
,
servers
S
i
,
t
≤
E
red
E_{\text{sup},i,t} + M_1 \frac{P_{i,t,\text{servers}}}{S_{i,t}} \leq E_{\text{red}}
Esup,i,t+M1Si,tPi,t,servers≤Ered
并且
P
i
,
t
,
servers
S
i
,
t
≤
P
peak
\frac{P_{i,t,\text{servers}}}{S_{i,t}} \leq P_{\text{peak}}
Si,tPi,t,servers≤Ppeak
这样我们不妨将
E
sup
,
i
,
t
E_{\text{sup},i,t}
Esup,i,t 设置为一固定数值,这里设置
E
sup
,
i
,
t
=
E
red
−
M
1
P
peak
E_{\text{sup},i,t} = E_{\text{red}} - M_1 P_{\text{peak}}
Esup,i,t=Ered−M1Ppeak,这样一来,CoP 函数取值也将固定。此时
P
i
,
t
,
total
P_{i,t,\text{total}}
Pi,t,total 转化成了一个关于
P
i
,
t
,
servers
P_{i,t,\text{servers}}
Pi,t,servers 的函数,定义如下:
P
i
,
t
,
cool
=
1
CoP
(
E
red
−
M
1
P
peak
)
P
i
,
t
,
servers
P_{i,t,\text{cool}} = \frac{1}{\text{CoP}(E_{\text{red}} - M_1 P_{\text{peak}})} P_{i,t,\text{servers}}
Pi,t,cool=CoP(Ered−M1Ppeak)1Pi,t,servers
同样,配电系统的能耗可以表示成服务器能耗的函数:
P
i
,
t
,
network
=
P
i
,
t
,
servers
l
3
+
λ
i
,
t
l
4
P_{i,t,\text{network}} = P_{i,t,\text{servers}} l_3 + \lambda_{i,t} l_4
Pi,t,network=Pi,t,serversl3+λi,tl4
上式中的后一项影响较小,可以忽略,重新表述如下:
P
i
,
t
,
network
=
P
i
,
t
,
servers
l
3
P_{i,t,\text{network}} = P_{i,t,\text{servers}} l_3
Pi,t,network=Pi,t,serversl3
l
3
l_3
l3 是参数,取值大小为
l
1
P
idle
\frac{l_1}{P_{\text{idle}}}
Pidlel1。
综上所述,IT 用户的总能耗是一个关于服务器能耗的关系式,具体形式如下:
P
i
,
t
,
total
=
γ
P
i
,
t
,
servers
,
γ
=
1
+
l
3
+
1
CoP
(
E
red
−
M
1
P
peak
)
P_{i,t,\text{total}} = \gamma P_{i,t,\text{servers}}, \quad \gamma = 1 + l_3 + \frac{1}{\text{CoP}(E_{\text{red}} - M_1 P_{\text{peak}})}
Pi,t,total=γPi,t,servers,γ=1+l3+CoP(Ered−M1Ppeak)1
γ
\gamma
γ 表示 IT 用户
i
i
i 在
t
t
t 时段的总能耗与其服务器能耗的比值。可以用 PUE 值来表示,并且调整服务器能耗,制冷设备和配电系统的能耗可以等比例下调。在未参与需求响应前,服务器基本处于满开状态,用户
i
i
i 在
t
t
t 时间段服务器能耗以及总能耗可以定义如下:
P
i
,
t
,
servers
=
S
i
P
idle
+
λ
i
,
t
(
P
peak
−
P
idle
)
μ
P_{i,t,\text{servers}} = S_i P_{\text{idle}} + \frac{\lambda_{i,t}\left( P_{\text{peak}} - P_{\text{idle}} \right)}{\mu}
Pi,t,servers=SiPidle+μλi,t(Ppeak−Pidle)
P
i
,
t
,
total
=
γ
(
S
i
P
idle
+
λ
i
,
t
(
P
peak
−
P
idle
)
μ
)
P_{i,t,\text{total}} = \gamma \left( S_i P_{\text{idle}} + \frac{\lambda_{i,t}\left( P_{\text{peak}} - P_{\text{idle}} \right)}{\mu} \right)
Pi,t,total=γ(SiPidle+μλi,t(Ppeak−Pidle))
二、IT用户参与需求相应的负荷削减能力
IT用户们为了完成负荷削减任务
D
t
D_t
Dt,将利用关停部分服务器的形式来削减负荷。设定用户
i
i
i 在
t
t
t 时间段关停的服务器数量为
S
i
,
t
′
{S_{i,t}}^\prime
Si,t′ 台,则 IT 用户的服务器能耗将变成:
P
i
,
t
,
services
′
=
(
S
i
−
S
i
,
t
′
)
A
i
+
λ
i
,
t
B
i
{P_{i,t,\text{services}}}^\prime = \left(S_i - {S_{i,t}}^\prime\right)A_i + \lambda_{i,t} B_i
Pi,t,services′=(Si−Si,t′)Ai+λi,tBi
其中,
A
i
=
P
idle
A_i = P_{\text{idle}}
Ai=Pidle,
B
i
=
P
peak
−
P
idle
μ
B_i = \frac{P_{\text{peak}} - P_{\text{idle}}}{\mu}
Bi=μPpeak−Pidle,IT 用户关停服务器所削减的负荷量大小为
S
i
,
t
′
A
i
{S_{i,t}}^\prime A_i
Si,t′Ai。关停服务器存在前置条件,即开启的服务器数量仍然能保证工作负载的正常计算需求。根据排队模型,IT 用户
i
i
i 在
t
t
t 时间段可以关停的服务器数量需要满足如下约束:
0
≤
1
μ
i
−
λ
i
,
t
S
i
−
S
i
,
t
′
≤
T
i
max
0 \le \frac{1}{\mu_i - \frac{\lambda_{i,t}}{S_i - {S_{i,t}}^\prime}} \le {T_i}^{\text{max}}
0≤μi−Si−Si,t′λi,t1≤Timax
其中,
T
i
max
{T_i}^{\text{max}}
Timax 是 IT 用户
i
i
i 所能容忍的服务器最大处理延迟。对上式进行变换可以得到约束条件:
0
≤
S
i
,
t
′
≤
⌊
S
i
−
λ
i
,
t
μ
i
−
1
T
i
max
⌋
0 \le {S_{i,t}}^\prime \le \left\lfloor S_i - \frac{\lambda_{i,t}}{\mu_i - \frac{1}{{T_i}^{\text{max}}}} \right\rfloor
0≤Si,t′≤⌊Si−μi−Timax1λi,t⌋
不等式右边表示 IT 用户
i
i
i 在
t
t
t 时间段可以关停的最大服务器数量。IT 用户
i
i
i 在各个时间段
t
t
t 的负荷削减能力
P
~
DR
,
i
,
t
max
{\widetilde{P}}_{\text{DR},i,t}^{\text{max}}
P
DR,i,tmax(可削减的最大负荷量)为:
P
~
DR
,
i
,
t
max
=
γ
⌊
S
i
−
λ
i
,
t
μ
i
−
1
T
i
max
⌋
A
i
{\widetilde{P}}_{\text{DR},i,t}^{\text{max}} = \gamma \left\lfloor S_i - \frac{\lambda_{i,t}}{\mu_i - \frac{1}{{T_i}^{\text{max}}}} \right\rfloor A_i
P
DR,i,tmax=γ⌊Si−μi−Timax1λi,t⌋Ai