0% found this document useful (0 votes)
24 views

Chap2-New_Virtulization

Virtualization is a computing technique that abstracts physical resources to create multiple logical resources, enhancing efficiency and flexibility while reducing costs. It allows multiple operating systems to run on a single hardware host through hypervisors, which can be classified as Type 1 (bare metal) or Type 2 (hosted). The document discusses various aspects of virtualization, including its benefits, types, and the differences between traditional computing and virtual machines.

Uploaded by

Ifat Jagirdar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Chap2-New_Virtulization

Virtualization is a computing technique that abstracts physical resources to create multiple logical resources, enhancing efficiency and flexibility while reducing costs. It allows multiple operating systems to run on a single hardware host through hypervisors, which can be classified as Type 1 (bare metal) or Type 2 (hosted). The document discusses various aspects of virtualization, including its benefits, types, and the differences between traditional computing and virtual machines.

Uploaded by

Ifat Jagirdar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 50

Virtualization

Virtualization
• In computing, virtualization is a broad term that
refers to the abstraction of computer resources
• It is "a technique for hiding the physical
characteristics of computing resources from the
way in which other systems, applications, or end
users interact with those resources.
• This includes making a single physical resource
(such as a server, an operating system, an
application, or storage device) appear to function
as multiple logical resources;
• or it can include making multiple physical
resources (such as storage devices or servers)
appear as a single logical resource."
WHAT IS VIRTUALIZATION
 Virtualization is one of the hardware reducing,
cost saving and energy saving technology that
is rapidly transforming the IT landscape and
fundamentally changing the way that
people compute.

 With virtualization solutions you can reduce IT


costs while increasing the efficiency, utilization
and flexibility of their existing computer
hardware.

 With Virtualization it is possible to run multiple


operating systems and multiple applications on
the same SERVER at the same time, increasing
the utilization and flexibility of hardware.
 Virtualization creates an external interface that hides
an underlying implementation, e.g. by multiplexing
access, by combining resources at different physical
locations, or by simplifying a control system.
Virtual Machine, Guest Operating System,
and VMM (Virtual Machine Monitor) :

The Virtualization layer is the middleware between the


underlying hardware and virtual machines represented in the
system, also known as virtual machine monitor (VMM) or
hypervisor.
Hypervisor
• A hypervisor, also known as a virtual machine monitor
(VMM), or virtualization manager, is a program that
allows multiple operating systems to share a single
hardware host.
• Each guest operating system appears to have the
host's processor, memory, and other resources all to
itself.
• However, the hypervisor is actually controlling the host
processor and resources, allocating what is needed to
each operating system in turn and making sure that the
guest operating systems (called virtual machines)
cannot disrupt each other.
Type 1 hypervisor
•the type 1 hypervisor is also known as a bare metal hypervisor.
•IT interacts directly with the underlying machine hardware.
• A bare metal hypervisor is installed directly on the host machine’s
physical hardware, not through an operating system.
•In some cases, a type 1 hypervisor is embedded in the machine’s
firmware.
•The type 1 hypervisor negotiates directly with server hardware to
allocate dedicated resources to VMs.
•It can also flexibly share resources, depending on various VM requests.
Type 2 hypervisor
•It’s also known as a hosted or embedded hypervisor.
•the type 2 hypervisor is an application installed on the host operating system
•It interacts with the underlying host machine hardware through the
host machine’s operating system.
• You install it on the machine, where it runs as an application.
•The type 2 hypervisor negotiates with the operating system to obtain
underlying system resources.
• However, the host operating system prioritizes its own functions and
applications over the virtual workloads.
Difference between Traditional Computer
and Virtual machines
Feature Traditional Computers Virtual Machines
Virtualized hardware on a host
Hardware Physically dedicated hardware.
machine.
Limited isolation between Strong isolation between virtual
Isolation
applications. machines.
Resource Allocation Fixed allocation of resources. Dynamic allocation of resources.
Operating System Runs a single operating system. Can run multiple operating systems.
Limited flexibility in terms of OS and High flexibility to switch between
Flexibility
hardware changes. different OS environments.
Typically lower resource utilization Higher resource utilization with
Resource Utilization
due to fixed allocation. dynamic allocation.
Scaling is more flexible and can be
Scaling requires physical hardware
Scaling achieved by allocating more virtual
upgrades.
resources.
May lead to underutilization of Efficient utilization of resources,
Cost Efficiency
hardware resources. potentially reducing costs.
Longer deployment times for new Shorter deployment times through
Deployment Time
hardware. virtualization.
Individual hardware maintenance Easier maintenance and updates
Maintenance
required. through virtualization.
A failure in one application or Failures in one virtual machine
Isolation of Failures
process may affect others. generally do not affect others.
Typically requires complex backup Easier backup and recovery through
Disaster Recovery
and recovery processes. snapshots and migration.
Enables consolidation of multiple
Limited consolidation of applications
Consolidation virtual machines on a single physical
on a single machine.
machine.
Can create isolated virtual
Dedicated hardware needed for
Testing and Development environments for testing and
testing and development.
development.
Lower energy efficiency due to fixed Higher energy efficiency through
Energy Efficiency
hardware usage. optimized resource allocation.
Before Virtualization

 Single OS image per


