Reply to Message

View discussion in a popup

Replying to:
Techonium
Contributor
Contributor

"However many vCPUs you assign to a VM have to all be available before that VM can run and conversely when a VM is running (i.e. it's getting its timeslice) the number of vCPUs assigned to it are tied up and cannot be used by another VM, even if the the VM to which they are assigned is idle and/or not using them all. "


This seems to be a common misunderstanding that is not accurate according to The CPU Scheduler in VMware vSphere® 5.1 Performance Study Technical Whitepaper [link]:

"It is worth noting that an idle vCPU does not incur co-scheduling overhead even with strict co-scheduling. Since there is nothing to be executed in the vCPU, it is always considered making equal progress as the fastet sibling vCPU and does not co-stop the virtual machine. For example, when a single-threaded application runs in a 4-vCPU virtual machine, resulting in three idle vCPUs, there is no co-scheduling overhead and the virtual machine does not require four pCPUs to be available."


I suggest reading that document in it's entirety to properly understand how CPU scheduling works.


Shane

Reply
0 Kudos