If the number of attached real CPUs in a CPU pool is greater than or equal to the sum of the attached virtual CPUs of all active VMs (state RUNNING) which are assigned to this CPU pool, VM2000 permanently assigns precisely one CPU to each virtual CPU of a VM. These CPUs are referred to as dedicated CPUs.
In the VM2000 information commands this scheduling procedure is referred to as DC
(dedicated CPUs).
Fixed CPU assignment is ideal if there is a sufficient number of real CPUs since each virtual CPU always runs on one and the same real CPU.
No losses in performance occur as a result of cache reestablishment when the virtual CPU is switched or the context is changed to the VM2000 hypervisor in the idle state (when VM-ACTIVE-IDLE=*AT-DEDICATED-CPUS
, see "Initializing a VM").
However, if a real CPU is not used, it remains in the idle state. It is not assigned to another VM which is waiting outside the CPU pool.
For VMs in this scheduling procedure, the VM-ACTIVE-IDLE
attribute determines whether a VM still retains control over a real CPU if the VM’s virtual CPU which is running on it is inactive (interruptible wait state), see "Initializing a VM". The setting for VM-ACTIVE-IDLE
is displayed using /SHOW-VM-ATTRIBUTES/-RESOURCES INFORMATION=*CPU
.
If a limit for CPU utilization is also set for the VM, this attribute is not effective. /SHOW-VM-STATUS INFORMATION=*SCHEDULE
displays whether this attribute is currently effective, see "SHOW-VM-STATUS (Output VM2000 monitored data)".
If the number of attached real CPUs drops below the required number (e.g. through reconfiguration or addition of a new VM), VM2000 switches to time slicing for the purpose of CPU distribution.
Example
The virtual machines SYSTEM1
and SYSTEM2
are assigned to the CPU pool POOL1
. Both VMs are running with two virtual CPUs each. As four real CPUs are attached in the CPU pool, the real CPUs are permanently assigned to the virtual CPUs.
Only the effective maximum utilization of the VM is taken into account for scheduling. The CPU quota is of no significance here.
In the example above, the CPU capacity of POOL1
on a Server Unit with 8 CPUs would be 50% (4 of 8 CPUs). SYSTEM1
and SYSTEM2
each occupy 2 of the 4 CPUs in the pool.
The effective CPU share of each VM is 25% (2 of 8 CPUs of the Server Unit), provided the maximum CPU utilization of the VM does not restrict this further.