Automated Control of Multiple Virtualized Resources

Slides:



Advertisements
Similar presentations
Managing Web server performance with AutoTune agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigu Jangwon Han Seongwon Park
Advertisements

Hadi Goudarzi and Massoud Pedram
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
SLA-Oriented Resource Provisioning for Cloud Computing
Walter Binder University of Lugano, Switzerland Niranjan Suri IHMC, Florida, USA Green Computing: Energy Consumption Optimized Service Hosting.
Power Aware Virtual Machine Placement Yefu Wang. 2 ECE Introduction Data centers are underutilized – Prepared for extreme workloads – Commonly.
Memory-efficient Virtual Machine High Availability Karen Kai-Yuan Hou Prof. Kang G. Shin University of Michigan Mustafa Uysal (VMware) Arif Merchant (HP.
Proactive Prediction Models for Web Application Resource Provisioning in the Cloud _______________________________ Samuel A. Ajila & Bankole A. Akindele.
XENMON: QOS MONITORING AND PERFORMANCE PROFILING TOOL Diwaker Gupta, Rob Gardner, Ludmila Cherkasova 1.
Reciprocal Resource Fairness: Towards Cooperative Multiple-Resource Fair Sharing in IaaS Clouds School of Computer Engineering Nanyang Technological University,
CloudScale: Elastic Resource Scaling for Multi-Tenant Cloud Systems Zhiming Shen, Sethuraman Subbiah, Xiaohui Gu, John Wilkes.
Efficient Autoscaling in the Cloud using Predictive Models for Workload Forecasting Roy, N., A. Dubey, and A. Gokhale 4th IEEE International Conference.
SLA-aware Virtual Resource Management for Cloud Infrastructures
An Adaptable Benchmark for MPFS Performance Testing A Master Thesis Presentation Yubing Wang Advisor: Prof. Mark Claypool.
Energy Management and Adaptive Behavior Tarek Abdelzaher.
1 CAPS: A Peer Data Sharing System for Load Mitigation in Cellular Data Networks Young-Bae Ko, Kang-Won Lee, Thyaga Nandagopal Presentation by Tony Sung,
Fair Scheduling in Web Servers CS 213 Lecture 17 L.N. Bhuyan.
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
Bandwidth Allocation in a Self-Managing Multimedia File Server Vijay Sundaram and Prashant Shenoy Department of Computer Science University of Massachusetts.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automated Workload Management in.
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Black-box and Gray-box Strategies for Virtual Machine Migration Timothy Wood, Prashant.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Generating Adaptation Policies for Multi-Tier Applications in Consolidated Server Environments College of Computing Georgia Institute of Technology Gueyoung.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Report : Zhen Ming Wu 2008 IEEE 9th Grid Computing Conference.
Adaptive Control of Virtualized Resources in Utility Computing Environments HP Labs: Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal University.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
1 An SLA-Oriented Capacity Planning Tool for Streaming Media Services Lucy Cherkasova, Wenting Tang, and Sharad Singhal HPLabs,USA.
OPTIMAL SERVER PROVISIONING AND FREQUENCY ADJUSTMENT IN SERVER CLUSTERS Presented by: Xinying Zheng 09/13/ XINYING ZHENG, YU CAI MICHIGAN TECHNOLOGICAL.
Network Aware Resource Allocation in Distributed Clouds.
Adaptive software in cloud computing Marin Litoiu York University Canada.
Storage Management in Virtualized Cloud Environments Sankaran Sivathanu, Ling Liu, Mei Yiduo and Xing Pu Student Workshop on Frontiers of Cloud Computing,
RECON: A TOOL TO RECOMMEND DYNAMIC SERVER CONSOLIDATION IN MULTI-CLUSTER DATACENTERS Anindya Neogi IEEE Network Operations and Management Symposium, 2008.
Autonomic SLA-driven Provisioning for Cloud Applications Nicolas Bonvin, Thanasis Papaioannou, Karl Aberer Presented by Ismail Alan.
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
Challenges towards Elastic Power Management in Internet Data Center.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Profiling and Modeling Resource Usage.
Embedded System Lab. 오명훈 Memory Resource Management in VMware ESX Server Carl A. Waldspurger VMware, Inc. Palo Alto, CA USA
MClock: Handling Throughput Variability for Hypervisor IO Scheduling in USENIX conference on Operating Systems Design and Implementation (OSDI ) 2010.
Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.
The Owner Share scheduler for a distributed system 2009 International Conference on Parallel Processing Workshops Reporter: 李長霖.
Automated Control in Cloud Computing: Challenges and Opportunities Harold C. Lim, Shivnath Babu, Jeffrey S. Chase, and Sujay S. Parekh ACM’s First Workshop.
Managing the Performance Impact of Administrative Utilities Paper by S. Parekh,K. Rose, J.Hellerstein, S. Lightstone, M.Huras, and V. Chang Presentation.
VGreen: A System for Energy Efficient Manager in Virtualized Environments G. Dhiman, G Marchetti, T Rosing ISLPED 2009.
1 Admission Control and Request Scheduling in E-Commerce Web Sites Sameh Elnikety, EPFL Erich Nahum, IBM Watson John Tracey, IBM Watson Willy Zwaenepoel,
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
MEMORY RESOURCE MANAGEMENT IN VMWARE ESX SERVER 김정수
Full and Para Virtualization
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
1 Hidra: History Based Dynamic Resource Allocation For Server Clusters Jayanth Gummaraju 1 and Yoshio Turner 2 1 Stanford University, CA, USA 2 Hewlett-Packard.
Managing Web Server Performance with AutoTune Agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigus Presented by Changha Lee.
1 Exploiting Nonstationarity for Performance Prediction Christopher Stewart (University of Rochester) Terence Kelly and Alex Zhang (HP Labs)
Technical Reading Report Virtual Power: Coordinated Power Management in Virtualized Enterprise Environment Paper by: Ripal Nathuji & Karsten Schwan from.
Sunpyo Hong, Hyesoon Kim
Memory Resource Management in VMware ESX Server By Carl A. Waldspurger Presented by Clyde Byrd III (some slides adapted from C. Waldspurger) EECS 582 –
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
Dynamic Resource Allocation for Shared Data Centers Using Online Measurements By- Abhishek Chandra, Weibo Gong and Prashant Shenoy.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Analyzing Security and Energy Tradeoffs in Autonomic Capacity Management Wei Wu.
Frequency Governors for Cloud Database OLTP Workloads
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Comparison of the Three CPU Schedulers in Xen
Zhen Xiao, Qi Chen, and Haipeng Luo May 2013
Smita Vijayakumar Qian Zhu Gagan Agrawal
Admission Control and Request Scheduling in E-Commerce Web Sites
CPU SCHEDULING.
Presentation transcript:

Automated Control of Multiple Virtualized Resources Pradeep Padala, Xiaoyun Zhu Mustafa Uysal, Zhikui Wang, Kai-Yuan Hou, Kang G. Shin VMware, Inc. Sharad Singhal, Arif Merchant The University of Michigan xzhu@vmware.com {ppadala,karenhou,kgshin}@umich.edu HP Labs firstname.lastname@hp.com 2009,Proceedings of the 4th ACM European conference on Computer systems

OUTLINE Introduction Overview, Assumptions and Goals Model Design Experimental Testbed Evaluation Results Discussion and Future Work Conclusion

Introduction An example for shared virtualized infrastructure: Each physical node hosts multiple application tiers running on VMs Multi-tier applications can span multiple nodes

Introduction Several challenges for data center administrators: Complex SLOs (service-level objectives) difficult to determine the CPU and disk allocations needed to process a specified number of financial transactions per unit of time Time-varying resource requirements Distributed resource allocations Resource dependencies

Introduction In this paper, we propose AutoControl First contribution: a feedback-based resource allocation system manages dynamic resource sharing within the virtualized nodes First contribution: An online model estimator Dynamically determine the relationship between application-level performance and the allocations of individual resources

Introduction Second Contribution: A two-layer, multi-input, multi-output (MIMO) controller Automatically allocate multiple types of virtualized resources to individual tiers of applications to achieve their SLOs Layer 1 : a set of application controllers automatically determine the amount of resources necessary Layer 2 : a set of node controllers detect resource bottlenecks on the shared nodes properly allocate multiple types of resources to individual application tiers

Overview In AutoControl, the application SLO as a tuple (priority, metric, target) priority represents the priority of the application metric specifies the performance metric in the SLO (e.g., transaction throughput, response time) target indicates the desired value for the performance metric In this paper, CPU and disk I/O as the resources application throughput and average response time as the performance metric

Fundamental Assumption The initial placement of applications onto nodes has been handled by a separate capacity planning service also perform admission control for new applications (if existing nodes have enough idle capacity to accommodate the projected demands of the applications) A workload migration system may rebalance workloads among nodes at a time scale of minutes These problems are complementary to the problem solved by AutoControl

Goals Performance assurance Automation Adaptation Scalability If all applications can meet their performance targets, AutoControl should allocate resources to achieve them Automation all allocation decisions should be made automatically Adaptation adapt to variations in workloads or system conditions Scalability controller architecture should be distributed (can handle many applications and nodes)

Logical Controller Architecture Control Interval Layer 1 Layer 2

Design of AppController AppController has two modules: Model estimator automatically learns and periodically updates a model for the dynamic relationship between the application’s resource allocations and its performance under the current operating conditions Optimizer predicts the resource allocations required for the application to meet its performance target based on the estimated model

AppController’s Internal Structure 𝑢 𝑎 (𝑘) represents the resource-allocation values for application 𝑎 during interval 𝑘

Model estimator Assume that Periodically re-estimate the model the behavior of the system in the neighborhood of an operating point can be approximated locally by a linear model Periodically re-estimate the model based on real-time measurements of the relevant variables and metrics allowing the model to adapt to different workloads

Model estimator The quantitative relationship between: the resource allocations to application 𝑎 ( 𝑢 𝑎 ) and its normalized performance ( 𝑦 𝑎 ) around the current operating point the following auto-regressive-moving-average (ARMA) model is used to represent this relationship: 𝒂 𝟏 (𝒌) and 𝒂 𝟐 (𝒌) capture the correlation between the application’s past and present performance 𝒃 𝟎 (𝒌) and 𝒃 𝟏 (𝒌) are vectors of coefficients capturing the correlation between the current performance and the recent resource allocations ^

ARMA model in Eq. (1) the second-order ARMA model can predict the application performance with adequate accuracy one that takes into account the past two control intervals the model is itself adaptive the parameters 𝒂 𝟏 , 𝒂 𝟐 , 𝒃 𝟎 and 𝒃 𝟏 are also functions of control interval 𝑘 updated at the end of every interval 𝑘 using the recursive least squares (RLS) method [Astrom 1995]

Optimizer Goals: To determine the resource allocations required ( 𝑢 𝑎 ) for the application to meet its performance target Accomplish in a stable manner, without causing large oscillations Achieve these goals by finding the value of 𝑢 𝑎 that minimizes the following cost function: control cost is included to improve controller stability performance cost control cost

Optimizer Aims to minimize a linear combination of both the performance cost and control cost Using the approximate linear relationship between the normalized performance and the resource allocations (Eq. (1)) Derive the optimal resource allocations: where 𝐼 is an identity matrix

Optimizer To intuitively understand: We define Δ 𝑦 𝑎 𝑘 = 1− 𝑎 1 𝑦 𝑎 (𝑘 −1)− 𝑎 2 𝑦 𝑎 (𝑘 −2)− 𝑏 1 𝑇 𝑢 𝑎 (𝑘 −1) This indicates the discrepancy between the model-predicted value for 𝑦 𝑎 𝑘 and its target (which is 1) needs to be compensated by the next allocation 𝒖 𝒂 (𝒌) The effect of the scaling factor 𝑞: a small 𝑞 value, 𝒖 𝒂 (𝒌) is dominated by the effect of the discrepancy, and the controller reacts aggressively to reduce it an infinitely large 𝑞 value, 𝒖 𝒂 𝒌 = 𝒖 a (𝒌−𝟏) means the allocations remain constant 𝑞 is referred to as the stability factor ^ ^

Design of NodeController NodeController determines the allocation of resources , based on the resources requested by the AppControllers and the resources available at the node the total allocation requested is less than the available capacity, the NodeController divides the resource in proportion to the requests from the AppControllers The sum of the resource requests is greater than the available capacity, the NodeController picks an allocation that locally minimizes the discrepancy between the resulting normalized application performance and its target value

Resource Allocation Method Suppose CPU and disk are the two critical resources being shared by the two applications Constraint (4) is violated, the virtualized node suffers CPU contention Constraint (5) is violated (disk contention)

Scenario I: Single resource contention For the one of resource 𝑟 ∈𝑅={𝑐𝑝𝑢, 𝑑𝑖𝑠𝑘}, both applications will receive less allocations than requested denote the deficiencies as The resulting discrepancy between the achieved and target normalized performance of application 1 can then be estimated as From Eq. (1), we know that Both coefficients can be obtained from the model estimators

Actual Allocations The penalty function for not meeting the performance targets is defined as: actual allocations are found by solving the following problem :

Scenario II: CPU and disk contention The penalty function for not meeting the performance targets becomes: We have observed that the time taken for the online optimization is negligible (on average 40ms in our implementation)

Experimental Testbed two testbeds using Xen to evaluate AutoControl The first testbed consisted of HP C-class blades two dual-core 2.2 GHz 64-bit processors 4GB memory two Gigabit Ethernet cards two 146 GB disks Xen 3.1 (OpenSuSE 10.3) A second, larger testbed was built on Emulab[White 2002] to evaluate the scalability of AutoControl Xen 3.3 In both testbeds, all of the VMs on a node shared one network interface and a disk

Experimental Testbed AutoControl uses two mechanisms to enforce the resource allocations: CPU: Xen’s credit-based CPU scheduler Disk: An interposed proportional-share I/O scheduler [Gulati 2007] interacts with the schedulers by assigning a cap for each VM’s CPU usage and a disk share for each VM’s disk usage in every control interval We used three different applications in our experiments: RUBiS [Amza 2002] an online auction site benchmark TPC-W benchmark [Cain 2001] A custom-built secure media server (a media server that can serve encrypted media streams) Reading a file from the disk consumes disk I/O resource, and encryption requires CPU resource

Experimental Testbed All three applications use a closed-loop client model where a new request is only issued after the previous request is complete Used resource utilization traces from an SAP application server running in a production environment For example, to create 40% average CPU utilization over a 5 minute period, we used 500 threads simulating 500 concurrent users generated from a media workload generator called MediSyn[Tang 2003] based on analytical models drawn from real-world traces collected at an HP Labs production media server

Evaluation Results These experiments were designed to test the following capabilities of our system : Automatically detect and mitigate dynamically-changing resource bottlenecks across application tiers Enforce performance targets for metrics including throughput and response time under dynamically-varying resource demands Prioritize among applications during resource contention Scale to a reasonably large testbed

Detecting and mitigating resource bottlenecks we varied the percentage of encrypted streams requested by the smedia clients over time to create resource bottleneck smedia1 and smedia3 had throughput targets of 200 reqs/sec each We alternated the throughput targets of smedia2 and smedia4 between 500 reqs/sec and 100 reqs/sec The targets were chosen such that both nodes were running near their capacity limits for either CPU or disk I/O

Results under AutoControl Target The labels “CB” and “DB” indicate when CPU or disk I/O was a bottleneck and when the bottleneck shifted from one type of resource to another

CPU contention Disk contention node1 CPU contention Disk contention node2

Comparison with the state-of-the-art we repeated the same experiment using two resource allocation methods : a work-conserving mode Run in the default Xen settings where a cap of zero is specified for the shared CPU on a node proportional share disk scheduler was unloaded to allow unhindered disk access a static allocation mode three applications sharing a node were allocated CPU and disk resources in the fixed ratio of 20:50:30

RUBiS was able to achieve a throughput much higher than its target

Evaluating the model estimator CPU contention Disk contention

Handling dynamic demands we evaluate whether AutoControl can meet application performance targets under dynamic variations in resource demands For this experiment, we continued to use the setup in Figure 5(a) driving each of the RUBiS, smedia1 and smedia2 applications using CPU utilization traces from a production site Chose response time as the performance metric

We used a response time target of 1 We used a response time target of 1.5 second for all the three applications The dark-shaded regions show the time intervals when a CPU bottleneck occurred the CPU allocation at a fixed 33% for each application in the static mode

Enforcing application priorities We used the experimental setup with two multi-tier applications, RUBiS and TPC-W, and four smedia applications spanning three nodes TPC-W was assigned a priority weight of w = 2 while the other applications had w = 1 in order to provide service differentiation

the higher priority weight for TPC-W allowed it to still meet its throughput target while degrading performance for the other two applications

For q = 1, the controller reacts to the workload change more quickly and aggressively, resulting in large oscillations in performance For q = 10, the controller becomes much more sluggish and does not adjust resource allocations fast enough to track the performance targets

Scalability experiments evaluate the scalability of AutoControl using a larger testbed built on Emulab [White 2002], using 16 server nodes, each running 4 smedia applications in 4 individual virtual machines After 240 seconds, we increased the load for half of the applications (in 32 VMs) and updated their performance targets accordingly These applications were chosen randomly and hence were not spread uniformly across all the nodes

Discussion and Future Work Migration for dealing with bottlenecks If a node is persistently overloaded VM migration [Clark 2005, Wood 2007] may be needed, but the overhead of migration can cause additional SLO violations During the migration period (t=120-170), the VM showed CPU starvation and we observed a significant decrease in smedia performance

Actuator & sensor behavior The behavior of sensors and actuators affects our control In existing systems, most sensors return accurate information, but many actuators are poorly designed We observed various inaccuracies with Xen’s earlier SEDF scheduler and credit scheduler that are identified by other researchers [Gupta 2006] as well (These inaccuracies cause VMs to gain more or less CPU than set by the controller) Empirical evidence shows that our controller is resistant to CPU scheduler’s inaccuracies

Network and memory control We are also working on extending AutoControl for network and memory resources Our initial experiments to incorporate network control using Linux’s traffic controller (tc) found its overhead to be prohibitive VMware ESX Server allows memory overbooking and dynamically re-allocates memory from one virtual machine to another through the use of balloon drivers [Waldspurger 2002] Using Xen’s balloon driver we have developed policies for automated memory control [Heo 2009] and will soon integrate them with AutoControl

Conclusions In this paper, we presented AutoControl, a feedback control system to dynamically allocate resources to applications running on shared virtualized infrastructure AutoControl detect dynamically-changing CPU and disk bottlenecks across multiple nodes and can adjust resource allocations accordingly to achieve end-to-end application-level SLOs provide a level of service differentiation according to the priorities of individual applications enforce performance targets for different application-level metrics, including throughput and response time, under dynamically varying resource demands