Efficient Autoscaling in the Cloud using Predictive Models for

advertisement

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)

1

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

4

Introduction (2/4) – naïve method

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

 VMs are all load-balanced and the response time of the applications in all the VMs are the same

 Moreno et. al. [7]

 An architecture for elastic management of cluster-based services

 Waheed et. al. [8]

 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

12

Challenge (4/4)

 Obviously, such as scheme is not possible

 the 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 x t

 c

 i p 

1

 i x 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.

t

  q x

  i

1

 i

 t

 i

  t

ARMA

18

Autoregressive Moving Average Model

 combine both models we get a ARMA(p,q) model x t

 c

  t

 i p 

1

 i x t

 i

 i q 

1

 i

 t

 i

 ARMA models are widely used for prediction of economic and industrial time series

19

Solution (4/9)

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 upon what each user does.

 In 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.

22

Solution (7/9)

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 an optimization problem, Cost opt , starting from t

0

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….

Download