ipac-mar20-2006.ppt

315 views
260 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
315
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Describe what data centers are (not just IDC but any kind of data centers)
  • Describe the state of the art in resource management for data centers.
  • Describe the state of the art in resource management for data centers.
  • Motivate the use of virtualization techniques in data centers. Need to say what virtualization is at a high level.
  • How accurate accounting will be used. Talk about migration and replication.
  • Motivation comes from co-scheduling. Describe what is new here and how we propose to do it.
  • Motivation comes from co-scheduling. Describe what is new here and how we propose to do it.
  • Motivation comes from co-scheduling. Describe what is new here and how we propose to do it.
  • Motivation comes from co-scheduling. Describe what is new here and how we propose to do it.
  • Motivation comes from co-scheduling. Describe what is new here and how we propose to do it.
  • Motivation comes from co-scheduling. Describe what is new here and how we propose to do it.
  • Talk about multi-processor scheduling
  • Define setting, present prelim results and future work.
  • Define setting, present prelim results and future work.
  • ipac-mar20-2006.ppt

    1. 1. Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University
    2. 2. Data Center <ul><li>Cluster of compute and storage servers connected by high-speed network </li></ul><ul><li>Rent out resources in return for revenue </li></ul><ul><ul><li>Internet applications, Scientific applications, … </li></ul></ul><ul><ul><li>Revenue scheme expressed using SLAs </li></ul></ul>
    3. 3. Resource Management in Data Centers <ul><li>Goal: Meet application SLAs </li></ul><ul><ul><li>Easy solution: Over-provision resources </li></ul></ul><ul><ul><ul><li>Over-provisioning can be very wasteful </li></ul></ul></ul><ul><ul><ul><li>Energy, management, failures, … </li></ul></ul></ul><ul><li>Data center would like to maximize revenue! </li></ul><ul><ul><li>Dynamic capacity provisioning: match resource allocations to varying workloads </li></ul></ul><ul><li>Challenges: </li></ul><ul><ul><li>Determining changing resource needs of applications </li></ul></ul><ul><ul><li>Effective sharing of resources among applications </li></ul></ul><ul><ul><ul><li>E.g., server consolidation can reduce cost </li></ul></ul></ul><ul><ul><li>Automating resource management </li></ul></ul>
    4. 4. Resource Management in Data Centers <ul><li>Goal: Meet application SLAs </li></ul><ul><ul><li>Easy solution: Over-provision resources </li></ul></ul><ul><ul><ul><li>Over-provisioning can be very wasteful </li></ul></ul></ul><ul><ul><ul><li>Energy, management, failures, … </li></ul></ul></ul><ul><li>Data center would like to maximize revenue! </li></ul><ul><ul><li>Dynamic capacity provisioning: match resource allocations to varying workloads </li></ul></ul><ul><li>Challenges: </li></ul><ul><ul><li>Determining changing resource needs of applications </li></ul></ul><ul><ul><li>Effective sharing of resources among applications </li></ul></ul><ul><ul><ul><li>E.g., server consolidation can reduce cost </li></ul></ul></ul><ul><ul><li>Automating resource management </li></ul></ul>
    5. 5. Motivation for Virtualized Hosting in Data Centers <ul><li>Key idea: Design data center using virtualization </li></ul><ul><ul><li>Virtual machine monitor (VMM) and virtual machine (VM) </li></ul></ul><ul><ul><ul><li>A software layer that runs on a server and allows multiple OS/applications to co-exist </li></ul></ul></ul><ul><ul><ul><li>Each OS/application is given the illusion of its own “virtual” machine that it has to itself </li></ul></ul></ul><ul><ul><li>Why is this good? </li></ul></ul><ul><ul><ul><li>Consolidation of diverse OS/apps possible </li></ul></ul></ul><ul><ul><ul><li>Migration made easier </li></ul></ul></ul><ul><ul><ul><li>Small code of VMM => improved security </li></ul></ul></ul><ul><li>Not a new idea, but existing solutions are inadequate </li></ul><ul><ul><li>Goal: Devise efficient resource management solutions for a virtualization-based data center </li></ul></ul>
    6. 6. The Xen Virtual Machine Monitor <ul><li>VMM = hypervisor </li></ul><ul><li>VM = domain </li></ul><ul><li>Para-virtualization </li></ul><ul><li>Special domain called Dom0 </li></ul>Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Web server Dom2 Dom1 Dom0
    7. 7. Outline <ul><li>Introduction and Motivation </li></ul><ul><li>Resource Management in a Xen-based Data Center </li></ul><ul><ul><li>Resource Accounting </li></ul></ul><ul><ul><li>Resource Allocation and Scheduling </li></ul></ul><ul><li>Performance Optimizations for Xen </li></ul><ul><li>Other Research </li></ul><ul><li>Concluding Remarks </li></ul>
    8. 8. Xen-based Data Center <ul><li>Each application component runs within a Xen domain </li></ul>Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Physical machine # 1 Physical machine # 2 Quake 1 Quake 2 Online book-store Online game server
    9. 9. Resource Usage Accounting <ul><li>Need for accurate resource accounting </li></ul><ul><ul><li>Estimate future needs </li></ul></ul><ul><ul><li>Relate performance and resource consumption </li></ul></ul><ul><ul><li>Charge applications for resource usage </li></ul></ul><ul><li>Accounting in Xen-based hosting </li></ul><ul><ul><li>Statistics for each DomU can be gathered by hypervisor </li></ul></ul><ul><ul><ul><li>E.g., number of bytes sent by a DomU </li></ul></ul></ul><ul><ul><li>Hidden activity: CPU activity performed by Dom0 </li></ul></ul><ul><ul><ul><li>Similar to activity done by a kernel for a process </li></ul></ul></ul><ul><ul><li>Techniques to de-multiplex Dom0’s activity across DomUs </li></ul></ul><ul><ul><ul><li>How much work does Dom0 have to do for each DomU? </li></ul></ul></ul>
    10. 10. Resource Allocation <ul><li>Multi-time scale resource allocation </li></ul><ul><ul><li>Server assignment: course time-scale </li></ul></ul><ul><ul><li>Scheduling: fine time-scale </li></ul></ul><ul><li>Placement </li></ul><ul><ul><li>Like a knapsack problem </li></ul></ul><ul><ul><li>What time-scale? </li></ul></ul><ul><li>Migration versus replication </li></ul>
    11. 11. Intelligent Scheduling of Distributed Applications <ul><li>Motivation: Co-scheduling of parallel applications </li></ul><ul><ul><li>Schedule distributed communicating components together </li></ul></ul>Physical machine # 1 Physical machine # 2
    12. 12. Intelligent Scheduling of Distributed Applications <ul><li>Motivation: Co-scheduling of parallel applications </li></ul><ul><ul><li>Schedule distributed communicating components together </li></ul></ul>Physical machine # 1 Physical machine # 2
    13. 13. Intelligent Scheduling of Distributed Applications <ul><li>Motivation: Co-scheduling of parallel applications </li></ul><ul><ul><li>Schedule distributed communicating components together </li></ul></ul>Physical machine # 1 Physical machine # 2
    14. 14. Intelligent Scheduling of Distributed Applications <ul><li>Motivation: Co-scheduling of parallel applications </li></ul><ul><ul><li>Schedule distributed communicating components together </li></ul></ul>Physical machine # 1 Physical machine # 2 Message waits till yellow app gets the CPU
    15. 15. Intelligent Scheduling of Distributed Applications <ul><li>Motivation: Co-scheduling of parallel applications </li></ul><ul><ul><li>Schedule distributed communicating components together </li></ul></ul>Physical machine # 1 Physical machine # 2 Message can be received Immediately if the yellow app gets the CPU
    16. 16. Intelligent Scheduling of Distributed Applications Physical machine # 1 Physical machine # 2 <ul><li>Motivation: Co-scheduling of parallel applications </li></ul><ul><ul><li>Schedule distributed communicating components together </li></ul></ul>
    17. 17. Co-ordinated Scheduling of Communicating Domains <ul><li>Idea #1: Preferentially schedule a DomU when it receives data </li></ul><ul><ul><li>Modify Xen CPU scheduler to give higher preference to receiving DomU </li></ul></ul><ul><li>Important: Also need to ensure that Dom0 gets to run to take care of I/O </li></ul><ul><ul><li>Scheduler should partition the CPU allocation for a DomU into those for Dom0 and DomU appropriately </li></ul></ul>
    18. 18. Co-ordinated Scheduling of Communicating Domains <ul><li>Idea #2: Try to schedule a sender DomU when it is expected to receive the response </li></ul><ul><ul><li>An application knows best, but mods undesirable </li></ul></ul><ul><ul><li>Let the hypervisor learn from past behavior </li></ul></ul><ul><ul><ul><li>E.g., query responses might be returning in 1-2 seconds </li></ul></ul></ul><ul><li>Idea #3: Anticipatory CPU scheduling </li></ul><ul><ul><li>If a domain has sent/received data, it may be likely to do that again </li></ul></ul><ul><ul><ul><li>E.g., queries may be issued in bursts </li></ul></ul></ul><ul><ul><li>Trade-off between domain context switch and how much extra time you let a sender DomU continue </li></ul></ul>
    19. 19. Multi-processor Scheduling <ul><li>Idea: Dom0 should be scheduled together with a DomU doing I/O </li></ul><ul><ul><li>Utilize the multiple CPUs to “co-schedule” a communicating DomU with Dom0 </li></ul></ul><ul><li>Ensure domains that communicate a lot do not starve others </li></ul><ul><ul><li>Relaxed fairness: 50% CPU over intervals > 1 second </li></ul></ul><ul><ul><li>Approach: Decay the CPU priority of communicating DomUs to ensure relaxed fairness is not violated </li></ul></ul>
    20. 20. Outline <ul><li>Introduction and Motivation </li></ul><ul><li>Resource Management in a Xen-based Data Center </li></ul><ul><ul><li>Resource Accounting </li></ul></ul><ul><ul><li>Resource Allocation and Scheduling </li></ul></ul><ul><li>Performance Optimizations for Xen </li></ul><ul><li>Other Research </li></ul><ul><li>Concluding Remarks </li></ul>
    21. 21. Performance Optimizations for Xen <ul><li>Switching between native & virtual hosting </li></ul><ul><li>Dynamic merging and splitting of domains </li></ul><ul><li>Overbooking of memory </li></ul><ul><li>Improved migration techniques </li></ul><ul><li>Coalesce network packets directed to the same physical server </li></ul>
    22. 22. Performance Optimizations for Xen <ul><li>Switching between native & virtual hosting </li></ul><ul><li>Dynamic merging and splitting of domains </li></ul><ul><li>Overbooking of memory </li></ul><ul><li>Improved migration techniques </li></ul><ul><li>Coalesce network packets directed to the same physical server </li></ul>
    23. 23. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    24. 24. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    25. 25. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    26. 26. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    27. 27. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    28. 28. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    29. 29. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    30. 30. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    31. 31. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    32. 32. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    33. 33. Optimizing Network Communication Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    34. 34. Optimizing Network Communication <ul><li>(-) Increased CPU processing for coalescing and splitting packets </li></ul><ul><li>(+) Reduced interrupt processing at receiver </li></ul>Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    35. 35. Optimizing Network Communication <ul><li>What kinds of packets can be coalesced? </li></ul><ul><ul><li>TCP ACKs? Other packets? </li></ul></ul><ul><li>Would it make sense to do anticipatory packet scheduling at the sender? </li></ul>Xen hypervisor Hardware Linux’ Windows’ Mysql database Apache Dom2 Dom1 Dom0 Xen hypervisor Hardware Linux’ Windows’ Dom2 Dom1 Dom0 Mysql Quake 1 Quake 2
    36. 36. Outline <ul><li>Introduction and Motivation </li></ul><ul><li>Resource Management in a Xen-based Data Center </li></ul><ul><ul><li>Resource Accounting </li></ul></ul><ul><ul><li>Resource Allocation and Scheduling </li></ul></ul><ul><li>Performance Optimizations for Xen </li></ul><ul><li>Other Research </li></ul><ul><li>Concluding Remarks </li></ul>
    37. 37. Provisioning a Directional Antenna-based Network <ul><li>Directional antennas </li></ul><ul><ul><li>Longer reach </li></ul></ul><ul><ul><li>Less interference => Increased capacity </li></ul></ul>
    38. 38. Provisioning a Directional Antenna-based Network <ul><li>Theoretical results </li></ul><ul><ul><li>User-centric version </li></ul></ul><ul><ul><ul><li>Fair bandwidth allocation </li></ul></ul></ul><ul><ul><ul><li>Optimal algorithm based on dynamic programming </li></ul></ul></ul><ul><ul><li>Provider-centric version </li></ul></ul><ul><ul><ul><li>Maximize revenue </li></ul></ul></ul><ul><ul><ul><li>NP-hard, 2-approximation algorithm </li></ul></ul></ul><ul><li>Ongoing work </li></ul><ul><ul><li>Heuristics to incorporate mobility </li></ul></ul><ul><ul><li>Evaluation through simulation </li></ul></ul><ul><ul><li>Implementation … may be </li></ul></ul>
    39. 39. Concluding Remarks <ul><li>Resource mgmt. in virtualized environments </li></ul><ul><li>Provisioning wireless networks </li></ul><ul><li>Energy optimization in sensor networks </li></ul><ul><li>Distributed systems, Operating systems </li></ul><ul><ul><li>Combination of analysis, algorithm design and experimentation with prototypes </li></ul></ul><ul><li>Acknowledgements: </li></ul><ul><ul><li>Faculty: Anand, Piotr, Wang-Chien </li></ul></ul><ul><ul><li>Students: Amitayu, Arjun, Ross, Shiva, Sriram </li></ul></ul>

    ×