Efficient Autoscaling in the Cloud using Predictive Models for

Download Report

Transcript Efficient Autoscaling in the Cloud using Predictive Models for

1
EFFICIENT AUTOSCALING IN
THE CLOUD USING
PREDICTIVE MODELS FOR
WORKLOAD FORECASTING
Roy, N., A. Dubey, and A. Gokhale
4th IEEE International Conference on Cloud Computing (Cloud 2011)
Agenda
2







Introduction
Related Work
Challenge
Solution
Evaluation
Conclusion
Comment
Introduction (1/4)
3

Typically customers maintain SLAs with service
providers for the QoS properties.
 Failure
to comply with satisfying these QoS metrics
leads to a major loss of revenue in the form of
decreased user base

Catering to the SLA while still keeping costs
low is challenging for such enterprise systems
Introduction (2/4) – naïve method
4
Introduction (3/4)
5

A problem with such a resource allocation scheme
 Is
the chance of thrashing where due to frequent
variation of workload, machines can be added and
released on every sample

A desirable solution would require an ability to
predict the incoming workload on the system and
allocate resources a priori
Introduction (4/4)
6

autoscaling the resources in a cloud environment is
not an easy and straightforward task.
 (i)
overheads related to state transition when number
of resources are changed
 (ii) ability to accurately predict future workload
 (iii) compute the right number of resources required
for the expected increase or decrease in workload.
Related Work (1/2)
7

(1) Heuristics-based virtual machine allocation and
migration

Urgaonkar et. al. [2], 2008



VM, dynamic provisioning, Queueing model
Only a single VM can be run in a host
Wood et. al. [3], 2007


VM, dynamic migration
define a unique metric based on the consumption data of the three
resources to make the migration decision


CPU, network and memory
Cunha et. al. [4], 2007


Queueing model
Pricing Model that gives rewards for throughput to be within SLA
limits and penalty for throughput going above
Related Work (2/2)
8

(2) Autonomic management of virtual computing
environment using control-theoretic approaches:

Wang et. al. [6]

A load balancing controller


Moreno et. al. [7]


An architecture for elastic management of cluster-based services
Waheed et. al. [8]


VMs are all load-balanced and the response time of the
applications in all the VMs are the same
Reactive algorithm to allocate resources to a cluster farm
Yang et. al [9]

Profiled based approach
Challenge (1/4)
9

Challenge 1: Workload Forecasting
 Correctness
of prediction
 Releasing resources is easy, but..
 Acquiring resources
 Make
a call on the cloud API which starts the acquisition
process
 The machine will be needed to boot up with the specified
image
 The application need to be started
Challenge (2/4)
10

Challenge 2: Identify Resource Requirement for
Incoming Load
 The
required number of resources is a function of
 the
number of customers
 the nature of the application
 the type of calls that each customer makes on the
application
Challenge (3/4)
11

Challenge 3: Resource Allocation while Optimizing
Multiple Cost Factors
 To
optimize resource usage and/or minimize idle
resources
 define
a time interval and change resources as many times
as possible as workload changes.
 In
the limit, this interval could be made infinitesimally
small and resources are changed continuously in
accordance with the change in load
Challenge (4/4)
12
 Obviously,
 the

such as scheme is not possible
overhead in allocating a resource
scaling up or down resources also involves cost and needs to be
optimized
Solution (1/9)
13

Control theory offers a promising methodology to
address the challenges
Solution (2/9)
14



1. For every future time step, it computes the cost of
selecting each possible resource allocation
2. To compute the cost of a particular allocation, it
uses Algorithm 1 to compute the estimated response
time for that particular machine configuration
3. Once the response time is calculated, it is used to
calculate the cost of the allocation which is a
combination of
how far the estimated response time is from the SLA
bounds (SLA violation)
 cost of leasing additional machines
 and also a cost of re-configuration

Solution (3/9)
15

A. Workload Prediction
 Authors
used a second order autoregressive moving
average method (ARMA) filter for the workload
 ( t  1)   ( t )   ( t  1)  (1  (    ))  ( t  2 )
 The
value for the variables β and γ are given by the
values 0.8 and 0.15
ARMA
16

Autoregressive Model (AR)
a
model depends on the level of the lagged
observations
 For example, if we observe a high realisation of GDP
we would expect that the GDP in the next few periods
are high as well
p
x
t
c
 x
i 1
i
t i

t
ARMA
17

Moving Average Model (MA)
 model
that the observations of a random variable at
time t are not only affected by the shock at time t, but
also the shocks of prior periods
 Ex. if we observe a negative shock to the economy, say,
9/11, then we would expect that the negative effect
affects the economy also for the near future.
q
x
t
  
 
i 1
i
t i

t
ARMA
18

Autoregressive Moving Average Model
 combine
both models we get a ARMA(p,q) model
x
 ARMA
t
 c t
p
 x
i 1
i
q
t i

i 1
i

t i
models are widely used for prediction of
economic and industrial time series
Solution (4/9)
19
Solution (5/9)
20

B. Performance Model
 The
next challenge we resolve is identifying resource
requirements for the predicted workload
 The workload used in this work is the number of users
currently in the system.
 It also depends
 In
upon what each user does.
prior work [20] we have used Customer Behavior
Modeling Graphs (CBMG) (?) to model the overall
behavior of customers
Solution (6/9)
21

A CBMG is built from a log of previous customer
behavior and computes the probability of a typical
user to visit each page
 Using
this information, we can calculate the number
of visits to a single page from the total number of
customers in the system.
 The number of visits to each page helps in calculating
the average load on each page.
Solution (7/9)
22
Solution (8/9)
23


C. Optimizing Resource Provisioning
The intuition is to identify the right number of time
intervals
 Our
solution works on look-ahead optimization
 iteratively solves
from t0
an optimization problem, Costopt, starting
Solution (9/9)
24

The next challenge is the choice of the look-ahead
period.
A
small look-ahead period will neglect trends
 A very large period will increase computational
complexity

The actual algorithm is not described here
 because
the implementation requires recursive data
structures
 is difficult to describe in the limited space available.
Evaluation (1/7)
25

Cost Function
26
Evaluation (2/7)
Just in time Resource Allocation

the weights on each component of the cost
function is the same
27
Evaluation (3/7) -- Resource Usage
under Different Cost Priorities

1) SLA violation against Resource Cost
 The
ratio of SLA penalty to machine cost is varied from
4 : 1 to 1 : 13
28
Evaluation (4/7) -- Resource Usage
under Different Cost Priorities
29
Evaluation (5/7) -- Resource Usage
under Different Cost Priorities
30
Evaluation (6/7) -- Resource Usage
under Different Cost Priorities

2) Including the Cost of Reconfiguration
31
Evaluation (7/7) -- Resource Usage
under Different Cost Priorities
Conclusion
32

this paper describes a look-ahead resource
allocation algorithm based on model predictive
control
 predicts
future workload
 adjusts resources allocated to users ahead-of-time
Comments
33




The detail of the model in the paper is too simple
I cannot understand why the authors did these
evaluations
The paper use control theory and it seems to have
a good prediction of workload
Something in 3 challenges
 the
overhead of allocating resources
 the prediction interval
 the costs of SLA violation, reconfiguring machine….