Vous êtes sur la page 1sur 20

1

Auto-Scaling to Minimize Cost and Meet Application Deadlines in Cloud Workflows


SC 11
(Nov 16, TCC 305)

Ming Mao, Marty Humphrey CS Department, University of Virginia

Introduction
2

Resource provisioning questions are not trivial


Under-provisioning

hurt performance Over-provisioning pay more than necessary


How

much resources? What types of resources? When to acquire or release? How to use them?

A performance-resource mapping problem

Auto-Scaling
3

Schedule-based and rule-based auto-scaling


E.g.

run 10 instances between 8AM to 6PM everyday and 2 instances all the other time. E.g. add (remove) 2 instances when the average CPU utilization is above 70% (below 20%) for 5 minutes. Simple and convenient, works well for simple applications What if the relationship between the performance and resources utilization indicators is complex The resource utilization indicators are low-level and may not be expressive enough They do not consider the user budgets well

Auto-Scaling
4

Goals of auto-scaling mechanisms

Balance performance and cost

E.g. meet performance goals with minimum cost or maximize utilities with the limited budget E.g. VMs have different processing power and price E.g. VM may takes several min to be ready to use E.g. billed by instance-hours E.g. deadlines, the number of concurrent users, communication latency

Reflect different options for computing resources

Be aware of practical considerations

Be aware of the cloud billing model

Support specific application performance requirements

Cloud application model


5

Cloud
Gold Members
Authentication

Credit History (5) Health Record (6)

Third Party Evaluation (8)

(2)
Silver Members Entry Point (1)

Loading Profile (4)

Complete Model (10)

Advanced Model (9)

NonMember

Data Validation (3)

Response (11)

Base Model (7)

Auto-Scaling

Non-Member Job

Silver Member Job

Gold Member Job


Cloud VMs

App consists of service units Job consists of tasks Jobs are categorized into classes (deadline and processing flow) Cloud offers multiple VM types (price and processing power) App has no knowledge on the workload info in advance VM takes time to start up (VM acquisition delay) and are billed by hours

Problem definition
6

Cloud application

app = {Si}

Job class

J = {DAG(Si), deadline | Si app}

Cloud VM

VMv = {[ ]v , cv , lagv}

Workload

Wt =

Scaling plan

Scalingt = {VMv , Nv}

Scheduling plan

Schedulet = { VMv}

Goal

Min(C) = Min(

Solution
7

SCS (Scaling Consolidation - Scheduling)


Task

bundling Deadline assignment Scaling Instance consolidation Scheduling

Solution Step 1
8

Task bundling
Idea

force tasks run on the same instance to improve performance and save data transfer cost

Example
T6 T8 T6
Bundle task as T6'

T8

Server 1

Server 2

Server 1

Before

After

Server 1

Solution Step 2
9

Deadline assignment
Idea to break task dependencies, assign deadlines proportionally based on task running time (on their costefficient machines) Example

T3 T7 T4 T1 T2 T5 T9 T6 T6 T8 T10 T12 T11 T13 T1 T2 T5 T9 T4 T8 T10 T12 T3 T7 T11 T13

3:00PM 3:00

Before

4:30

3:00 3:10 3:20

3:50

After

4:00

4:20 4:30

Task upgrading
=

Solution Step 3
10

Determine the number of instances


From

deadline assignment, we have

Task

running time tm Task execution interval [T0 ,T1 ]


Load

vector

LVm =

[tm/( T1 T0 )] # of instances = [LVm]


Example
T1 T2 All 0 0 0 0 0 3:00 0 0 3:15 0.75 0.25 0.25 0.5 0 0 0 3:45 4:00 0.25 0 0 0 0

VM1

Solution Step 5
11

Instance consolidation
Idea

put tasks on the same instance even if some task may not run the most cost-efficiently on that machine

Example
T11

Idle
High-CPU 3:00 PM 4:00 PM

Before
T12

Idle
Standard 3:00 PM 4:00 PM

After

T11

T12 Standard 3:00 PM

Idle
4:00 PM

Solution Step 6
12

Scheduling Earliest Deadline First


The

dynamic scaling feature can make sure that the tasks facing missed deadlines can be found in time
<1 _ _

Solution Overview
13

Parallelism

reduction

Evaluation
14

Workload patterns

Application models
VM Type Micro Standard High-CPU High-Memory Price $0.02/hour $0.085/hour $0.68/hour $0.50/hour

Base line Greedy GAIN

Time

Task

execution

VM

lag

72 hours

Randomly generated

8 min

Evaluation
15

SCS

cost saving ranges from 6.8% to 40.4% The performance difference is larger with longer deadlines

Evaluation High volume V.S. Low volume


16

High workload (10X ) V.S. low workload (X)


Pipeline,
Cost ($)

1-hour deadline
GreedyHigh GAINHigh SCS-High GreedyLow GAINLow SCS-Low

High Volume V.S. Low Volume

120 100 80 60 40 20

0
Stable Growing Cycle OnOff

Evaluation Imprecise parameters


17
Non-miss Rate (%)

Deadline(0.5hour) Non-Miss Rate for Imprecise Task Execution Estimation


Greedy GAIN SCS

100.0% 90.0% 80.0% 70.0% 60.0% 50.0% 40.0% 30.0% 20.0% 10.0% 0.0%

Pipeline application, 20% variance in estimated execution time, 0.5hour deadline SCS can finish jobs before deadlines for more than 90%, much better than Greedy(40%) and GAIN(50%) Pipeline application, 20% variance in the estimate VM acquisition time, 1-hour deadline SCS beats Greedy and GAIN The performance is more affected by the VM acquisition time

Stable

Growing

Cycle

OnOff

Non-miss Rate(%)

Deadeline(1 hour) Non-Miss Rate for Imprecise Instance Acquisition Lag


Greedy GAIN SCS

100.0% 90.0% 80.0% 70.0% 60.0% 50.0% 40.0% 30.0% 20.0% 10.0% 0.0%

Stable

Growing

Cycle

OnOff

Related work
18

Dynamic resource provisioning in virtualized environment

Multi-tier web applications, queuing theory, control theory

Workflow scheduling in Grid environment with deadline and budget constraints


Single workflow instance Resource pool is limited

Cloud economics

Cloud provider side V.S. cloud user side E.g. AWS auto-scaling, RightScale, enStratus, Scalr, AzureScale project, etc.

Current cloud auto-scaling mechanisms

Conclusion and future work


19

Conclusions

SCS cost saving ranges from 6.8% to 40.4% SCS can better handle different workload volume and imprecise parameters Choosing proper VM types based on the workload saves cost Instance consolidation can help save partial instance hours VM acquisition time plays a very important role

Future work

Different scheduling approaches Real scientific applications Insufficient budget cases - maximize cloud user benefits/utilities under budget constraints Data-intensive applications

20

Thank you!

Vous aimerez peut-être aussi