CPU Oversubscription
Memory is fairly easy to describe but there are a lot of things going on. CPU Oversubscription and the technologies involved can be a little more complex to visualize, but there are less tools that the hypervisor has to work with.
Memory is fairly easy to describe but there are a lot of things going on. CPU Oversubscription and the technologies involved can be a little more complex to visualize, but there are less tools that the hypervisor has to work with.
·
Time
slicing
·
Co-Scheduling
·
Reservations
·
Shares
·
Limits
For a start,
time is no longer a constant. The
hypervisor has the ability to run time at whatever speed it likes, just so long
as it averages out in the end.
Co-Scheduling
is where we have to have all the vCPUs for a single VM, mapped to logical CPUs
from the hardware.
Reservations
and Shares apply here also and we’ll have more of a look at how they work
later.
Limits (also
exist for memory), but these can be applied to restrict some VMs down to a
smaller amount of CPU than their vCPU allocation would otherwise allow them to
have.
Let’s start
with Time Slicing.
Time Slicing
In a typical
VMware host we have more vCPUs assigned to VMs than we do physical cores. The
processing time of the physical cores (or logical CPUs if hyper threading is in
play), has to be shared among the vCPUs in the VMs. The more vCPUs we have, the less time each
can be on the core, and therefore the slower time passes for that VM. To keep the VM in time, extra time interrupts
are sent in quick succession when the VM is processing, so time passes slowly
and then very fast.
Significant
improvements have been made in this area over the releases of VMware. vCPUs can
be scheduled onto the hardware a few milliseconds apart but the basic concept
remains in place.
Join me again on Friday when I'll look at VMWare vCPU
Co-Scheduling & Ready Time.
Phil Bell
Consultant
No comments:
Post a Comment