A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar
Outline Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
Outline Research Goals Accuracy Management Experimental Evaluation Background Data Streams Virtualization Dynamic Resource Allocation Accuracy Adaptation Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
Data Streams Sequence of data packets in transmission Time interval between successive packets never a perfect constant This leads to Jitter 4
Examples of Data Streams Live Camera Captures Telecommunication Networks Stock Markets Network Monitoring Video Streaming Applications Business Transaction Flows 5
Properties of Data Streams Require Real-Time Analysis Time-Varying Characteristics Time-Varying Resource Requirements 6
Resource Allocation: Guiding Principles Utility Computing Pay-as-you-go Two desirable features : Automatic Resource Allocation Eliminates User intervention Dynamic Resource Allocation Better Resource Management Lesser Overall Costs
Virtualization Software implementation of a machine that executes programs Resources can be allocated in a fine-grained way CPU cycles can be changed
Why Dynamic Resource Provisioning for Data Streams Sufficient Data to Process -> Max CPU Utilization Insufficient Data -> Wasted CPU Cycles and Unwanted Cost Varying Data Rates and Characteristics 9
CPU Allocation Algorithm Near-Optimal resource allocation at bottleneck stage by constant monitoring of processing load Design Principle: Match processing speed with data arrival rate
Accuracy Adaptation Consider Adaptive Streaming Applications Such application have Adaptive Parameters that determine accuracy of the application Parameter values can be set according to user-desired accuracy levels and resource budgets
Example of Adaptive Application Random stream of integers Application retains the average of every third integer in the stream 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 ..
Accuracy in Data Stream Processing Accuracy-specific processing Requirement: User-defined processing accuracy should be met Require corresponding Resource Allocations Final cost determined by amount of resources allocated
Calculating Current Application Accuracy Application developer provides Accuracy Function Many methods of calculating accuracy: Method of direct comparison with input data Not always viable Method of correlation with more fine-grained processing Process data with current adaptive parameters Process same data set with adaptive parameter set to greater accuracy Compare results
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 ..
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
Outline Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
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
CPU Allocation Algorithm Resource Allocation Adjustments: Coarse Multiplicative Increase Fine Linear Increase Fine Linear Decrease Coarse Linear Decrease Inspired by TCP Congestion Control
CPU Allocation Algorithm Met Accuracy Goal? Sleep and awaken periodically Adjust CPU Allocation Met Allocation Needs? Yes No Yes No
Outline Background Research Goals CPU Resource Allocation Accuracy Management Experimental Evaluation Conclusion
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 after every 500 rounds of processing
Accuracy Adaptation: Design Get Current Application Accuracy Met Accuracy Goal? Sleep and awaken periodically Yes No Adjust Adaptive Parameters
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 Experiments Dynamic Experiments Conclusion
Experimental Focus Static Experiments Constant Data Rate And Characteristics Dynamic Experiments Varying Data Rates and Characteristics Evaluate Accuracy Adaptation for User-Specified Accuracy Converge to near-optimal CPU Allocation
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
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
CPU Convergence Experiments Experimental Results CPU Convergence Experiments
CluStream Static Convergence 36.0% 35.6% Convergence to an ideal 36% CPU Allocation
Approx-Freq-Counts Static Convergence 71.3% 71.2% Convergence to an ideal 71% CPU Allocation
CluStream Dynamic Convergence Convergence to 18-53-18 CPU Allocation
Approx-Freq-Counts Dynamic Convergence Convergence to 32-76-32 CPU Allocation
Accuracy Convergence Experiments Experimental Results Accuracy Convergence Experiments
CluStream Static Accuracy Adaptation Accuracy Adaptation for 1.2MBps and 6MBps data rates
CluStream Static Accuracy Adaptation Accuracy and CPU Allocation Adaptation for 1.2MBps and 6MBps data rates
Approx-Freq-Counts Dynamic Accuracy Adaptation Spread Distb Sharp Distb Spread Distb
Approx-Freq-Counts Dynamic Accuracy Adaptation Sharp Distb Slow Data Rate Spread Distb Fast Data Rate Sharp Distb Slow Data Rate
Conclusion A framework for automatically and dynamically managing resource allocations on cloud environments Eliminates manual intervention Ensures user-specified accuracy maintained Converges to near-optimal resource allocation Adapts to varying data stream characteristics Low Overheads: Within 2% ideal resource allocation
Thank You!