28
Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment Smita Vijayakumar Qian Zhu Gagan Agrawal 1

Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

  • Upload
    inoke

  • View
    73

  • Download
    0

Embed Size (px)

DESCRIPTION

Smita Vijayakumar Qian Zhu Gagan Agrawal. Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment. Background Data Streams Virtualization Dynamic Resource Allocation Accuracy Adaptation Research Goals CPU Resource Allocation Accuracy Management - PowerPoint PPT Presentation

Citation preview

Page 1: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Automatic and Dynamic Accuracy Management and Resource Provisioning in A

Cloud Environment

Smita VijayakumarQian Zhu

Gagan Agrawal1

Page 2: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Outline Background

Data Streams Virtualization Dynamic Resource Allocation Accuracy Adaptation

Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion

2

Page 3: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Data StreamsSequence of data packets in transmission

Example Live Camera Captures, Stock Markets, Video Streaming Applications, etc

Require Real-Time Analysis3

Page 4: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

4

Data Stream Processing on Clouds and VMs

Why Clouds for Streaming Apps Pay-as-you model Meet dynamically varying demand

Clouds are based on Virtual Machines Software implementation of a machine that executes

programs Hides hardware and software heterogeneity CPU can be shared between VMs

Modes of Operation Capped Mode Non-Capped Mode

Page 5: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Resource Allocation: Guiding PrinciplesPay-as-you-go

Automatic Resource AllocationDynamic Resource Allocation

Both varying Data Rates and Characteristics affect resource requirement

Amount of Data and its Complexity determine CPU requirement

5

Page 6: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Research Goals Framework for providing Accuracy and

Resource Management in Cloud Environment

Accuracy Management• Convergence to application-specific

accuracy goal• Maintain user-specified accuracy

requirement for the entire duration of run CPU Management

• Converge to near -optimal resource allocation by constant monitoring of load characteristics

6

Page 7: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

7

An Adaptive Application:Average of Input StreamRandom stream of integers

Application considers every third integer in the stream to compute average

• Adaptive Parameter, sample = 1/3

If higher accuracy is desired, sample can be set to ½ or 1

• But then, that requires more CPU resources

1 2 7 4 2 5 8 2 6 8 0 4 3 4 8 2 2 6 7 3 4 3 1 3 6 8 3 2 5 9 9 3 4 6 8 ..

1 2 7 4 2 5 8 2 6 8 0 4 3 4 8 2 2 6 7 3 4 3 1 3 6 8 3 2 5 9 9 3 4 6 8 ..

Page 8: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

8

Accuracy in Data Stream Processing

Accuracy-specific processing: User-defined processing accuracy should be met

Accuracy changes according to input Data Characteristics

Requires corresponding Resource Allocations

Final cost determined by amount of resources allocated over time

Page 9: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

9

Calculating Current Application Accuracy Application developer provides Accuracy Function Many methods of calculating accuracy:

• Method of direct comparison with input datao Not always viable

• Method of correlation with more fine-grained processingo Process data with current adaptive

parameterso Process same data set with adaptive

parameter set to greater accuracyo Compare results

Page 10: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

10

Example of Accuracy in Adaptive Application

Process batch with current value sample =1/3

For same data set• Set sample = 1and find new average

Accuracy = f(avg, higher_avg) If Accuracy < Accuracy Goal, set sample =

1/2 Repeat adapting sample

1 2 7 4 2 5 8 2 6 8 0 4 3 4 8 2 2 6 7 3 4 3 1 3 6 8 3 2 5 9 9 3 4 6 8 ..

1 2 7 4 2 5 8 2 6 8 0 4 3 4 8 2 2 6 7 3 4 3 1 3 6 8 3 2 5 9 9 3 4 6 8 ..

Page 11: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Outline Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion

11

Page 12: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

CPU Allocation Algorithm Monitor current load statistics

• Buffer Write Time• Processing Time

Time-Averaged rates• Average data rate over a time window

Update CPU allocation• Time- Averaged pattern indicates

decrease or increase in data flow Continuous Monitoring and Action Arrive at most optimal CPU Allocation

12

Page 13: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

CPU Allocation Algorithm

Resource Allocation Adjustments:• Coarse Multiplicative Increase• Fine Linear Increase• Fine Linear Decrease• Coarse Linear Decrease

Inspired by TCP Congestion Control

13

Page 14: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

14

CPU Allocation Algorithm

NoYes

Yes

No

Met Accuracy

Goal?

Sleep and awaken periodically

Adjust CPU Allocation

Met Allocation

Needs?

Page 15: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Outline Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion

15

Page 16: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Accuracy ManagementChecks periodically for accuracy level

• Re-computes application accuracy• If less than specified value then

