However exciting it sounds, we won't go too deep into the partitioning and clustering part and instead we'll have a look at the forms of emulation. They are—full virtualization, para-virtualization, and hardware-assist virtualization.
Full virtualization uses a concept of Binary Translation (BT) to provide a typical runtime re-write method which is required for this method to work. Here each instruction is read from the machine's binary and helps place the machine in a similar state to where the VM would be, after it has carried out that specific function. However, there are discussions about the "accuracy of emulation" as to how accurate the instruction modifications are. There are five types of accuracies, from datapath accuracy to HLE. But we won't delve into these deeper as we might have to get scientists from Intel and AMD to do the explanation.
Para-virtualization took birth from the Xen project originated at Cambridge University. It is the Open Source answer to the ring privileging solution. Simply said, instead of capturing the whole IA32 instruction set, it just captures the parts that are altered, thus increasing the performance of the VMs against the full-virtualization methods.
Finally, hardware-assist virtualization rests on the newer families of chips such as Intel VTx and AMD V chipsets. This enables unmodified VMs to execute on more enhanced VMMs (Virtual Machine Monitors). They might be faster than the above mentioned two methods but a lot of mixing occurs where both full and para-virtualization solutions are taking full advantage of the VTx and AMD V technologies.