Sergey Galushko - Fotolia
Virtual machine performance depends on proper provisioning – ensuring that the VM receives an adequate amount of clock cycles, memory space and I/O bandwidth. When a VM encounters resource shortages due to provisioning errors or increased computing demands, VM performance may suffer and its stability may be compromised. Many IT administrators overprovision computing resources to ensure that VMs are not starved for resources during times of peak activity. Although overprovisioning usually isn’t harmful, it is wasteful. However, there are circumstances in which overprovisioning virtual CPUs (vCPUs) can adversely impact a VM’s performance.
The goal with all resource provisioning is to allocate enough computing resources to operate the VM workload properly, but not overprovision those resources. Overprovisioned resources are wasted. And in the case of processors, overprovisioning can actually impair the VM’s performance.
The problem is in scheduling. A hypervisor must schedule time on a vCPU for the VM. As long as all of the VM’s time is slated for the same vCPU, there is no real conflict. But when a VM uses multiple vCPUs that cross two or more cores, the hypervisor must now schedule time on two or more physical processors. This means the hypervisor (and the VM it’s scheduling) must wait for time on different physical processor cores.
Now, this is just fine if the VM is designed for symmetric multi-processing (SMP), and hypervisor vendors like VMware provide an SMP add-on that allow SMP workloads to schedule and use multiple vCPUs (multiple cores) successfully and efficiently.
But for common single-threaded workloads that are not explicitly designed for SMP behavior, the hypervisor can wind up wasting time holding up VM execution waiting for time on multiple vCPUs. This will actually slow down the VM’s performance. In these situations, reducing the processing to just one vCPU can actually improve the workload’s performance. Administrators must be adept at allocating vCPUs to workloads and identifying improperly-allocated vCPU resources.
How to find the best VM to processor core ratio
Reduce CPU ready time to improve performance
Is vSphere Fault Tolerance for multiple CPUs worth the wait?
Dig Deeper on Server hardware and virtualization
Related Q&A from Stephen J. Bigelow
WET code leaves apps bogged down. Learn how to reduce the challenges brought on by code redundancy by programming based on the DRY principle. Continue Reading
A virtualization layer in an embedded system provides better efficiency for tasks such as network virtualization. Some examples of embedded ... Continue Reading
An embedded hypervisor offers several benefits, such as VM security, system reliability and improved hardware use, and is ideal for admins looking to... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.