Datasheet

14
Part I: Ready, Set, Go with VMware Infrastructure 3
Potential performance hit: If you give a virtual machine multiple CPUs,
you remove some of the scheduling flexibility available to the VMkernel.
This trade-off might (no guarantee) give a few machines a performance
boost, but at the cost of your other virtual machines losing perfor-
mance. If you really need one machine to have a performance boost, you
might want to try using a resource pool instead of SMP. Resource pools
are covered in Chapter 14.
Prevent processor fragmentation: If you have two, single-core proces-
sors or two, dual-core processors, you can create a processor fragmen-
tation scenario using SMP. If you create a dual-CPU virtual machine, it
might experience processor starvation.
Say a single CPU virtual machine is running on one processor, and the
dual CPU machine has two active threads ready to run. Both threads
need to be co-scheduled, but one physical CPU is in use, so neither
thread is scheduled. Meanwhile, only one physical CPU is in use, and
the other is just sitting there: doing nothing. Enabling hyperthreading
(making a single processor appear as two processors to an SMP-aware
operating system to make the CPU run more efficiently) allows a single-
core CPU to act like two physical CPUs for a virtual machine. Enabling it
alleviates the processor fragmentation problem in systems that have
more than one processor.
Understanding the Role
That VMkernel Plays
Even though each of your virtual machines thinks that it has its own dedi-
cated hardware, the machines actually share a common pool of hardware.
The magician creating this illusion is the VMkernel that runs on each ESX
host. The simplest way to think of the VMkernel is as a scheduler: It sched-
ules virtual machines access to resources. The VMkernel even schedules
the management console that you use to configure and operate your ESX
hosts. The VMkernel virtualization model is shown in Figure 1-1.
As shown in Figure 1-1, there are three layers to the VMkernel virtualization
model:
Virtual Machine layer: Here all your operating systems and applications
are neatly housed in separate virtual machines. Each virtual machine
thinks it is a physical machine with its own hardware, but this is not the
case. The ESX tricks all the virtual machines.
ESX layer: The VMkernel is the boss of this layer. The kernel schedules
hardware for the virtual machines as well as the management interface.
The VMkernel is a liar. It tells all the virtual machines that they are
physical entities and have access to their own hardware.
05_277935-ch01.indd 1405_277935-ch01.indd 14 8/21/08 9:16:51 PM8/21/08 9:16:51 PM