380 likes | 581 Views
Adaptive Control of Virtualized Resources in Utility Computing Environments. Pradeep Padala, Kang G. Shin University of Michigan. HP Labs: Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal, Arif Merchant University of Waterloo: Kenneth Salem. Requirements. Requirements.
E N D
Adaptive Control of Virtualized Resources in Utility Computing Environments Pradeep Padala, Kang G. Shin University of Michigan HP Labs: Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal, Arif Merchant University of Waterloo: Kenneth Salem
Requirements Requirements Response time < 5s Throughput > 50 rq/sec Response time < 2s Throughput > 100 rq/sec Pay 50$ Pay 100$ A typical scenario in data centers Customer A Customer B Run auction site Run trading site Shared Data Center
E-mail server Web server Database server Linux Linux Linux Hosting applications Data Center Common idiom: One-to-one mapping of applications to nodes
Problem: Poor utilization Wasted Resources Ad-hoc resource allocation schemes waste resources
E-mail server E-mail server Web server Database server Database server Linux Linux Linux Linux Linux Solution: Virtual data center Web server Linux Virtualization (Xen, OpenVZ, VMware) Consolidate Improved utilization using consolidation
Problem: Provisioning Bursty load Bad response time Wasted resources Peak Average Provisioning for dynamic workloads is hard! Solution: Adaptive controller
Goals • Good utilization • Good performance • QoS differentiation Average CPU utilization = 80% Average response time = 100ms Gold vs. Silver customers 2:1 resources
Outline • Motivation • Background • Modeling • Design • Evaluation • Conclusion
Web Server I DB Server I VM I VM III VM II VM IV Web Server II DB Server II How do we host the customers ? Customer A Auction Client Auction site News Client Virtualized Server I Virtualized Server II Customer B Trading site
What are we controlling ? CPU share Goals • Good performance • Good utilization • QoS differentiation VM I 50% 80% Goals met ? NO 50% 20% VM II Policy Mechanism CPU Usage ? Controller Xen scheduler Set CPU shares Virtualized Server Control CPU shares based on goals
Related work • Existing research • Cluster management • Load balancing • Resource allocation & scheduling • QoS differentiation • Provision a consolidated virtual node meeting goals? • Our contribution: Adaptive resource control • Quantitative model of system behavior • Fine-grained, adaptive control • No wastage of resources • High throughput, low response time • QoS differentiation
Model Design Experiment Evaluate How do we design an adaptive resource controller? Input Output Design controller PI, PID, I controller … Stress the controller Goals met ? A control theoretic approach to systems
Outline • Motivation • Background • Modeling • Design • Evaluation • Conclusion
DB server I Web server I Web server II DB server II Modeling a virtual data center VM utilization VM Shares Throughput Response time Workload QoS differentiation Virtualized Server I Virtualized Server II How to differentiate between two multi-tiered systems ?
Modeling two multi-tiered systemsQoS metric Non-monotonic Monotonic Response time ratio is more controllable than loss ratio
Outline • Motivation • Background • Modeling • Design • Evaluation • Conclusion
Set to 25% VM Set to 40% Utilization controller: an example • Problems • Utilization is variable • Delays and errors in sensing & setting • Stability concerns Controller Utilization goal = 80% Using 20% New Utilization 20/25*100 = 80% Utilization 20/40*100 = 50% Solution: Self-tuning integral controller
Utilization controller Workload Error in utilization e(k-1) • Adjusts to varying demand • Maintains goal utilization • Knobs to control aggression (Ki) • Proven stable [Wang DSOM’05] Self-tuning controller System CPU allocation u(k) Measured consumption v(k-1) Utilization goal Measured utilization r(k-1) -
UtilControl for WS I UtilControl for WS II UtilControl for DB I UtilControl for DB II Let there be controllers … 110% Can’t fit (Saturation) Want 40% Want 70% Virtualized Server I Container consumptions Problem: All controllers independent Solution: Arbiter controller enforcing QoS differentiation Virtualized Server II
UtilControl for WS I UtilControl for WS II UtilControl for DB I UtilControl for DB II Final controller Requested CPU shares Final CPU shares Arbiter Controller Virtualized Server I Container consumptions Desired response time ratio Virtualized Server II
Outline • Motivation • Background • Modeling • Design • Evaluation • Conclusion
Evaluation • Multi-tiered systems • 2 HP Proliant servers • Apache + MySQL • Xen 3.0 with SEDF scheduler • Clients • RUBiS: auction client • 2 RUBiS clients: 500 … 1000 threads • Workload • Web-heavy browsing mix • Can we maintain 70% response time ratio ?
Varying load 1000 threads Saturation 500 threads
Saturation Saturation Saturation Web I share Web II share Varying load - control Buffer to maintain good performance Penalized to maintain goal response time ratio
Varying load – Response time ratio Goal Goal ratio of 70% maintained!
UC I UC III UC II UC IV Conclusion Goals • Adaptive control of virtual data centers • Good application performance • High throughput • Low response time • Good utilization • Maintain goal CPU utilization • No wastage of resources • QoS differentiation • Maintain goal QoS ratio • Differentiate between customers • Project page: http://kabru.eecs.umich.edu/twiki/bin/view/Main/DynamicControl • E-mail: ppadala@eecs.umich.edu • Questions ? Virtualized Server I Virtualized Server II Arbiter Controller CPU Shares
Enterprise data centers • Large data centers • 100s/1000s of nodes • Shared infrastructure • Run critical applications • Should meet service levels • Problems • Power costs • Management costs • Poor utilization • Unmet service levels
Web Server I Web Server II DB Server I Web Server I Web Server II DB Server I DB Server II DB Server II Hosting two multi-tiered systems Auction Client Customer A News Client Virtualized Server I Virtualized Server II Customer B
Varying load 1000 clients 500 clients Workload I Workload II Time
Saturation Web I share
Saturation Web II share
Modeling results - throughput Dom0 effect Web share Throughput Saturation causes Real throughput < Offered throughput
Arbiter controller features • Is an integral controller • Decides final shares based on QoS differentiation goals • Integral gain: knobs for aggression • Stable – gain value based on model
Web server DB server Modeling a multi-tiered system Workload • Stress the system in various scenarios • Observe all variables Web usage Web share DB usage DB share QoS metrics Virtual Server
Modeling results – response time Dom0 effect Web share Response time