How does VMWare CPU MHz sharing / reservation work on the host CPU

central-processing-unitvmware-vsphere

So from my understanding, VMWare can let various VM's have shares, reservations, and limits on how much CPU they get. My question is, how does this actually work on the host server CPU?

For example, there is a VM Server X, which has a single 1 GHz CPU. Now it is running two VM's A and B. A is given 300 MHz and B is given 700 MHz. How does the base Server X CPU actually share the Hz processing power? Does it time share the CPU much like an OS task thread? Or can it actually split the power concurrently?

Best Answer

At a very basic level it is time sharing the processor. This is a little more complex to imagine when you bring in multi-processors and multi-cores and hyperthreading but the basic concept remains the same.

This is the case because the Guest Machine is actually very similar to an OS thread because the underlying VMWare software is essentially an OS dedicated to hosting Virtual Machines.