Smita Vijayakumar Qian Zhu Gagan Agrawal 1. Background Data Streams Virtualization Dynamic...

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

Transcript of Smita Vijayakumar Qian Zhu Gagan Agrawal 1. Background Data Streams Virtualization Dynamic...

Page 1: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Automatic and Dynamic Accuracy Management and Resource Provisioning in A

Cloud Environment

Smita VijayakumarQian Zhu

Gagan Agrawal1

Page 2: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Outline Background

Data Streams

Virtualization

Dynamic Resource Allocation

Accuracy Adaptation

Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion

2

Page 3: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Data Streams

Sequence of data packets in transmission

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

Require Real-Time Analysis

3

Page 4: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Resource Allocation: Guiding Principles

Pay-as-you-goAutomatic 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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

7

An Adaptive Application:Average of Input Stream

Random 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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Outline

Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion

11

Page 12: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

14

CPU Allocation Algorithm

No

Yes

Yes

No

Met Accuracy

Goal?

Sleep and awaken periodically

Adjust CPU Allocation

Met Allocation

Needs?

Page 15: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Outline

Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion

15

Page 16: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Accuracy Management

Checks 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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

17

Accuracy Adaptation: Design

Get Current Application Accuracy

Met Accuracy

Goal?

Sleep and awaken periodically

Yes

NoAdjust Adaptive Parameters

Page 18: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Outline

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

Static ExperimentsDynamic Experiments

Conclusion

19

Page 20: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Experimental Focus

Experiments• 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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

CluStream Static Accuracy Adaptation

0 1 2 3 4 5 6 7 8 9 100

20

40

60

80

020406080100

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

Accuracy Adaptation CPU Load

Time (sec)

Acc

ura

cy L

evel

Ideal C

PU

Load

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)

Acc

ura

cy L

evel

Ideal C

PU

Load

Accuracy Adaptation for 1.2MBps and 6MBps data rates23

Page 24: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

CluStream Static Accuracy Adaptation

0 500 1000 1500 20000

20

40

60

80

100

Static CPU Adaptation for Target Accuracy 70%

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

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

Time(sec)

CP

U A

lloca

tion

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

Clu

ste

rs

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: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

Spread Distb Sharp Distb Spread Distb

0 500 1000 1500 2000 2500 30000

20

40

60

80

100

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

Time (sec)

CP

U A

lloca

tion

Approx-Freq-Counts Dynamic Accuracy Adaptation

25

0 500 1000 1500 2000 2500 30000

20

40

60

80

100

Dynamic CPU Adaptation at Target Accuracy 60%

CPU Allocation Ideal CPU

Time (sec)

CP

U A

lloca

tion

Page 26: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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)

CP

U A

lloca

tion

Slow Data Rate Fast Data Rate Slow Data Rate

26

0 500 1000 1500 2000 2500 30000

20

40

60

80

100

CPU Adaptation at Target Accuracy 60%

CPU Allocation Ideal CPU Load

Time (sec)CP

U A

lloca

tion

Page 27: Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.

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