What are the advantages of full hardware virtualization over paravirtualization explain in detail with examples?

Virtualization is nothing but abstracting operating system, application, storage or network away from the true underlying hardware or software. It creates the illusion of physical hardware to achieve the goal of operating system isolation. In last decade, data centers were occupied by a large number of physical servers, network switches, storage devices. It consumed a lot of power and manpower to maintain the data centers. In that period, there were many companies were researching about the hardware emulation/simulation like QEMU, virtual PC etc.. It’s very hard to list all the virtualization types here. So I have just listed down only the server virtualization types.

  • Full Virtualization [Hardware Assisted/ Binary Translation ]
  • Paravirtualization
  • Hybrid Virtualization
  • OS level Virtualization
Types of virtualization

Virtual machine simulates hardware to allow an unmodified guest OS to be run in isolation. There is two type of Full virtualizations in the enterprise market.  On both full virtualization types, guest operating system’s source information will not be modified.

  • Software assisted full virtualization
  • Hardware-assisted full virtualization

Software Assisted – Full Virtualization  [BT – Binary Translation ]

It completely relies on binary translation to trap and virtualize the execution of sensitive, non-virtualizable instructions sets. It emulates the hardware using the software instruction sets. Due to binary translation, it often criticized for performance issue. Here is the list of software which will fall under software assisted [BT].

  • VMware workstation [32Bit guests]
  • Virtual PC
  • VirtualBox [32-bit guests]
  • VMware Server
Binary Translation – Full Virtualization

Hardware-Assisted –  Full Virtualization  [VT]

Hardware-assisted full virtualization eliminates the binary translation and it directly interrupts with hardware using the virtualization technology which has been integrated on X86 processors since 2005 [Intel VT-x and AMD-V].  Guest OS’s instructions might allow a virtual context execute privileged instructions directly on the processor, even though it is virtualized.

Hardware-assisted virtualization – Hypervisor

Here is the list of enterprise software which supports hardware-assisted – Full virtualization which falls under hypervisor type 1  [Bare metal ]

  • VMware ESXi /ESX
  • KVM
  • Hyper-V
  • Xen
hypervisor – Native – Bare-metal

The following virtualization type of virtualization falls under hypervisor type 2  [Hosted].

  • VMware Workstation  [64-bit guests only ]
  • Virtual Box [64-bit guests only ]
  • VMware Server [Retired ]
Hosted – Hypervisor type 2

Paravirtualization:

Paravirtualization works differently from the full virtualization. It doesn’t need to simulate the hardware for the virtual machines. The hypervisor is installed on a physical server [host] and a guest OS is installed into the environment. Virtual guests aware that it has been virtualized, unlike the full virtualization [where the guest doesn’t know that it has been virtualized] to take advantage of the functions. In this virtualization method, guest source codes will be modified with sensitive information to communicate with the host. Guest Operating systems require extensions to make API calls to the hypervisor. In full virtualization, guests will issue a hardware calls but in paravirtualization, guests will directly communicate with the host [hypervisor] using the drivers. Here is the lisf of products which supports paravirtualization.

  • Xen
  • IBM LPAR
  • Oracle VM for SPARC  [LDOM]
  • Oracle VM for X86  [OVM]

The below diagram might help you to understand how Xen supports both full virtualization and paravirtualization. Due to the architecture difference between windows and Linux based Xen hypervisor, Windows operating system can’t be para-virtualized.  But it does for Linux guest by modifying the kernel.  But VMware ESXi doesn’t modify the kernel for both Linux and Windows guests.

Xen supports both Full virtualization and Para-virtualization

Hybrid Virtualization: [ Hardware Virtualized with PV Drivers ]

In Hardware assisted full virtualization, Guest operating systems are unmodified and it involves many VM traps and thus high CPU overheads which limit the scalability.  Paravirtualization is a complex method where guest kernel needs to be modified to inject the API. By considering these issues, engineers have come with hybrid paravirtualization. It’s a combination of both Full & Paravirtualization. The virtual machine uses paravirtualization for specific hardware drivers [where there is a bottleneck with full virtualization, especially with I/O & memory intense workloads], and the host uses full virtualization for other features. The following products support hybrid virtualization.

  • Oracle VM for x86
  • Xen
  • VMware ESXi

The following diagram will help you to understand how VMware supports both full virtualization and hybrid virtualization. RDMA uses the paravirual driver to bypass VMkernel in hardware-assisted full virtualization.

VMware ESXi – Example of Hybrid virtualization

OS level Virtualization:

Operating system-level virtualization is widely used.It also knowns “containerization”. Host Operating system kernel allows multiple user spaces aka instance.In OS-level virtualization, unlike other virtualization technologies, there will be very little or no overhead since its uses the host operating system kernel for execution. Oracle Solaris zone is one of the famous containers in the enterprise market.  Here is the list of other containers.

  • Linux LCX
  • Docker
  • AIX WPAR
Solaris Containers – OS-level virtualization Example

Each virtualization technologies have their own advantages and disadvantages. The choice of virtualization heavily depends on use and cost.

There are a lot of technologies are evolving and enterprise products support multiple virtualization types to improve the performance and reduce the resource overhead. I know its bit hard to understand and classify the virtualization technologies. But I have tried my level best to put it together.

Share it! Comme it !!  Be sociable !!!

What are the advantages of full hardware virtualization over paravirtualization?

The main difference between full virtualization and paravirtualization in Cloud is that full virtualization allows multiple guest operating systems to execute on a host operating system independently while paravirtualization allows multiple guest operating systems to run on host operating systems while communicating ...

What is the difference between full virtualisation and paravirtualization?

In Full virtualization, virtual machines permit the execution of the instructions with the running of unmodified OS in an entirely isolated way. In paravirtualization, a virtual machine does not implement full isolation of OS but rather provides a different API which is utilized when OS is subjected to alteration.

What are the benefits of para virtualization over full virtualization?

Paravirtualization advantages include easier backups, fast migrations, improved system utilization, server consolidation, power conservation and so on.

What are the advantages of hardware virtualization?

The main benefits of hardware virtualization are more efficient resource utilization, lower overall costs as well as increased uptime and IT flexibility.

Bài Viết Liên Quan

Chủ Đề