Transcript Document
Host Load Prediction in a Google Compute
Cloud with a Bayesian Model
Sheng Di1, Derrick Kondo1, Walfredo Cirne2
1INRIA
2Google
Outline
Motivation of Load Prediction
Google Load Measurements & Characterization
Pattern Prediction Formulation
Exponential Segmented Pattern (ESP) Prediction
Transformation of Pattern Prediction
Mean Load Prediction based on Bayes Model
Bayes Classifier
Features of Load Fluctuation
Evaluation of Prediction Effect
Conclusion
2/28
Motivation (Who needs Load Prediction)
From the perspective of on-demand allocation
User’s resources/QoS are sensitive to host load.
From the perspective of system performance
Stable load vs. Unstable load:
System is best to run in a load balancing state,
where the load burst can be released asap.
From the perspective of Green computing
Resource Consolidation:
Shutting down idle machines can save electricity cost
3/28
Google Load Measurements & Characterization
Overview of Google trace
Google released one-month trace in Nov. of
2011 (40G disk space).
10,000+ machines @ Google
670,000 jobs, 25 million tasks in total
Task: the basic resource consumption unit
Job: a logic computation object that
contains one or more tasks
4/28
Google Load Measurements & Characterization
Load Comparison between Google and Grid (GWA)
Google host load fluctuates with higher noises
min noise / mean noise / max noise
Google:
0.00024, 0.028, 0.081
AuverGrid: 0.00008, 0.0011, 0.0026
> 20 times
5/28
Pattern Prediction Formulation
Exponentially Segmented Pattern (ESP)
The hostload fluctuation over a period is split into a set of
consecutive segments, whose lengths increase exponentially.
We predict the mean load over each time segment: l1, l2,
…..
(Evidence window)
6/28
Pattern Prediction Formulation (Cont’d)
Reduction of ESP Prediction Problem
Idea: Get Segmented Levels (li) always from the
mean load (denoted as ηi ) during [t0, ti ]
We can get li , based on t0, (ti-1,ηi-1), (ti,ηi)
t0
t1
t2
t3
t4
Time Series
Current time point
Two key steps in the Pattern Prediction Algorithm
Predict mean values with b2k lengths from current point
Transform the set of mean load prediction to ESP
7/28
Traditional Approaches to Mean Load Prediction
Can Feedback Control Model work? NO
Example: Kalman Filter
Reason: one-step look-ahead prediction doesn’t fit our
16 hours
16 hours
long-interval prediction goal.
Can we use
short-term prediction
error to instruct
long-term prediction
feed-back? NO
Can the traditional methods like
Linear Model fit Google host load prediction?
Such as Simple Moving Average, Auto-Regression (AR), etc.
8/28
Mean Load Prediction based on Bayes Model
Principle of Bayes Model (Why Bayes?)
We strongly believe the correctness of probability
Posterior Probability rather than Prior Probability
Naïve Bayes Classifier (N-BC)
Predicted Value:
Minimized MSE Bayes Classifier (MMSE-BC)
Predicted Value:
9/28
Why do we use Bayes Model?
Special Advantages of Bayes Model
1.
2.
3.
4.
Bayes Method can
effectively retain important features about load
fluctuation and noises, rather than ignoring them.
dynamically improve prediction accuracy, with
more accurate probability updated based on
increasing samples.
estimate the future with low computation
complexity, due to quick probability calculation.
only take limited disk space since it just needs to
keep/update corresponding probability values
10/28
Mean Load Prediction based on Bayes Model
Implementation of Bayes Classifier
Evidence Window: an interval until current moment
States of Mean Load: for prediction interval
r states (e.g., r = 50 means there are 50 mean load
states to predict: [0,0.02), [0.02,0.04),……, [0.98,1]
)
Key Point: How to extract features in Evidence Window?
11/28
Mean Load Prediction based on Bayes Model
Features of Hostload in Evidence Window
1. Mean Load State (Fml(e))
2. Weighted Mean Load State (Fwml(e))
3. Fairness index (Ffi(e))
12/28
Mean Load Prediction based on Bayes Model
4. Noise-decreased fairness index (Fndfi(e))
Load outliers are kicked out
5. Type state (Fts(e)): for degree of jitter
Representation: (α, β)
α= # of types (or # of state levels)
β= # of state changes
eg. α = 4
eg. β = 8
0.10
0.08
0.06
0.04
0.02
0.00
β=1β=2
β=3 β=4
β=5 β=6 β=7 β=8
Prediction Interval
13/28
Mean Load Prediction based on Bayes Model
6. First-Last Load (Ffll(e))
= {first load level, last load level
}
7. N-segment Pattern (FN-sp(e))
F2-sp(e): {0.01, 0.03}
F3-sp(e): {0.02, 0.04, 0.04}
F4-sp(e): {0.02, 0.02, 0.05, 0.05}
0.10
0.08
0.06
0.04
0.02
0.00
F2-sp
4-sp(e)
3-sp
Prediction Interval
14/28
Mean Load Prediction based on Bayes Model
Correlation of Features
Linear Correlation Coefficient
Rank Correlation Coefficient
15/28
Mean Load Prediction based on Bayes Model
Compatibility of Features
Four Groups split:
{Fml, Fwml, F2-sp, F3-sp, F4-sp} , {Ffi, Fndfi} , {Fts} , {Ffll}
Total Number of Compatible Combinations:
16/28
Evaluation of Prediction Effect (Cont’d)
List of well-known load prediction methods
Simple Moving Average
Mean Value in the Evidence Window (EW)
Linear Weighted Moving Average
Linear Weighted Moving Average Value in the EW
Exponential Moving Average
Last-State
use last state in the EW as the prediction value
Prior Probability
the value with highest prior probability
Auto-Regression (AR): Improved Recursive AR
Hybrid Model [27]: Kalman filter + SG filter + AR
17/28
Evaluation of Prediction Effect (Cont’d)
Training and Evaluation
Evaluation Type A: the case with insufficient samples
Training Period: [day 1, day 25]: only 18,000 load samples
Test Period: [day 26, day 29]
Evaluation Type B: ideal case with sufficient samples
Training Period : [day 1, day 29]: emulation of larger set of samples
Test Period: [day 26, day 29]
18/28
Evaluation of Prediction Effect (Cont’d)
Evaluation Metrics for Accuracy
Mean Squared Error (MSE)
where
are true mean values
and
Success Rate (delta of 10%) in the test period
success rate =
Number of Accurate Predictions
Total Number of Predictions
19/28
Evaluation of Prediction Effect (Cont’d)
1. Exploration of Best Feature Combination
(Success Rate): Evaluation Type A
Representation of Feature Combinations
101000000 denotes the combination of the mean
load feature and fairness index feature
(a) s = 3.2 hour
(b) s = 6.4 hour
(c) s = 12.8 hour
20/28
Evaluation of Prediction Effect (Cont’d)
1. Exploration of Best Feature Combination
(Mean Squared Error)
(a) s = 3.2 hour
(b) s = 6.4 hour
(c) s = 12.8 hour
21/28
Evaluation of Prediction Effect (Cont’d)
2. Comparison of Mean Load Prediction Methods
(Success Rate of CPU load w.r.t. Evaluation Type A)
(a) s = 6.4 hour
(b) s = 12.8 hour
22/28
Evaluation of Prediction Effect (Cont’d)
2. Comparison of Mean Load Prediction Methods
(MSE of CPU load w.r.t. Evaluation Type A)
(a) s = 6.4 hour
(b) s = 12.8 hour
23/28
Evaluation of Prediction Effect (Cont’d)
4. Comparison of Mean-Load Prediction Methods
(CPU load
w.r.t.
Evaluation
Type B)
Best feature Combination
mean load
fairness index
type-state
first-last
24/28
Evaluation of Prediction Effect (Cont’d)
5. Evaluation of Pattern Prediction Effect
Mean Error & Mean MSE
Mean Error:
25/28
Evaluation of Prediction Effect (Cont’d)
5. Evaluation of Pattern Prediction Effect
Snapshot of Pattern Prediction (Evaluate Type A)
26/28
Conclusion
Objective: predict ESP of host load fluctuation
Two-Step Algorithm
Mean Load Prediction for the exponential interval from the
current moment
Transformation to ESP
Bayes Model (for Mean Load Prediction)
Exploration of best-fit combination of features
Comparison with 7 other well-known methods
Use Google Trace in the experiment
Evaluation type A:
Bayes Model ({Fml}) outperforms others by 5.6-50%
Evaluation type B: {Fml,Ffi,Fts,Ffll} is the best combination.
MSE of Pattern Predictions: majority are in [10-8, 10-5]
27/28
Thanks
?
Questions
28/28