0% found this document useful (0 votes)
19 views48 pages

CC New Virtulization

Uploaded by

Unnatii Pimplee
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)
19 views48 pages

CC New Virtulization

Uploaded by

Unnatii Pimplee
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/ 48

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
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
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, a.k.a. a virtual machine
manager/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.
Difference between Traditional
Computer and Virtual machines
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 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.

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
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
processor. to a single OS than there are physical
cores.

More burden on the software to write Design of software becomes easier as


applications which can run directly on the hardware assists the software in
the cores. dynamic 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
to be modified. need not be modified.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy