Tech: How vSMP works in VMware ESX and when to use it

Few days ago VMware published a precious FAQ about its virtual SMP technology which answers some key questions about the use of multiple CPUs inside ESX virtual machines:

  • When do I decide to configure multiple vCPUs for a VM?
  • What are the overheads of using multiprocessor VMs? What would I lose by over provisioning vCPUs for VMs?
  • Does the ESX scheduler (co-schedule) all of the vCPUs belonging to a VM together?
  • Why is co-scheduling necessary and important?
  • How does ESX scheduler deal with certain vCPUs belonging to a VM idling while others actively perform work? Do the idle vCPUs unnecessarily burn CPU?

About this topic VMware also published a technical article which describes in details the resource management approach, called co-scheduling, used for vSMP in ESX Server 2.x and ESX 3.x.

Highly recommended.