We compared the analyzed vSphere 5.1 and Hyper-V 2012 in terms of their capabilities of Storage Management and Memory Handling earlier in this blog series. In this blog post, we’ll discuss how both the hypervisors perform CPU scheduling and manage CPU resources.
When there’s workload running on a virtual machine (VM), the hypervisor needs to efficiently schedule the load for execution lest there be any CPU contention and resource bottlenecks. CPU contention impedes the ability of the VM to respond to processing requests, and both vSphere and Hyper-V have their own CPU scheduling mechanisms to avoid this problem.
CPU Scheduling in vSphere 5.1
vSphere 5.1 has a CPU scheduler that helps maintain the performance of the VM and meet system objectives such as responsiveness, throughput, and utilization. You can change the amount of CPU resources allocated to a VM by using the shares, reservation, and limit settings.
- CPU Shares: Shares specify how the CPU is allocated to a VM in relation to another VM. If a VM has n times the amount of CPU shares as another VM, it is entitled to consume n times as much of the CPU resource when these two VMs are competing for resources. When assigning shares to a VM, you must specify the priority for that VM relative to other powered-on VMs.
- CPU Reservation: Reservation specifies the guaranteed minimum allocation for a VM. You can make a Reservation if you need to guarantee that the minimum required CPU or memory are always available for the VM.
- CPU LimitLimit specifies an upper bound for CPU resources that can be allocated to a VM. A server can allocate more than the reservation to a VM, but never allocates more than the limit, even if there are unused resources on the system.
CPU Scheduling in Hyper-V 2012
Hyper-V uses some different methods to address CPU contention issues.
- VM Reserve: This is a CPU configuration setting that assigns a percentage of a VM’s total CPU usage. VM Reserve is configured on a VM in two scenarios:
- When a VM is powered on, there should at least be enough CPU as much as the reserved limit.
- When there is CPU resource contention, the VM should get at least the specified amount of CPU as much as the reserved limit
- VM Limit: This is another CPU allocation setting on a VM that assigns a fixed limit for CPU consumption especially when a VM is attempting to consume excess CPU resource.
- Relative Weight: This is similar to the CPU Share in vSphere. Relative Weight is another CPU control setting which, unlike VM Reserve and VM Limit, has no unit, and is just a number between 1 and 10,000. This is useful in situations when VMs are prioritized in terms of workload and usage. You can assign a higher Relative Weight to a VM when compared to another VM. When there’s resource contention, Hyper-V will allocate more CPU resource the VM with more weight based on the relative weight configured.
In the next part of the blog series, we’ll discuss “Workload Migration” capabilities of both vSphere 5.1 and Hyper-V 2012. To learn more about how vSphere 5.1 and Hyper-V 2012 differ and compare,
Read this White Paper:
Watch this Webcast:
Other parts of the vSphere 5.1 vs. Hyper-V 2012 series: