1 / 39

Resource Management in Virtualization-based Data Centers

Resource Management in Virtualization-based Data Centers. Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University. Data Center. Cluster of compute and storage servers connected by high-speed network Rent out resources in return for revenue

thad
Download Presentation

Resource Management in Virtualization-based Data Centers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University

  2. Data Center • Cluster of compute and storage servers connected by high-speed network • Rent out resources in return for revenue • Internet applications, Scientific applications, … • Revenue scheme expressed using SLAs

  3. Resource Management in Data Centers • Goal: Meet application SLAs • Easy solution: Over-provision resources • Over-provisioning can be very wasteful • Energy, management, failures, … • Data center would like to maximize revenue! • Dynamic capacity provisioning: match resource allocations to varying workloads • Challenges: • Determining changing resource needs of applications • Effective sharing of resources among applications • E.g., server consolidation can reduce cost • Automating resource management

  4. Resource Management in Data Centers • Goal: Meet application SLAs • Easy solution: Over-provision resources • Over-provisioning can be very wasteful • Energy, management, failures, … • Data center would like to maximize revenue! • Dynamic capacity provisioning: match resource allocations to varying workloads • Challenges: • Determining changing resource needs of applications • Effective sharing of resources among applications • E.g., server consolidation can reduce cost • Automating resource management

  5. Motivation for Virtualized Hosting in Data Centers • Key idea: Design data center using virtualization • Virtual machine monitor (VMM) and virtual machine (VM) • A software layer that runs on a server and allows multiple OS/applications to co-exist • Each OS/application is given the illusion of its own “virtual” machine that it has to itself • Why is this good? • Consolidation of diverse OS/apps possible • Migration made easier • Small code of VMM => improved security • Not a new idea, but existing solutions are inadequate • Goal: Devise efficient resource management solutions for a virtualization-based data center

  6. The Xen Virtual Machine Monitor • VMM = hypervisor • VM = domain • Para-virtualization • Special domain called Dom0 Dom0 Dom1 Dom2 Apache Web server Mysql database Windows’ Linux’ Xen hypervisor Hardware

  7. Outline • Introduction and Motivation • Resource Management in a Xen-based Data Center • Resource Accounting • Resource Allocation and Scheduling • Performance Optimizations for Xen • Other Research • Concluding Remarks

  8. Xen-based Data Center • Each application component runs within a Xen domain Online book-store Online game server Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware Physical machine # 1 Physical machine # 2

  9. Resource Usage Accounting • Need for accurate resource accounting • Estimate future needs • Relate performance and resource consumption • Charge applications for resource usage • Accounting in Xen-based hosting • Statistics for each DomU can be gathered by hypervisor • E.g., number of bytes sent by a DomU • Hidden activity: CPU activity performed by Dom0 • Similar to activity done by a kernel for a process • Techniques to de-multiplex Dom0’s activity across DomUs • How much work does Dom0 have to do for each DomU?

  10. Resource Allocation • Multi-time scale resource allocation • Server assignment: course time-scale • Scheduling: fine time-scale • Placement • Like a knapsack problem • What time-scale? • Migration versus replication

  11. Intelligent Scheduling of Distributed Applications • Motivation: Co-scheduling of parallel applications • Schedule distributed communicating components together Physical machine # 1 Physical machine # 2

  12. Intelligent Scheduling of Distributed Applications • Motivation: Co-scheduling of parallel applications • Schedule distributed communicating components together Physical machine # 1 Physical machine # 2

  13. Intelligent Scheduling of Distributed Applications • Motivation: Co-scheduling of parallel applications • Schedule distributed communicating components together Physical machine # 1 Physical machine # 2

  14. Intelligent Scheduling of Distributed Applications • Motivation: Co-scheduling of parallel applications • Schedule distributed communicating components together Message waits till yellow app gets the CPU Physical machine # 1 Physical machine # 2

  15. Intelligent Scheduling of Distributed Applications • Motivation: Co-scheduling of parallel applications • Schedule distributed communicating components together Message can be received Immediately if the yellow app gets the CPU Physical machine # 1 Physical machine # 2

  16. Intelligent Scheduling of Distributed Applications • Motivation: Co-scheduling of parallel applications • Schedule distributed communicating components together Physical machine # 1 Physical machine # 2

  17. Co-ordinated Schedulingof Communicating Domains • Idea #1: Preferentially schedule a DomU when it receives data • Modify Xen CPU scheduler to give higher preference to receiving DomU • Important: Also need to ensure that Dom0 gets to run to take care of I/O • Scheduler should partition the CPU allocation for a DomU into those for Dom0 and DomU appropriately

  18. Co-ordinated Schedulingof Communicating Domains • Idea #2: Try to schedule a sender DomU when it is expected to receive the response • An application knows best, but mods undesirable • Let the hypervisor learn from past behavior • E.g., query responses might be returning in 1-2 seconds • Idea #3: Anticipatory CPU scheduling • If a domain has sent/received data, it may be likely to do that again • E.g., queries may be issued in bursts • Trade-off between domain context switch and how much extra time you let a sender DomU continue

  19. Multi-processor Scheduling • Idea: Dom0 should be scheduled together with a DomU doing I/O • Utilize the multiple CPUs to “co-schedule” a communicating DomU with Dom0 • Ensure domains that communicate a lot do not starve others • Relaxed fairness: 50% CPU over intervals > 1 second • Approach: Decay the CPU priority of communicating DomUs to ensure relaxed fairness is not violated

  20. Outline • Introduction and Motivation • Resource Management in a Xen-based Data Center • Resource Accounting • Resource Allocation and Scheduling • Performance Optimizations for Xen • Other Research • Concluding Remarks

  21. Performance Optimizations for Xen • Switching between native & virtual hosting • Dynamic merging and splitting of domains • Overbooking of memory • Improved migration techniques • Coalesce network packets directed to the same physical server

  22. Performance Optimizations for Xen • Switching between native & virtual hosting • Dynamic merging and splitting of domains • Overbooking of memory • Improved migration techniques • Coalesce network packets directed to the same physical server

  23. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  24. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  25. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  26. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  27. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  28. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  29. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  30. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  31. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  32. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  33. Optimizing Network Communication Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  34. Optimizing Network Communication • (-) Increased CPU processing for coalescing and splitting packets • (+) Reduced interrupt processing at receiver Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  35. Optimizing Network Communication • What kinds of packets can be coalesced? • TCP ACKs? Other packets? • Would it make sense to do anticipatory packet scheduling at the sender? Dom0 Dom0 Dom1 Dom2 Dom1 Dom2 Mysql database Apache Quake 1 Mysql Quake 2 Windows’ Linux’ Windows’ Linux’ Xen hypervisor Xen hypervisor Hardware Hardware

  36. Outline • Introduction and Motivation • Resource Management in a Xen-based Data Center • Resource Accounting • Resource Allocation and Scheduling • Performance Optimizations for Xen • Other Research • Concluding Remarks

  37. Provisioning a Directional Antenna-based Network • Directional antennas • Longer reach • Less interference => Increased capacity

  38. Provisioning a Directional Antenna-based Network • Theoretical results • User-centric version • Fair bandwidth allocation • Optimal algorithm based on dynamic programming • Provider-centric version • Maximize revenue • NP-hard, 2-approximation algorithm • Ongoing work • Heuristics to incorporate mobility • Evaluation through simulation • Implementation … may be

  39. Concluding Remarks • Resource mgmt. in virtualized environments • Provisioning wireless networks • Energy optimization in sensor networks • Distributed systems, Operating systems • Combination of analysis, algorithm design and experimentation with prototypes • Acknowledgements: • Faculty: Anand, Piotr, Wang-Chien • Students: Amitayu, Arjun, Ross, Shiva, Sriram

More Related