A virtual CPU (vCPU), also known as a virtual processor, is a CPU core assigned to a virtual machine process.
vCPUs are a part of the implementation of the SMP (symmetric multi-processing) multi-threaded model. Virtualized applications rely heavily on a multi-threaded, multi-core environment. A multi-core CPU might have multiple vCPUs assigned per physical or logical core, as in the case of a processor supporting Hyper-Threading, in which a single core operates as two logical cores. SMP also allows threads to be split across multiple physical or logical cores to improve performance of more parallel virtualized tasks.
The use of vCPUs is also the way multitasking is performed sequentially in a multi-core environment rather than through actual parallel processing when there are more tasks than cores – which is most of the time.
See also: VMUG (VMware User Group), VMware DRS (Distributed Resource Scheduler), VMware Lab Manager, VMkernel, VMware VMFS (Virtual Machine File System), VMware Converter, thick provision lazy zeroed, VMware template, VMware vSphere Web Client plug-in, VMware resource pool