machine
Software and hardware
tightly coupled
Running multiple
applications on same
machine often creates
conflict
Inflexible and costly
infrastructure
AFTER VIRTUALIZATION

Hardware-independence
of operating system and
applications
 Virtual machines can be
provisioned to any system
Can manage OS and
application as a single unit
by encapsulating them
into virtual Machines
Virtualization Benefits
•Maximizing Resources/Sharing
•Reducing Hardware Cost
•Minimizing Maintenance Requirements
•Enjoying Benefits of OS Services
•Using Multiple systems/ Isolation
•Testing Beta software and Maintaining Legacy
applications
•Increasing system Security
•Disaster Management
•Encapsulation
•Portability
•Hardware Independance
HOSTED ARCHITECTURE
BARE-METAL (HYPERVISOR) ARCHITECTURE
Virtualization categories:
• It is divided into two main categories:
– Platform virtualization:- It involves the
simulation of virtual machines.
– Resource virtualization:- It involves the
simulation of combined, fragmented, or simplified
resources.
Platform Virtualization
• The creation of a virtual machine using a
combination of hardware and software is referred
to as platform virtualization
• Platform virtualization is performed on a given
hardware platform by "host" software (a control
program), which creates a simulated computer
environment (a virtual machine) for its "guest"
software.
• The "guest" software, which is often itself a
complete operating system, runs just as if it were
installed on a stand-alone hardware platform.
• Typically, many such virtual machines are
simulated on a given physical machine.
• For the "guest" system to function, the simulation
must be robust enough to support all the guest
system's external interfaces, which (depending on
the type of virtualization) may include hardware
drivers.
Platform Virtualization
• There are several approaches to platform
virtualization, listed below based on how complete
a hardware simulation is implemented.
• (The following terms are not universally-recognized
as such, but the underlying concepts are all found
in the literature.)
• Emulation or simulation
• Native virtualization and full virtualization
• Partial virtualization
• Paravirtualization
• Operating system-level virtualization
• Application Virtualization
Emulation, paravirtualization,
and full virtualization
Platform Virtualization
• Emulation or simulation
– The virtual machine simulates the complete
hardware, allowing an unmodified "guest" OS
for a completely different CPU to be run.
– This approach has long been used to enable
the creation of software for new processors
before they were physically available.
– Examples include Bochs, PearPC, PPC version
of Virtual PC, QEMU without acceleration, and
the Hercules emulator.
– Emulation is implemented using a variety of
techniques, from state machines to the use of
dynamic recompilation on a full virtualization
platform.
Platform Virtualization
• Native virtualization and full virtualization
– the virtual machine simulates enough hardware to
allow an unmodified "guest" OS (one designed for
the same CPU) to be run in isolation.
– Typically, many instances can be run at once. This
approach was pioneered in 1966 with CP-40 and
CP[-67]/CMS, predecessors of IBM's VM family.
• Examples include Virtual Iron, VMware
Workstation, VMware Server (formerly GSX
Server), Parallels Desktop, Adeos, Mac-on-Linux,
Win4BSD, Win4Lin Pro, and z/VM.
Platform Virtualization

