I am currently writing a paper about lock-holder preemption with multiprocessors in virtualized enviornment. But I have two questions: one about overcommitment of CPU resources and about scheduling the vCPUs:
I know that an overcommitment of CPU happens, if the total amount of all virtual machines vCPUs $n$ is greater than the amount of physical pCPUs $m$. But what happens, the hypervisor holds only one single VM, which has $n > m$ vCPU configured? Is there any situation in which this configuration would make sense? Because there will be always $m - n$ vCPUs which can't do anything at any point of time.
The vCPUs are assigned the pCPUs, such that the virtual machine works pseudo-parallel. If VM A and VM B have each 4 vCPUs configured and the physical machine has only 4 pCPUs, can the scheduler of the hypervisor take 2 vCPUs from each VM and run them? This means, each machine has 2 vCPUs that are not running in this moment. Or does a VM can only run if every vCPUs are assigned to the pCPUs? If this happens, VM B would be seem like "dead" at this point of time, wouldn't it?