Machine Learning Applications for Data Center Optimization
Jim Gao, Google
Abstract
The modern data center (DC) is a complex interaction of multiple mechanical, electrical and controls
systems. The sheer number of possible operating configurations and nonlinear interdependencies make it
difficult to understand and optimize energy efficiency. We develop a neural network framework that learns
from actual operations data to model plant performance and predict PUE within a range of 0.004 +/ 0.005
(mean absolute error +/ 1 standard deviation), or 0.4% error for a PUE of 1.1. The model has been
extensively tested and validated at Google DCs. The results demonstrate that machine learning is an
effective way of leveraging existing sensor data to model DC performance and improve energy efficiency.
1. Introduction
The rapid adoption of Internetenabled devices, coupled with the shift from consumerside computing to
SaaS and cloudbased systems, is accelerating the growth of largescale data centers (DCs). Driven by
significant improvements in hardware affordability and the exponential growth of Big Data, the modern
Internet company encompasses a wide range of characteristics including personalized user experiences
and minimal downtime. Meanwhile, popular hosting services such as Google Cloud Platform and Amazon
Web Services have dramatically reduced upfront capital and operating costs, allowing companies with
smaller IT resources to scale quickly and efficiently across millions of users. These trends have resulted in
the rise of largescale DCs and their corresponding operational challenges.
One of the most complex challenges is power management. Growing energy costs and environmental
responsibility have placed the DC industry under increasing pressure to improve its operational efficiency.
According to Koomey, DCs comprised 1.3% of the global energy usage in 2010 [1]. At this scale, even
relatively modest efficiency improvements yield significant cost savings and avert millions of tons of carbon
emissions.
While it is well known that Google and other major Internet companies have made significant strides towards
improving their DC efficiency, the overall pace of PUE reduction has slowed given diminishing returns and
the limitations of existing cooling technology [2]. Furthermore, best practice techniques such as hot air
containment, water side economization, and extensive monitoring are now commonplace in largescale DCs
[3]. Figure 1 demonstrates Google’s historical PUE performance from an annualized fleetwide PUE of 1.21
in 2008 to 1.12 in 2013, due to implementation of best practices and natural progression down the learning
curve [4]. Note the asymptotic decline of the trailing twelvemonth (TTM) PUE graph.
1
Fig 1. Historical PUE values at Google.
The application of machine learning algorithms to existing monitoring data provides an opportunity to
significantly improve DC operating efficiency. A typical largescale DC generates millions of data points
across thousands of sensors every day, yet this data is rarely used for applications other than monitoring
purposes. Advances in processing power and monitoring capabilities create a large opportunity for machine
learning to guide best practice and improve DC efficiency. The objective of this paper is to demonstrate a
datadriven approach for optimizing DC performance in the sub1.10 PUE era.
2. Methodology
2.1 General Background
Machine learning is wellsuited for the DC environment given the complexity of plant operations and the
abundance of existing monitoring data. The modern largescale DC has a wide variety of mechanical and
electrical equipment, along with their associated setpoints and control schemes. The interactions between
these systems and various feedback loops make it difficult to accurately predict DC efficiency using
traditional engineering formulas.
For example, a simple change to the cold aisle temperature setpoint will produce load variations in the
cooling infrastructure (chillers, cooling towers, heat exchangers, pumps, etc.), which in turn cause nonlinear
changes in equipment efficiency. Ambient weather conditions and equipment controls will also impact the
resulting DC efficiency. Using standard formulas for predictive modeling often produces large errors because
they fail to capture such complex interdependencies.
Furthermore, the sheer number of possible equipment combinations and their setpoint values makes it
difficult to determine where the optimal efficiency lies. In a live DC, it is possible to meet the target setpoints
through many possible combinations of hardware (mechanical and electrical equipment) and software
(control strategies and setpoints). Testing each and every feature combination to maximize efficiency would
be unfeasible given time constraints, frequent fluctuations in the IT load and weather conditions, as well as
the need to maintain a stable DC environment.
2
To address these challenges, a neural network is selected as the mathematical framework for training DC
energy efficiency models. Neural networks are a class of machine learning algorithms that mimic cognitive
behavior via interactions between artificial neurons [6]. They are advantageous for modeling intricate
systems because neural networks do not require the user to predefine the feature interactions in the model,
which assumes relationships within the data. Instead, the neural network searches for patterns and
interactions between features to automatically generate a bestfit model. Common applications for this
branch of machine learning include speech recognition, image processing, and autonomous software
agents. As with most learning systems, the model accuracy improves over time as new training data is
acquired.
2.2 Model Implementation
A generic threelayered neural network is illustrated in Figure 2. In this study, the input matrix
array where
including the IT load, weather conditions, number of chillers and cooling towers running, equipment
setpoints, etc. The input matrix
hidden state matrix
a
θ 2
parameters matrix
to model systems of varying complexity.
Note that
optimize. PUE is selected here to represent DC operational efficiency, with recognition that the metric is a
ratio and not indicative of total facilitylevel energy consumption. Other examples include using server
utilization data to maximize machine productivity, or equipment failure data to understand how the DC
environment impacts reliability. The neural network will search for relationships between data features to
generate a mathematical model that describes
underlying mathematical behavior of
m x n)
(
is the number of features (DC input variables)
is the output variable of interest and can represent a range of metrics that we wish to
acts as an intermediary state that interacts with the second
[6]. In practice,
to calculate the output
[6]. The size and number of hidden layers can be varied
is then multiplied by the model parameters matrix
as a function of the inputs. Understanding the
is the number of training examples and
allows us to control and optimize it.
to produce the
is an
θ 1
(x)
(x)
(x)
hθ
hθ
hθ
(x)
m
n
a
x
x
hθ
Fig. 2 Threelayer neural network.
Although linear independence between features is not required, doing so can significantly reduce the model
training time, as well as the chances of overfitting [8]. Additionally, linear independence can simplify model
3
J
θ
(θ)
, (4) Implement the back propagation algorithm
complexity by limiting the number of inputs to only those features fundamental to DC performance. For
example, the DC cold aisle temperature may not be a desirable input for predicting PUE because it is a
consequence of variables more fundamental to DC control, such as the cooling tower leaving condenser
water temperature and chilled water injection setpoints.
The process of training a neural network model can be broken down into four steps, each of which are
covered in greater detail below: (1) Randomly initialize the model parameters
propagation algorithm, (3) Compute the cost function
and (5) Repeat steps 2 4 until convergence or the desired number of iterations [7].
2.2.1 Random Initialization
Random initialization is the process of randomly assigning values between [1, 1] before starting model
training. To understand why this is necessary, consider the scenario in which all model parameters are
initialized at 0. The inputs into each successive layer in the neural network would then be identical, since
they are multiplied by
through the hidden layers, any changes to the model parameters would also be identical [7]. We therefore
randomly initialize with values between [1, 1] to avoid the formation of unstable equilibriums [7].
2.2.2 Forward Propagation
Forward propagation refers to the calculation of successive layers, since the value of each layer depends
upon the model parameters and layers before it. The model output
is computed through the forward
represents the activation of node
propagation algorithm, where
j
. Furthermore, since the error is propagated backwards from the output layer
, (2) Implement the forward
hθ
in layer
, and
(x)
θl
θ
θ
θ
l
represents the matrix
al
j
l
.
a
θ1
10
2
4
a )
l + 1
3 + θ2
2
14
to layer
2 + θ1
1
x
13
2 + θ1
1
x
23
2 + θ1
1
x
33
2 + θ1
1
x
43
1 + θ2
2
a
12
1
3
x )
1
3
x )
1
3
x )
1
3
x )
2 + θ2
2
a
13
of weights (model parameters) mapping layer
1 = g 1
a 2
0 + θ1
1
1 + θ1
1
(θ x
x
10
11
12
2 = g 1
a 2
0 + θ1
1
1 + θ1
1
(θ x
x
20
21
22
3 = g 1
a 2
0 + θ1
1
1 + θ1
1
(θ x
x
30
31
32
4 = g 1
a 2
1 + θ1
1
0 + θ1
1
x
(θ x
40
42
41
0 + θ2
2
1 = g 2
= a 3
hθ
(θ a
(x)
11
10
Bias units (nodes with a value of 1) are appended to each nonoutput layer to introduce a numeric offset
within each layer [6]. In the equations above,
represents the weight between the appended bias unit
and the hidden layer element
The purpose of the activation function
the nodal input values to an output within the range (0, 1). It is given by the sigmoidal logistic function
g
a 2 = g
hθ
(x)
2.2.3 Cost Function
The cost function
typically expressed as the square of the error between the predicted and actual outputs. For linear
regression problems, the cost function can be expressed as:
[6]. Note that the equations above can be expressed more compactly in matrix form as:
serves as the quantity to be reduced with each iteration during model training. It is
1
(θ x)
= a 3 = g
is to mimic biological neuron firing within a network by mapping
2
2
(θ a )
+ e −z
)
. a 2
1
(z)g
= 1
(θ)
/(1
(z)
J
x 1
0
4
J
(θ)
= 1
m
2m ∑
[
i=1
(h (x )
θ
i − yi 2
)
L−1
+ λ ∑
i=1
n
∑
j=1
θ2
ij
]
simplifies to the expression
l
y
y
J
y
δ
λ
1
L
)]
.θ
hθ
hθ
a .
(x)
(x)
Dl
(θ)
* g′
(z)g′
=j / 0
(z)g′
).
* [ 2 * ( − a2
, the error term
2 = (θ )2 T 3
(z )
δ .
and the actual output
is the predicted output,
is the actual PUE data.
, computed for each layer
is the calculated PUE through the neural network and
. For the threelayered network in Fig. 2, the errors associated with the
is the actual data corresponding output variable of interest, m is the
is the number of layers, and n is the number of nodes [7]. The
is propagated backwards through each layer to
The error for the output layer is defined as the difference between the calculated
represents the derivative of the activation function [7]. Note that
There is no error term associated with the first layer because it is the input layer. The theta
, is then calculated as:
where
number of training examples per feature,
regularization parameter controls the tradeoff between model accuracy and overfitting [5]. In this example,
hθ
2.2.4 Back Propagation
After computing the cost function
refine the values of
output
(x)
output and hidden layers are calculated as:
3 − y
δ3 = a
δ2 = (θ )2 T 3
δ .
where
a * ( − a
1
.
gradient vector
Δl = Δl + δ(l+1)
l
a
Dl = 1
l + λ l
if
(Δ
θ )
m
Dl = 1
l
j = 0
if
Δ
m
where
parameters before repeating steps 2 4 in the next iteration. As with all machine learning algorithms, it will
take a varying number of iterations (typically in the hundreds or thousands) until convergence, as
approximated by sufficiently small reductions in the cost function
2.3 Implementation
The neural network utilizes 5 hidden layers, 50 nodes per hidden layer and 0.001 as the regularization
parameter. The training dataset contains 19 normalized input variables and one normalized output variable
(the DC PUE), each spanning 184,435 time samples at 5 minute resolution (approximately 2 years of
operational data). 70% of the dataset is used for training with the remaining 30% used for crossvalidation
and testing. The chronological order of the dataset is randomly shuffled before splitting to avoid biasing the
training and testing sets on newer or older data.
Data normalization, also known as feature scaling, is recommended due to the wide range of raw feature
values. The values of a feature vector
znorm = z − MEAN(z)
is initialized as a vector of zeros [7].
are mapped to the range [1, 1] by:
to update the each layer’s model
MAX(z) − MIN(z)
is added to
(θ)
Dl
Δl
θl
.
J
z
5
The neural network features are listed as follows:
1. Total server IT load [kW]
2. Total Campus Core Network Room (CCNR) IT load [kW]
3. Total number of process water pumps (PWP) running
4. Mean PWP variable frequency drive (VFD) speed [%]
5. Total number of condenser water pumps (CWP) running
6. Mean CWP variable frequency drive (VFD) speed [%]
7. Total number of cooling towers running
8. Mean cooling tower leaving water temperature (LWT) setpoint [F]
9. Total number of chillers running
10. Total number of drycoolers running
11. Total number of chilled water injection pumps running
12. Mean chilled water injection pump setpoint temperature [F]
13. Mean heat exchanger approach temperature [F]
14. Outside air wet bulb (WB) temperature [F]
15. Outside air dry bulb (DB) temperature [F]
16. Outside air enthalpy [kJ/kg]
17. Outside air relative humidity (RH) [%]
18. Outdoor wind speed [mph]
19. Outdoor wind direction [deg]
Note that many of the inputs representing totals and averages are actually metavariables derived from
individual sensor data. Data preprocessing such as file I/O, data filtration and calculating metavariables
was conducted using Python2.7 in conjunction with the Scipy 0.12.0 and Numpy 1.7.0 modules. Matlab
R2010a was used for model training and postprocessing. Open source alternatives offering similar
functionality to Matlab R2010a include Octave as well as the Scipy/Numpy modules in Python.
3. Results and Discussion
Having an accurate and robust PUE model offers many benefits for DC operators and owners. For example,
the comparison of actual vs. predicted DC performance for any given set of conditions can be used for
automatic performance alerting, realtime plant efficiency targets and troubleshooting.
A robust efficiency model also enables DC operators to evaluate PUE sensitivity to DC operational
parameters. For example, an internal analysis of PUE versus cold aisle temperature (CAT) conducted at a
Google DC suggested a theoretical 0.005 reduction in PUE by increasing the cooling tower LWT and chilled
water injection pump setpoints by 3F (see Section 3.3). This simulated PUE reduction was subsequently
verified with experimental test results after normalizing for server IT load and wet bulb temperature. Such
sensitivity analyses drive significant cost and carbon savings by locating and estimating the magnitude of
opportunities for further PUE reductions.
Finally, a comprehensive DC efficiency model enables operators to simulate the DC operating configurations
without making physical changes. Currently, it’s very difficult for an operator to predict the effect of a plant
configuration change on PUE prior to enacting the changes. This is due to the complexity of modern DCs,
6
and the interactions between multiple control systems. A machine learning approach leverages the plethora
of existing sensor data to develop a mathematical model that understands the relationships between
operational parameters and the holistic energy efficiency. This type of simulation allows operators to
virtualize the DC for the purpose of identifying optimal plant configurations while reducing the uncertainty
surrounding plant changes.
3.1 Predictive Accuracy
Figure 3 depicts a snapshot of predicted vs actual PUE values at one of Google’s DCs over one month
during the summer.
Fig. 3 Predicted vs actual PUE values at a major DC.
The neural network detailed in this paper achieved a mean absolute error of 0.004 and standard deviation of
0.005 on the test dataset. Note that the model error generally increases for PUE values greater than 1.14
due to the scarcity of training data corresponding to those values. The model accuracy for those PUE
ranges is expected to increase over time as Google collects additional data on its DC operations.
3.2 Sensitivity Analysis
The following graphs reveal the impact of individual operating parameters on the DC PUE. We isolate for the
effects of specific variables by linearly varying one input at a time while holding all others constant. Such
sensitivity analyses are used to evaluate the impact of setpoint changes and identify optimal setpoints. All
test results have been verified empirically.
7
Figs. 4ad PUE vs Server IT load, Chillers, Cooling Towers and Cooling Tower LWT setpoint (normalized).
Fig. 4a demonstrates the relationship between PUE and Server IT load, with large efficiency gains occurring
in the 0 70% max load range and an asymptotic decline beyond 70%. This is fieldverified through Google’s
historical experience in which PUE decreases rapidly initially with increasing IT load due to economies of
scale and more efficient utilization of the cooling plant. The PUE vs IT curve gradually levels off as the
cooling plant nears its maximum efficiency and operating capacity.
Fig. 4b shows the relationship between PUE and the number of operational chillers. As expected, there are
significant PUE increases associated with bringing more chillers online. The relationship between PUE and
the number of chillers running is nonlinear because chiller efficiency decreases exponentially with reduced
load.
Figs. 4c and 4d illustrate the relationship between PUE and the number of cooling towers running, as well
as the mean cooling tower leaving water temperature (LWT) setpoint, respectively. From the Fan Affinity
Laws, we expect the PUE to decrease with as additional cooling towers are brought online due to the
inverse cubic relationship between fan speed and power consumption. Splitting the same cooling load
across more towers requires a lower mean fan speed per tower. Likewise, in Fig. 4d, less power is
consumed at the plant level as the mean cooling tower LWT setpoint increases. This is due to the linear
reduction in required fan speed and the corresponding cubic reduction in fan power. Fig. 4c suggests that a
shared condenser water piping design, whereby cooling load is split between multiple towers, is more
efficient at the plant level than individual pipes supplying modular towers.
8