• Paravirtualization
– the virtual machine does not necessarily simulate
hardware, but instead (or in addition) offers a
special API that can only be used by modifying the
"guest" OS.
– This system call to the hypervisor is called a
"hypercall" in Xen, Parallels Workstation and
Enomalism; it is implemented via a DIAG
("diagnose") hardware instruction in IBM's CMS
under VM (which was the origin of the term
hypervisor).
• Examples include VMware ESX Server, Win4Lin
9x, and z/VM.
Virtualization Ranging from Hardware to
Applications in Five Abstraction Levels
Implementati Performanc Applicatio Implementatio Application
on Level e n n Complexity Isolation
Flexibility

ISA Very Poor Excellent Medium Medium


HAL Excellent Medium High Very Good
OS-Level Excellent Low Medium Very Poor
Library Level Medium Low Low Very Poor

Application Poor Low High Excellent


Level
Virtualization at ISA (Instruction Set Architecture) level
Emulating a given ISA by the ISA of the host machine.
•e.g, MIPS binary code can run on an x-86-based host machine with the
help of ISA emulation.
• Typical systems: Bochs, Crusoe, Quemu, BIRD, Dynamo
Advantage:
• It can run a large amount of legacy binary codes written for various
processors on any given new hardware host machines
• best application flexibility
Shortcoming & limitation:
• The instructions need to be interpreted before being executed and
One source instruction may require tens or hundreds of native
target instructions to perform its function, which is relatively slow.
• V-ISA requires adding a processor-specific software translation
layer in the complier.
Virtualization at Hardware Abstraction level:
Virtualization is performed right on top of the hardware.
•Virtualization utilizes the native hardware for all its computations and
processing by mapping the virtual resources into physical resources.
•It generates virtual hardware environments for VMs, and manages the
underlying hardware through virtualization.
•Typical systems: VMware, Virtual PC, Denali, Xen

Advantage:
•Has higher performance and good application isolation
Shortcoming & limitation:
•Very expensive to implement (complexity)
Virtualization at Operating System (OS) level:
It is an abstraction layer between traditional OS and user placations.
•This virtualization creates isolated containers on a single physical server
and the OS-instance to utilize the hardware and software in datacenters.
•Typical systems: Jail / Virtual Environment / Ensim's VPS / FVM

Advantage:
•Has minimal starup/shutdown cost, low resource requirement, and high
scalability; synchronize VM and host state changes.

Shortcoming & limitation:


•All VMs at the operating system level must have the same kind of guest
OS
•Poor application flexibility and isolation.
Virtualization at OS Level
Virtualization for Linux and Windows NT
Platforms
Advantages of OS Extension for Virtualization

1. VMs at OS level has minimum startup/shutdown costs

2. OS-level VM can easily synchronize with its


environment

Disadvantage of OS Extension for Virtualization


All VMs in the same OS container must have the same or
similar guest OS, which restrict application flexibility of
different VMs on the same physical machine.
Library Support level:

It creates execution environments for running alien


programs on a platform rather than creating VM to run the
entire operating system.
•It is done by API call interception and remapping.
•Typical systems: Wine, WAB, LxRun , VisualMainWin

Advantage:
•It has very low implementation effort

Shortcoming & limitation:


•Poor application flexibility and isolation
Virtualization with Middleware/Library Support
The vCUBE for Virtualization of GPGPU
User-Application level:
It virtualizes an application as a virtual machine.
•This layer sits as an application program on top of an
operating system and exports an abstraction of a VM that
can run programs written and compiled to a particular
abstract machine definition.
•Typical systems: JVM , NET CLI , Panot