∘ Adjust adaptive parameters ∘ Repeat

Once target accuracy is achieved, wakes up periodically

16

Page 17: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

17

Accuracy Adaptation: Design

Get Current Application Accuracy

Met Accuracy

Goal?

Sleep and awaken periodically

Yes

NoAdjust Adaptive Parameters

Page 18: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

18

Interaction between Components Process Data Block If baseline accuracy not met

• Accuracy Module adapts till accuracy is met

• State: Accuracy Met Else, periodically monitor accuracy Periodically CPU Manager wakes up

• Checks if accuracy goal is met• Checks CPU resource allocation

Page 19: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Outline Research Objectives Introduction to Cost Framework CPU Resource Allocation Accuracy Management Experimental Evaluation

Static ExperimentsDynamic Experiments

Conclusion

19

Page 20: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Experimental FocusExperiments

• Static Experiments∘ Constant Data Rate And Characteristics

• Dynamic Experiments∘ Varying Data Rates and/or Characteristics

Process◦Accuracy Adaptation to User-Specified

Accuracy◦CPU Convergence to near-optimal Allocation

20

Page 21: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Streaming Applications Multi-staged pipelined processing

Two streaming applications considered: CluStream

Intermediate Microclustering of data

Approx-Freq-Counts Mining most frequently seen itemset

within permissible error

21

Page 22: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

22

Experimental Setup Virtualization Technology: Xen

Ideal CPU Usage: Xentop

Applications initialized to values corresponding to least accuracy

Communication between management node and processing nodes using UDP

Page 23: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

CluStream Static Accuracy Adaptation

0 1 2 3 4 5 6 7 8 9 100

20406080

020406080100

Initial Accuracy Adaptation and Corresponding Ideal CPU Required for Target Accuracy 70%

Accuracy Adaptation CPU Load

Time (sec)

Accu

racy

Lev

el

Idea

l CPU

Loa

d

0 1 2 3 4 5 6 7 8 9 100

20406080

020406080100

Initial Accuracy Adaptation and Corresponding Ideal CPU Required for Target Accuracy 70%

Accuracy Adaptation CPU Load

Time (sec)

Accu

racy

Lev

el

Idea

l CPU

Loa

d

Accuracy Adaptation for 1.2MBps and 6MBps data rates23

Page 24: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

CluStream Static Accuracy Adaptation

0 500 1000 1500 20000

20406080

100

Static CPU Adaptation for Target Accuracy 70%

Ideal CPU (1.2MBps) CPU Allocation (1.2MBps)Ideal CPU (6MBps) CPU Allocation (6MBps)

Time(sec)

CPU

Allo

cati

on

0 1 2 3 4 5 6 7 8 9 100

20406080

100

Initial Accuracy Adaptation for Target Accuracy 70%Number of Clusters for 1.2MBps Number of Clusters for 6MBps

Time (sec)

Num

ber

of

Clus

ters

Accuracy and CPU Allocation Adaptation for 1.2MBps and 6MBps data rates24

Ideal CPU Load: 54%Average CPU Allocated: 55.4%

Ideal CPU Load: 74%Average CPU Allocated: 76.0%

Page 25: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Spread Distb Sharp Distb Spread Distb

0 500 1000 1500 2000 2500 30000

20406080

100

Dynamic Accuracy Adaptation for Target Accuracy 60% Ideal Accuracy Accuracy Level

Time (sec)

CPU

Allo

cati

onApprox-Freq-Counts Dynamic Accuracy Adaptation

25

0 500 1000 1500 2000 2500 30000

20406080

100

Dynamic CPU Adaptation at Target Accuracy 60% CPU Allocation Ideal CPU

Time (sec)

CPU

Allo

cati

on

Page 26: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Approx-Freq-Counts Dynamic Accuracy Adaptation

0 500 1000 1500 2000 2500 30000

20406080

100

Dynamic Accuracy Adaptation for Target Accuracy 60%

Ideal Accuracy Accuracy Level

Time (sec)CPU

Allo

cati

on

Slow Data Rate Fast Data Rate Slow Data Rate

26

0 500 1000 1500 2000 2500 30000

20406080

100

CPU Adaptation at Target Accuracy 60% CPU Allocation Ideal CPU Load

Time (sec)CPU

Allo

cati

on

Page 27: Automatic and Dynamic Accuracy Management and Resource Provisioning in A Cloud Environment

Conclusion A framework for automatically and

dynamically managing resource allocations on cloud environments

Eliminates manual intervention

Ensures user-specified accuracy is maintained

Converges to near-optimal resource allocation

Adapts to varying data stream characteristics

Low Overheads: Within 2% ideal resource allocation

27