Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Subject Name:- Cloud Computing

Subject Code:- KCS-713


Unit No.:- 2
Lecture No.:- 3
Topic Name: Basics of Virtualization

1
Content
1:-Basics of Virtualization
2:-Types of Virtualization
3:-Implementation Levels of Virtualization

2
1. Basics of Virtualization
• Virtualization is a computer architecture
technology by which multiple virtual machines
(VMs) are multiplexed in the same hardware
machine.
• The purpose of a VM is to enhance resource
sharing by many users and improve computer
performance in terms of resource utilization
and application flexibility.

3
• Hardware resources (CPU, memory, I/O
devices, etc.) or software resources (operating
system and software libraries) can be
virtualized in various functional layers.
• The idea is to separate the hardware from the
software to yield better system efficiency.

4
• For example, computer users gained access to
much enlarged memory space when the
concept of virtual memory was introduced.
• Similarly, virtualization techniques can be
applied to enhance the use of compute
engines, networks, and storage.

5
• With sufficient storage, any computer
platform can be installed in another host
computer, even if they use processors with
different instruction sets and run with distinct
operating systems on the same hardware.

6
Figure: The architecture of a computer system before and after
virtualization, where VMM stands for virtual machine monitor.

7
• The main function of the software layer for
virtualization is to virtualize the physical
hardware of a host machine into virtual
resources to be used by the VMs, exclusively.
This can be implemented at various
operational levels.

8
2. Types of Virtualization

9
Types of Hardware virtualization
• Hardware virtualization is further subdivided into
the following types:
Full Virtualization – In it, the complete
simulation of the actual hardware takes place
to allow software to run an unmodified guest
OS.
Para Virtualization – In this type of
virtualization, software unmodified runs in
modified OS as a separate system.
Partial Virtualization – In this type of hardware
virtualization, the software may need
modification to run.
10
Network Virtualization
• Internal Network Virtualization: It refers to the
management and monitoring of a computer network as a
single managerial entity from a single softwarebased
administrator’s console. It is intended to allow network
optimization of data transfer rates, scalability,reliability,
flexibility, and security. It also automates many network
administrative tasks. Network virtualization is
specifically useful for networks experiencing a huge,
rapid, and unpredictable increase of usage.
• External Network Virtualization: Combine many
networks, or parts of networks into a virtual unit.
External Network Virtualization involves and actual
physical device that caters to your network. This type of
virtualization has been around for some time now, a
typical example of this would be a CISCO networking
switch that provides VLAN (virtual LAN) capabilities11
Storage Virtualization
• In this type of virtualization, multiple network storage
resources are present as a single storage device for easier
and more efficient management of these resources. It
provides various advantages as follows:
Improved storage management in a heterogeneous IT
environment
Easy updates, better availability
Reduced downtime
Better storage utilization
Automated management
•In general, there are two types of storage virtualization:
• Block virtualization It works before the file system
exists. It replaces controllers and takes over at the disk
level.
• File virtualization The server that uses the storage must
have software installed on it in order to enable filelevel
usage. 12
Memory Virtualization
• It introduces a way to decouple memory from
the server to provide a shared, distributed or
networked function. It enhances performance
by providing greater memory capacity without
any addition to the main memory. That’s why
a portion of the disk drive serves as an
extension of the main memory

13
Software Virtualization
It provides the ability to the main computer to run
and create one or more virtual environments.
It is used to enable a complete computer
system in order to allow a guest OS to run.
For instance letting Linux to run as a
guest that is natively running a Microsoft
Windows OS
(or vice ersa, running Windows as a guest
on Linux ) Types:
• Operating system
• Application virtualization
• Service virtualization 14
Data Virtualization
• Without any technical details, you can easily
manipulate data and know how it is formatted
or where it is physically located. It decreases
the data errors and workload

15
Desktop virtualization
• It provides the work convenience and security. As one can
access remotely, you are able to work from any location and
on any PC. It provides a lot of flexibility for employees to
work from home or on the go. It also protects confidential
data from being lost or stolen by keeping it safe on central
servers.

16
3. Implementation Levels of Virtualization

17
Instruction Set Architecture Level
• At the ISA level, virtualization is performed by
emulating a given ISA by the ISA of the host
machine.
• With this approach, it is possible to run a large
amount of legacy binary code written for
various processors on any given new
hardware host machine.

18
• The basic emulation method is through code
interpretation.
• An interpreter program interprets the source
instructions to target instructions one by one. One
source instruction may require tens or hundreds
of native target instructions to perform its
function.
• Obviously, this process is relatively slow.
• For better performance, dynamic binary
translation is desired.
19
Hardware Abstraction Level
• Hardware-level virtualization is performed
right on top of the bare hardware. On the one
hand, this approach generates a virtual
hardware environment for a VM.
• On the other hand, the process manages the
underlying hardware through virtualization.
• The idea is to virtualize a computer’s
resources, such as its processors, memory,
and I/O devices.

20
• The intention is to upgrade the hardware
utilization rate by multiple users concurrently.
• The idea was implemented in the IBM
VM/370 in the 1960s.
• More recently, the Xen hypervisor has been
applied to virtualize x86-based machines to
run Linux or other guest OS applications.

21
Operating System Level
• This refers to an abstraction layer between
traditional OS and user applications.
• OS-level virtualization creates isolated
containers on a single physical server and the
OS instances to utilize the hardware and
software in data centers.
• The containers behave like real servers.

22
• OS-level virtualization is commonly used in
creating virtual hosting environments to
allocate hardware resources among a large
number of mutually distrusting users.

23
Library Support Level
• Most applications use APIs exported by
user-level libraries rather than using lengthy
system calls by the OS.
• Since most systems provide well-documented
APIs, such an interface becomes another
candidate for virtualization.

24
• Virtualization with library interfaces is possible
by controlling the communication link
between applications and the rest of a system
through API hooks.
• The software tool WINE has implemented this
approach to support Windows applications on
top of UNIX hosts.

25
User-Application Level
• Virtualization at the application level
virtualizes an application as a VM.
• On a traditional OS, an application often runs
as a process. Therefore, application-level
virtualization is also known as process-level
virtualization.
• The most popular approach is to deploy high
level language (HLL) VMs.

26
• In this scenario, the virtualization layer sits as an
application program on top of the operating
system, and the layer exports an abstraction of a
VM that can run programs written and compiled
to a particular abstract machine definition.
• Any program written in the HLL and compiled for
this VM will be able to run on it.
• The Microsoft .NET CLR and Java Virtual Machine
(JVM) are two good examples of this class of VM

27
• Other forms of application-level virtualization
are known as application isolation, application
sandboxing, or application streaming

28
Relative Merits of Different Approaches

29
“Application Isolation” refers to the effort required to isolate
resources committed to different VMs.

• Overall, hardware and OS support will yield


the highest performance.
• However, the hardware and application levels
are also the most expensive to implement.
• User isolation is the most difficult to achieve.
• ISA implementation offers the best application
flexibility.

30
Important Questions
Q1. Define virtualization.What are the benefits of
virtualization?
Q2. List the different levels of virtualization.
Q3. Describe different types of virtualization.

31
References
• Text Books:-
• 1. Kai Hwang, Geoffrey C. Fox, Jack G.
Dongarra, “Distributed and Cloud Computing,
From Parallel Processing to the Internet of
Things”, Morgan Kaufmann Publishers, 2012.
(DCC)

32
Thank You

33

You might also like