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

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

Embed Size (px)

Citation preview

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

Resource Management in Virtualization-based

Data Centers

Resource Management in Virtualization-based

Data Centers

Bhuvan UrgaonkarComputer Systems

LaboratoryPennsylvania State University

Bhuvan UrgaonkarComputer Systems

LaboratoryPennsylvania State University

Page 2: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Data CenterData 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

• 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

Page 3: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Resource Management in Data Centers

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

• 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

Page 4: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Resource Management in Data Centers

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

• 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

Page 5: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Motivation for Virtualized Hosting in

Data Centers

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

• 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

Page 6: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

The Xen Virtual Machine Monitor

The Xen Virtual Machine Monitor

• VMM = hypervisor• VM = domain• Para-virtualization• Special domain called Dom0

• VMM = hypervisor• VM = domain• Para-virtualization• Special domain called Dom0

Xen hypervisorHardware

Linux’Windows’

Mysql database

Apache Web server

Dom2Dom1Dom0

Page 7: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

OutlineOutline

• 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

• 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

Page 8: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Xen-based Data CenterXen-based Data Center• Each application component runs within a Xen

domain• Each application component runs within a Xen

domain

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql

Physical machine # 1 Physical machine # 2

Quake 1 Quake 2

Online book-store Online game server

Page 9: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Resource Usage Accounting

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?

• 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?

Page 10: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Resource AllocationResource 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

• 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

Page 11: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Intelligent Scheduling of Distributed ApplicationsIntelligent Scheduling of Distributed Applications

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

Physical machine # 1 Physical machine # 2

Page 12: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Intelligent Scheduling of Distributed ApplicationsIntelligent Scheduling of Distributed Applications

Physical machine # 1 Physical machine # 2

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

Page 13: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Intelligent Scheduling of Distributed ApplicationsIntelligent Scheduling of Distributed Applications

Physical machine # 1 Physical machine # 2

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

Page 14: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Intelligent Scheduling of Distributed ApplicationsIntelligent Scheduling of Distributed Applications

Physical machine # 1 Physical machine # 2

Message waits tillyellow app gets the CPU

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

Page 15: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Intelligent Scheduling of Distributed ApplicationsIntelligent Scheduling of Distributed Applications

Physical machine # 1 Physical machine # 2

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

Message can be receivedImmediately if theyellow app gets the CPU

Page 16: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Intelligent Scheduling of Distributed ApplicationsIntelligent Scheduling of Distributed Applications

Physical machine # 1 Physical machine # 2

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

• Motivation: Co-scheduling of parallel applications• Schedule distributed communicating components together

Page 17: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Co-ordinated Schedulingof Communicating

Domains

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

• 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

Page 18: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Co-ordinated Schedulingof Communicating

Domains

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

• 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

Page 19: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Multi-processor Scheduling

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

• 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

Page 20: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

OutlineOutline

• 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

• 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

Page 21: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Performance Optimizations for Xen

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

• 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

Page 22: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Performance Optimizations for Xen

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

• 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

Page 23: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 24: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 25: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 26: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 27: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 28: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 29: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 30: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 31: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 32: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 33: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 34: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

Optimizing Network Communication

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

• (-) Increased CPU processing for coalescing and splitting packets

• (+) Reduced interrupt processing at receiver

• (-) Increased CPU processing for coalescing and splitting packets

• (+) Reduced interrupt processing at receiver

Page 35: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Optimizing Network Communication

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?

• What kinds of packets can be coalesced?• TCP ACKs? Other packets?

• Would it make sense to do anticipatory packet scheduling at the sender?

Xen hypervisorHardware

Linux’Windows’

Mysql database Apache

Dom2Dom1Dom0

Xen hypervisorHardware

Linux’Windows’

Dom2Dom1Dom0

Mysql Quake 1 Quake 2

Page 36: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

OutlineOutline

• 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

• 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

Page 37: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Provisioning a Directional Antenna-

based Network

Provisioning a Directional Antenna-

based Network • Directional antennas• Longer reach• Less interference => Increased capacity

• Directional antennas• Longer reach• Less interference => Increased capacity

Page 38: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Provisioning a Directional Antenna-

based Network

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

• 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

Page 39: Resource Management in Virtualization-based Data Centers Bhuvan Urgaonkar Computer Systems Laboratory Pennsylvania State University Bhuvan Urgaonkar Computer

Concluding RemarksConcluding 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

• 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