Virtualization and Partitioning

Virtualization is defined as abstraction of a complete hardware platform offering unmodified software the ability to execute on a fundamentally different hardware platform. Virtual machine manager (VMM) can either be standalone or hosted by operating systems (OS). The first approach requires the VMM to provide OS-like services and the latter relies upon the host OS' services and its functionality. The host OS accesses the physical I/O device via its driver and serves the I/O request. Data is finally sent back to the application using the reverse path. It is possible to shorten the processing path of the I/O request if para-virtualization is employed. With a standalone VMM, the processing is slightly different. The same I/O request is sent to the guest OS by the application. When it is processed via the guest OS' device driver, the request is detected and trapped by the VMM. The VMM then uses its own device driver to access the hardware. The data is sent back to the application using the reverse path. Workload migration is a very promising usage model of virtualization. It consists of moving a VM and its workload from one virtualized system (HW, VMM stack) to another. By migrating workloads, it is possible to optimize a data center's utilization rate, its power dissipation, and cooling.