Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


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