Advantage:
•has the best application isolation

Shortcoming & limitation:


•low performance, low application flexibility and high
implementation complexity.
Hypervisor
A hypervisor is a hardware virtualization technique allowing multiple
operating systems, called guests to run on a host machine. This is also
called the Virtual Machine Monitor (VMM).

Type 1: bare metal hypervisor


•sits on the bare metal computer hardware like the CPU, memory, etc.
•All guest operating systems are a layer above the hypervisor.
•The original CP/CMS hypervisor developed by IBM was of this kind.

Type 2: hosted hypervisor


•Run over a host operating system.
•Hypervisor is the second layer over the hardware.
•Guest operating systems run a layer over the hypervisor.
•The OS is usually unaware of the virtualization
Major VMM and Hypervisor Providers
Xen (paravirtualization)
• Xen is a free open source solution for operating system-level
paravirtualization from XenSource. Recall that in
paravirtualization the hypervisor and the operating system
collaborate on the virtualization, requiring operating system
changes but resulting in near native performance.

• As Xen requires collaboration (modifications to the guest


operating system), only those operating systems that are
patched can be virtualized over Xen. From the perspective of
Linux, which is itself open source, this is a reasonable
compromise because the result is better performance than
full virtualization. But from the perspective of wide support
(such as supporting other non-open source operating
systems), it's a clear disadvantage.

• It is possible to run Windows as a guest on Xen, but only on


systems running the Intel Vanderpool or AMD Pacifica. Other
operating systems that support Xen include Minix, Plan 9,
NetBSD, FreeBSD, and OpenSolaris.
The XEN Architecture
The XEN Architecture
Full Virtualization vs. Para-Virtualization
Full virtualization
•Does not need to modify guest OS, and critical instructions are
emulated by software through the use of binary translation.
•VMware Workstation applies full virtualization, which uses binary
translation to automatically modify x86 software on-the-fly to replace
critical instructions.
•Advantage: no need to modify OS.
•Disadvantage: binary translation slows down the performance.
Para virtualization
•Reduces the overhead, but cost of maintaining a paravirtualized OS is
high.
•The improvement depends on the workload.
•Para virtualization must modify guest OS, non-virtualizable instructions
are replaced by hypercalls that communicate directly with the hypervisor
or VMM.
•Para virtualization is supported by Xen, Denali and VMware ESX.
Full Virtualization
Binary
Translation
of Guest OS
Requests
using a
VMM:
Para- Virtualization with Compiler Support.

The KVM builds offers kernel-based VM on the Linux


platform, based on para-virtualization
VMWare ESX Server for Para-Virtualization
Conclusions on CPU, Memory
and I/O Virtualization :
 CPU virtualization demands hardware-assisted traps of
sensitive instructions by the VMM

 Memory virtualization demands special hardware support


(shadow page tables by VMWare or extended page table by
Intel) to help translate virtual address into physical address
and machine memory in two stages.

 I/O virtualization is the most difficult one to realize due to


the complexity if I/O service routines and the emulation
needed between the guest OS and host OS.
Multi-Core Virtualization:
VCPU vs. traditional CPU

Figure 3.16 Four VCPUs are exposed to the software, only three cores are actually
present. VCPUs V0, V1, and V3 have been transparently migrated, while VCPU V2
has been transparently suspended. (Courtesy of Wells, et al., “Dynamic
Heterogeneity and the Need for Multicore Virtualization”, ACM SIGOPS Operating
Systems Review, ACM Press, 2009 [68] )
Virtual Cores vs. Physical Processor Cores
Physical cores Virtual cores

The actual physical cores present in the There can be more virtual cores visible to
processor. a single OS than there are physical cores.

More burden on the software to write Design of software becomes easier as the
applications which can run directly on hardware assists the software in dynamic
the cores. resource utilization.

Hardware provides no assistance to the Hardware provides assistance to the


software and is hence simpler. software and is hence more complex.

Poor resource management. Better resource management.

The lowest level of system software has The lowest level of system software need

You might also like