smita vijayakumar qian zhu gagan agrawal 1. background data streams virtualization dynamic...
TRANSCRIPT
Automatic and Dynamic Accuracy Management and Resource Provisioning in A
Cloud Environment
Smita VijayakumarQian Zhu
Gagan Agrawal1
Outline Background
Data Streams
Virtualization
Dynamic Resource Allocation
Accuracy Adaptation
Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
2
Data Streams
Sequence of data packets in transmission
Example Live Camera Captures, Stock Markets, Video Streaming Applications, etc
Require Real-Time Analysis
3
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
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
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
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 ..
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
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
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 ..
Outline
Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
11
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
CPU Allocation Algorithm
Resource Allocation Adjustments:• Coarse Multiplicative Increase• Fine Linear Increase• Fine Linear Decrease• Coarse Linear Decrease
Inspired by TCP Congestion Control
13
14
CPU Allocation Algorithm
No
Yes
Yes
No
Met Accuracy
Goal?
Sleep and awaken periodically
Adjust CPU Allocation
Met Allocation
Needs?
Outline
Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
15
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
17
Accuracy Adaptation: Design
Get Current Application Accuracy
Met Accuracy
Goal?
Sleep and awaken periodically
Yes
NoAdjust Adaptive Parameters
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
Outline
Research Objectives Introduction to Cost Framework CPU Resource Allocation Accuracy Management Experimental Evaluation
Static ExperimentsDynamic Experiments
Conclusion
19
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
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
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
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
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%
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
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
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