CC New Virtulization
CC New Virtulization
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
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.
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 involves the simulation
of virtual machines.
– Resource virtualization 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
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
Implementa Performa Applicati Implementat Applicatio
tion Level nce on ion n Isolation
Flexibilit Complexity
y
ISA Very Poor Excellent Medium Medium
HAL Excellent Medium High Very Good
OS-Level Excellent Low Medium Very Poor
Library Medium Low Low Very Poor
Level
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.
Advantage:
•It has very low implementation effort
Advantage:
•has the best application isolation
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
processor. to a single OS than there are physical
cores.
The lowest level of system software has The lowest level of system software
to be modified. need not be modified.