0% found this document useful (0 votes)
6 views41 pages

MODULE 3 Virtualization

The document discusses virtualization, a technology that creates abstract environments for running applications, emphasizing its significance in cloud computing and server consolidation. It outlines various virtualization techniques, their characteristics, and the benefits they offer, such as increased security, resource sharing, and performance tuning. Additionally, it introduces the virtualization reference model and the role of hypervisors in managing virtual machines.

Uploaded by

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

MODULE 3 Virtualization

The document discusses virtualization, a technology that creates abstract environments for running applications, emphasizing its significance in cloud computing and server consolidation. It outlines various virtualization techniques, their characteristics, and the benefits they offer, such as increased security, resource sharing, and performance tuning. Additionally, it introduces the virtualization reference model and the role of hypervisors in managing virtual machines.

Uploaded by

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

Virtualization

Morgan Kauffman, USA McGraw Hill, India China Machine Press, China

9.1 1
Chapter 3 - Virtualization : Objectives
IBM Power Systems

After completing this unit you should be able to understand


• Characteristics of Virtualized environments
• Taxonomy of Virtualization Techniques
– Execution Virtualization
– Other Types of Virtualization
• Virtualization and cloud computing
• Pros and Cons of Virtualization

2
Introduction IBM Power Systems

• Virtualization is a large umbrella of technologies and concepts


that are meant to provide an abstract environment—whether
this is virtual hardware or operating system—to run applications.
• This term is often synonymous with hardware virtualization,
which plays fundamental role in efficiently delivering
Infrastructure-as-a-Service solutions for Cloud computing.
• virtualization technologies have a long trail in the history of
computer science and have come into many flavors by
providing virtual environments at operating system level,
programming language level, and application level.
• Virtualization technologies not only provide a virtual
environment for executing applications, but also for storage,
memory, and networking.

3
Virtualization: reasons for renewed interest
IBM Power Systems

• Virtualization technologies have gained a renewed interested recently due


to the confluence of different phenomena
– Increased performance and computing capacity: Almost all modern PCs have
resources enough to host a virtual machine manager and execute a virtual
machine with a by far acceptable performance.
– Underutilized hardware and software resources: Hardware and software
underutilization is occurring due to (1) the increased performance and computing
capacity, and (2) effect of limited or sporadic use of resources. Using these
resources for other purposes after hours could improve the efficiency of the IT
infrastructure. In order to transparently provide such a service, it would be
necessary to deploy a completely separate environment, which can be achieved
through virtualization.
– Lack of space: The continuous need for additional capacity, whether this is
storage or compute power, makes data centers grow quickly. This condition along
with hardware underutilization led to the diffusion of a technique called server
consolidation, for which virtualization technologies are fundamental.

4
Virtualization: reasons for renewed interest
IBM Power Systems

• Contd..
– Greening initiatives: Recently, companies are increasingly looking for
ways to reduce the amount of energy they consume and to reduce
their carbon footprint. Hence, reducing the number of servers through
server consolidation will definitely reduce the impact of cooling and
power consumption of a data center. Virtualization technologies can
provide an efficient way of consolidating servers.
– Rise of administrative costs: Power consumption and cooling costs
have now become higher than the cost of the IT equipment.
Virtualization can help in reducing the number of required servers for a
given workload, thus reducing the cost of the administrative personnel.

5
Virtualization reference model
IBM Power Systems

• Virtualization is a broad concept and it refers to the creation


of a virtual version of something, whether this is hardware,
software environment, storage, or network.
• In a virtualized environment there are three major
components: guest, host, and virtualization layer.
• The guest represents the system component that interacts
with the virtualization layer rather than with the host as it
would normally happen.
• The host represents the original environment where the
guest is supposed to be managed.
• The virtualization layer is responsible for recreating the
same or a different environment where the guest will operate.

6
Virtualization reference model
IBM Power Systems

Virtual Image Applications Applications


Guest

Virtual Hardware Virtual Storage Virtual Networking


Virtualization Layer
Software Emulation

Host Physical Hardware Physical Storage Physical Networking

Virtualization Reference Model 7


Characteristics of virtualized environments
IBM Power Systems

• Increased Security: The ability to control the execution of a


guest in a completely transparent manner opens new
possibilities for delivering a secure, controlled execution
environment.
– The virtual machine represents an emulated environment in which the
guest is executed. All the operations of the guest are generally performed
against the virtual machine, which then translates and applies them to
the host.
– This level of indirection allows the virtual machine manager to control
and filter the activity of the guest, thus preventing some harmful
operations from being performed.
– Resources exposed by the host can then be hidden or simply protected
from the guest. Moreover, sensitive information that is contained in the
host can be naturally hidden without the need of installing complex
security policies. Increased security is a requirement when dealing with
untrusted code.
8
Characteristics of virtualized environments contd…
IBM Power Systems

• Managed Execution: Virtualization of the execution


environment does not only allow the increased security but a
wider range of features can be implemented. In particular,
sharing, aggregation, emulation, and isolation are the most
relevant.

Fig- Functions Enabled by Managed Execution

9
Characteristics of virtualized environments contd…
IBM Power Systems

• Sharing:
– Virtualization allows the creation of a separate computing environment
within the same host. In this way it is possible to fully exploit the
capabilities of a powerful guest, which would be otherwise underutilized.
– Sharing is a particularly important feature in virtualized data centers,
where this basic feature is used to reduce the number of active servers
and limit power consumption.
• Aggregation.
– It is not only possible to share the physical resource among several
guests, but virtualization also allows the aggregation, which is the
opposite process. A group of separate hosts can be tied together and
represented to guests as a single virtual host. This function is naturally
implemented in middleware for distributed computing and a classical
example is represented by cluster management software, which
harnesses the physical resources of a homogeneous group of machines
and represents them as a single resource.
10
Characteristics of virtualized environments contd…
IBM Power Systems

• Emulation. Guests are executed within an environment that


is controlled by the virtualization layer, which ultimately is a
program. This allows for controlling and tuning the
environment that is exposed to guests.
– For instance, a complete different environment with respect to the host
can be emulated, thus allowing the execution of guests requiring specific
characteristics that are not present in the physical host.
– hardware virtualization solutions are able to provide virtual hardware and
emulate a particular kind of device such as SCSI (Small Computer System
Interface) devices for file IO, without the hosting machine having such
hardware installed.
– Old and legacy software, which does not meet the requirements of
current systems, can be run on emulated hardware without any need of
changing their code. This is possible either emulating the required
hardware architecture or within a specific operating system sandbox,
such as the MS-DOS mode in Windows 95/98.
11
Characteristics of virtualized environments contd…
IBM Power Systems

• Isolation. Virtualization allows providing guests—whether


they are operating systems, applications, or other
entities—with a complete separate environment, in which
they are executed. The guest performs its activity by
interacting with an abstraction layer, which provides access
to the underlying resources.
– Isolation brings several benefits, for example it allows multiple guests
to run on the same host without each of them interfering with the
other.
– Secondly, it provides a separation between the host and the guest.
The virtual machine can filter the activity of the guest and prevent
harmful operations against the host.

12
Characteristics of virtualized environments contd…
IBM Power Systems

• Performance tuning: This feature is a reality at present time, given the


considerable advances in hardware and software supporting virtualization.
It becomes easier to control the performance of the guest by finely tuning
the properties of the resources exposed through the virtual environment.
This provides means to effectively implement a Quality of Service
infrastructure that more easily fulfill the service level agreement
established for the guest.
– For instance software implementing hardware virtualization solutions
can expose to a guest operating system only a fraction of the memory of
the host machine or to set the maximum frequency of the processor of
the virtual machine.
– Another advantage of managed execution is that sometimes it allows
easily capturing the state of the guest, persisting it, and resuming its
execution.
• This, for example, allows virtual machine managers such as Xen Hypervisor to stop the execution of a
guest operating system, to move its virtual image into another machine, and to resume its execution in a
completely transparent manner. This technique is called virtual machine migration and constitutes an
important feature in virtualized data centers for optimizing their efficiency in serving applications
demand.
13
Characteristics of virtualized environments contd…
IBM Power Systems

• Portability: The concept of portability applies in different


ways according to the specific type of virtualization
considered.
– In the case of a hardware virtualization solution the guest is packaged
into a virtual image that, in most of the cases, can be safely moved and
executed on top of different virtual machines.
– In the case of programming level virtualization, as implemented by the
JVM or the .NET runtime, the binary code representing application
components (jars or assemblies), can be run without any
recompilation on any implementation of the corresponding virtual
machine.
– This makes the application development cycle more flexible and
application deployment very straightforward: one version of the
application, in most of the cases, is able to run on different platforms
with no changes.

14
Taxonomy of Virtualization Techniques
IBM Power Systems

• Virtualization covers a wide range of emulation techniques


that are applied to different areas of computing. A
classification of these techniques helps to better understand
their characteristics and use.
– Virtualization is mainly used to emulate execution environments,
storage, and networks.
– Among these categories execution virtualization constitutes the
oldest, most popular, and most developed area.
– We can divide these execution virtualization techniques into two
major categories by considering the type of host they require.
• Process level techniques are implemented on top of an existing operating
system, which has full control of the hardware.
• System level techniques are implemented directly on hardware and do not
require―or require a minimum support from―an existing operating system.

15
Virtualization
How it is done? Technique
Model

IBM Power Systems

Emulation Application

Execution Programming
Process Level High-Level VM
Environment Language

Storage Operating
Multiprogramming System
Virtualizatio
n

Network Hardware-assisted
Virtualization

Full Virtualization
System Level Hardware

…. Paravirtualization

Partial
Virtualization
Execution Virtualization
IBM Power Systems

• Execution virtualization includes all those techniques whose


aim is to emulate an execution environment that is separate
from the one hosting the virtualization layer.
• All these techniques concentrate their interest on providing
support for the execution of programs, whether these are the
operating system, a binary specification of a program compiled
against an abstract machine model, or an application.
• Therefore, execution virtualization can be implemented
directly on top of the hardware, by the operating system, an
application, or libraries dynamically or statically linked against
an application image.

17
Machine Reference Model
IBM Power Systems
• Virtualizing an execution environment
at different levels of the computing
stack requires a reference model that
def in es the interfaces between the
levels of abstractions, which hide
implementation details.
• From this perspective, virtualization
techniques actually replace one of the
layers and intercept the calls that are
directed towards it.
• Therefore, a clear separation between
layers simplifies their implementation,
which only requires the emulation of
the interfaces and a proper interaction
with the underlying layer.
• Modern computing systems can be
expressed in terms of the reference Fig: Machine reference Model
model described in the figure.

18
Machine Reference Model contd…
IBM Power Systems
• At the bottom layer, the model for the hardware is expressed in terms of the Instruction Set
Architecture (ISA), which defines the instruction set for the processor, registers, memory, and
interrupts management.
• ISA is the interface between hardware and software and it is important for the OS developer
(System ISA), and developers of applications that directly manage the underlying hardware
(User ISA).
• The Application Binary Interface (ABI) separates the operating system layer from the
applications and libraries, which are managed by the OS.
• ABI covers details such as low-level data types, alignment, and call conventions and defines a
format for executable programs. System calls are defined at this level. This interface allows
portability of applications and libraries across operating systems that implement the same ABI.
• The highest level of abstraction is represented by the Application Programming Interface (API),
which interfaces applications to libraries and/or the underlying operating system.
• The machine level resources such as processor registers and main memory capacities are used
to perform the operation in the hardware level of CPU.
• Such layered approach simplifies the development and implementation of computing systems
and also simplifies the implementation of multi-tasking and the co-existence of multiple
executing environments.

19
Security Rings and Privileged Modes
IBM Power Systems
• Machine reference model also provides ways for
implementing a minimal security model for managing
and accessing shared resources.
• For this purpose, the instruction set exposed by the
hardware has been divided into different security
classes, which define who can operate with them.
• The first distinction can be made between privileged
and non-privileged instructions.
• Non-privileged instructions are those instructions that
can be used without interfering with other tasks because
they do not access shared resources. This category
contains, for example, all the floating, fixed point, and
arithmetic instructions.
• Privileged instructions are those that are executed under
specific restrictions and are mostly used for sensitive
operations, which expose (behavior sensitive) or modify
(control sensitive) the privileged state.
• a possible implementation features a hierarchy of
privileges (see Figure ) in the form of ring based security:
Ring 0, Ring 1, Ring 2, and Ring 3; Ring 0 is in the most
privileged level and the Ring 3 in the least privileged level.
Ring 0 is used by the kernel of the OS and rings 1 and 2
are used by the OS level services and Ring 3 is used by
the user. Recent systems support only two levels with
Ring 0 for the supervisor mode and Ring 3 for user mode.

20
Hardware Level Virtualization
IBM Power Systems
• Hardware level virtualization is a
virtualization technique that provides an
abstract execution environment in terms of
computer hardware on top of which a guest
operating system can be run.
• In this model, the guest is represented by the
operating system, the host by the physical
computer hardware, the virtual machine by its
emulation, and virtual machine manager by
the hypervisor.
• The hypervisor is generally a program, or a
combination of software and hardware, that
allows the abstraction of the underlying
physical hardware.
• Hardware level virtualization is also called
system virtualization, since it provides ISA to
virtual machines, which is the representation
of the hardware interface of a system. This is
to differentiate from process virtual
machines, which expose ABI to virtual
machines.

21
Hypervisors
IBM Power Systems
• A f u n d a men t a l elemen t of h a r d w a r e
vir t ualizat ion is t he hypervisor, or vir t ual
ma ch in e ma n a ger ( VMM). It recrea t es a
hardware environment, where guest operating
systems are installed. There are two major
types of hypervisors: Type I and Type II.
• Type I hypervisors run directly on top of the
hardware. Therefore, they take the place of the
operating systems and interact directly with
the ISA interface exposed by the underlying
hardware, and emulate this interface in order
to allow the management of guest operating
systems. This type of hypervisors is also called
native virtual machine, since it run natively on
hardware.
• Type II hypervisors require the support of an
operating system to provide virtualization
services. This means that they are programs
managed by the operating system, w hich
interact with it through the ABI and emulate
the ISA of virtual hardware for guest operating
Fig-Hosted (left) and Native (right) Virtual
systems. This type of hypervisors is also called Machine
hosted virtual machine, since it is hosted within
an operating system.

22
Hypervisor Reference Architecture
IBM Power Systems
• Conceptually, a virtual machine manager is
internally organized as described in the Figure.
• Three main modules coordinate their activity in
order to emulate the underlying hardware:
dispatcher, allocator, and interpreter.
• The dispatcher constitutes the entry point of
the monitor and reroutes the instructions
issued by the virtual machine instance to one
of the two other modules.
• The allocator is responsible for deciding the
system resources to be provided to the VM:
whenever a virtual machine tries to execute
an instruction that results in changing the
machine resources associated with that VM,
the allocator is invoked by the dispatcher.
• The interpreter module consists of interpreter
routines. These are executed whenever a
virtual machine executes a privileged
instruction: a trap is triggered and the
corresponding routine is executed.
Fig- hypervisor reference architecture

23
Hypervisor Reference Architecture contd…
IBM Power Systems

• The design and architecture of a virtual machine manager, together with the
underlying hardware design of the host machine, determine the full realization
of hardware virtualization, where a guest operating system can be transparently
executed on top of a VMM as if it was run on the underlying hardware.
• The criteria that need to be met by a virtual machine manager to efficiently
support virtualization were established by Goldberg and Popek in 1974 [23].
Three properties have to be satisfied:
– Equivalence: a guest running under the control of a virtual machine manager should exhibit the
same behavior that when it is executed directly on the physical host.
– Resource control: the virtual machine manager should be in complete control of virtualized
resources.
– Efficiency: a statistically dominant fraction of the machine instructions should be executed
without intervention from the virtual machine manager.
• The major factor that determines whether these properties are satisfied is
represented by the layout of the ISA of the host running a virtual machine
manager. Popek and Goldberg provided a classification of the instruction set
and proposed three theorems that define the properties that hardware
instructions need to satisfy in order to efficiently support virtualization.

24
Popek and Goldberg theorems
IBM Power Systems

• Theorem-1: For any conventional third-generation computer,


a VMM may be constructed if the set of sensitive
instructions for that computer is a subset of the set of
privileged instructions.
• Theorem 2: A conventional third-generation computer is
recursively virtualizable if
– It is virtualizable and.
– A VMM without any timing dependencies can be constructed for it.
• Theorem 3: A hybrid VMM may be constructed for any
conventional third generation machine, in which the set of
user sensitive instructions are a subset of the set of
privileged instructions.

25
Hardware Virtualization Techniques
IBM Power Systems

• Hardware-assisted virtualization:
– This term refers to a scenario in which the hardware provides architectural support for
building a virtual machine manager able to run a guest operating system in complete
isolation.
– This technique was originally introduced in the IBM System/370. At present, examples of
hardware-assisted virtualization are the extensions to the x86-64 bit architecture introduced
with Intel VT
• Full virtualization
– Full virtualization refers to the ability of running a program, most likely an operating system,
on top of a virtual machine directly and without any modification, as if it were run on the raw
hardware.
– In order to make this possible, virtual machine managers are required to provide a complete
emulation of the entire underlying hardware.
– The principal advantage of full virtualization is complete isolation, which leads to enhanced
security, ease of emulation of different architectures, and coexistence of different systems on
the same platform. Whereas it is a desired goal for many virtualization solutions, it poses
important concerns on performance and technical implementation.

26
Hardware Virtualization Techniques
IBM Power Systems

• Paravirtualization
– This is a not transparent virtualization solution that allows implementing thin virtual machine
managers.
– Paravirtualization techniques expose a software interface to the virtual machine that is
slightly modified from the host and, as a consequence, guests need to be modified.
– The aim of paravirtualization is to provide the capability to demand the execution of
performance critical operation directly on the host.
– solutions using paravirtualization include: VMWare, Parallels, and some solutions for
embedded and real time environment such as TRANGO, Wind River, and XtratuM.
• Partial virtualization
– Partial virtualization provides a partial emulation of the underlying hardware, thus not
allowing the complete execution of the guest operating system in complete isolation.
– Partial virtualization allows many applications to run transparently but not all the features of
the operating system can be supported as happens with full virtualization.
– An example of partial virtualization is address space virtualization used in time sharing
systems.
– Partial virtualization was implemented on the experimental IBM M44/44X. Address space
virtualization is a common feature of contemporary operating systems.

27
Operating System Level Virtualization
IBM Power Systems

• Operating System level virtualization offers the opportunity to create different


and separated execution environment for applications that are managed
concurrently.
• Differently from hardware virtualization, there is no virtual machine manager or
hypervisor and the virtualization is done within a single operating system,
where the OS kernel allows for multiple isolated user space instances.
• The kernel is also responsible for sharing the system resources among
instances and for limiting the impact of instances on each other.
• A user space instance in general contains a proper view of the file system
which is completely isolated, separate IP addresses, software configurations,
and access to devices.
• Examples of operating system level virtualizations are: FreeBSD Jails, IBM
Logical Partition (LPAR), SolarisZones and Containers, Parallels Virtuozzo
Containers, OpenVZ, iCore Virtual Accounts, Free Virtual Private Server
(FreeVPS) and others.
• The services offered by each of these technologies differ and most of them are
available on Unix based systems.
28
Programming Language Level Virtualization
IBM Power Systems

• Programming language level virtualization is mostly used for achieving


ease of deployment of applications, managed execution, and portability
across different platforms and operating systems.
• It consists of a virtual machine executing the byte code of a program,
which is the result of the compilation process.
• Compilers implemented used this technology produce a binary format
representing the machine code for an abstract architecture.
• The main advantage of programming-level virtual machines, also called
process virtual machines, is the ability of providing a uniform execution
environment across different platforms.
• Programs compiled into byte code can be executed on any operating
system and platform for which a virtual machine able to execute that code
has been provided.
• As an example, both Java and .NET provide an infrastructure for pluggable
security policies and code access security frameworks.

29
Application Level Virtualization
IBM Power Systems

• Application level virtualization is a technique allowing applications to be


run on run-time environments which do not natively support all the features
required by such applications.
• In this scenario, applications are not installed in the expected run time
environment, but run as if they were.
• In general, these techniques are mostly concerned with partial file systems,
libraries, and operating system component emulation.
• Such emulation is performed by a thin layer—a program or an operating
system component—that is in charge of executing the application.

30
Application Level Virtualization
IBM Power Systems

• Emulation can also be used to execute program binaries compiled for different
hardware architectures. In this case, one of the following strategies can be
implemented:
– Interpretation. In this technique every source instruction is interpreted by emulator for
executing native ISA instructions leading to poor performance. Interpretation has a minimal
startup cost but a huge overhead since each instruction is emulated.
– Binary Translation. In this technique every source instruction is converted to native
instructions with equivalent functions. After a block of instructions is translated it is cached
and reused. Binary translation has a large initial overhead cost but over time it is subject to a
better performance, since previously translated instruction blocks are directly executed.
• Application virtualization is a good solution in the case of missing libraries in the host
operating system: in this case a replacement library can be linked with the application or
library calls can be remapped to existing functions available in the host system.
• Another advantage is that in this case the virtual machine manager is much lighter since
it provides a partial emulation of the run time environment if compared to hardware
virtualization.
• One of the most popular solution implementing application virtualization is Wine, which
is a software application allowing Unix-like operating systems to execute programs
written for the Microsoft Windows platform.

31
Storage Virtualization
IBM Power Systems

• Storage virtualization is a system administration practice that allows


decoupling the physical organization of the hardware from its logical
representation.
• By using this technique users do not have to be worried about the specific
location of their data, which can be identified by using a logical path.
• Storage virtualization allows harnessing a wide range of storage facilities
and representing them under a single logical file system.
• There are different techniques for storage virtualization one of the most
popular includes network based virtualization by means of Storage Area
Networks (SANs).
• Storage Area Networks use a network accessible device through a large
bandwidth connection to provide storage facilities.

32
Network Virtualization
IBM Power Systems

• Network virtualization combines hardware appliances and specific software


for the creation and management of a virtual network.
• Network virtualization can aggregate different physical networks into a single
logical network (external network virtualization) or provide network like
functionality to an operating system partition (internal network virtualization).
• The result of external network virtualization is generally a Virtual LAN (VLAN).
A VLAN is an aggregation of hosts that communicate with each other as if they
were located under the same broadcasting domain.
• Internal network virtualization is generally applied together with hardware and
operating system level virtualization in which the guests obtain a virtual
network interface to communicate with.
• There are several options for implementing internal network virtualization: the
guest can share the same network interface of the host and use NAT to access
the network; the virtual machine manager can emulate, and install on the host,
an additional network device together with the driver; or the guest can have a
private network only with the guest.

33
Desktop Virtualization
IBM Power Systems

• Desktop virtualization abstracts the desktop environment available on a personal


computer in order to provide access to it by using a client server approach.
• Desktop virtualization provides the same outcome of hardware virtualization but
serves a different purpose.
• Similarly to hardware virtualization it makes accessible a different system as if it was
natively installed on the host, but this system is remotely stored on a different host
and accessed through a network connection.
• Moreover, desktop virtualization addresses the problem of making the same desktop
environment accessible from everywhere.
• While the term desktop virtualization strictly refers to the ability to remotely access a
desktop environment, generally, the desktop environment is stored in a remote server
or a data center which provides a high availability infrastructure and ensures the
accessibility and the persistence of the data.
• The basic services for remotely accessing a desktop environment are implemented
in software components such as: Windows Remote Services, VNC, and X Server.
• Infrastructures for desktop virtualization based on Cloud computing solutions are:
Sun Virtual Desktop Infrastructure (VDI), Parallels Virtual Desktop Infrastructure (VDI
), Citrix XenDesktop and others.

34
Application Server Virtualization
IBM Power Systems

• Application server virtualization abstracts a collection of application servers


that provide the same services as a single virtual application server by
using load balancing strategies and providing a high availability
infrastructure for the services hosted in the application server.
• This is a particular form of virtualization and serves the same purpose of
storage virtualization: providing a better quality of service rather than
emulating a different environment.

35
Virtualization and Cloud Computing
IBM Power Systems
• Virtualization plays an important role in Cloud
computing, since it allows for the appropriate
degree of customization, security, isolation.
• Virtualization technologies are primarily used to
offer configurable computing environments and
storage.
• Particularly important is the role of virtual
computing environment and execution
virtualization techniques. Among these, hardware
and programming language virtualization are the
techniques adopted in Cloud computing systems.
• virtualization also gives the opportunity of
designing more efficient computing systems by
means of consolidation
• Server consolidation and virtual machine migration
are principally used in case of hardware
virtualization even though technically possible also
in case of programming language virtualization.
• Storage virtualization constitutes an interesting
opportunity given by virtualization technologies,
often complimentary to the execution virtualization.
• Finally, Cloud computing revamps the concept of
desktop virtualization, initially introduced in the
mainframe era. Fig- . Live Migration and Server Consolidation

36
Pros and Cons of Virtualization
IBM Power Systems

• Advantages of Virtualization
– Managed execution and isolation are perhaps the most important advantages of
virtualization.
– these two characteristics allow building secure and controllable computing
environments. A virtual execution environment can be configured as a sandbox,
thus preventing any harmful operation to cross the borders of the virtual host.
– Moreover, allocation of resources and their partitioning among different guests is
simplified, being the virtual host controlled by a program.
– Portability is another advantage of virtualization, especially for execution
virtualization techniques.
– Portability and self-containment also contribute to reduce the costs for
maintenance, since the number of hosts is expected to be lower than the number
of virtual machine instances.
– Finally, by means of virtualization it is possible to achieve a more efficient use of
resources. Multiple systems can securely coexist and share the resources of the
underlying host, without interfering with each other.

37
Pros and Cons of Virtualization
IBM Power Systems

• Disadvantages of Virtualization
– Performance Degradation
• Performance is definitely one of the major concerns when using virtualization technology.
Since virtualization interposes an abstraction layer between the guest and the host,
increased latencies and delays can be experienced by the guest.
• Also, when hardware virtualization is realized through a program that is installed or
executed on top of the host operating systems, a major source of performance
degradation is represented by the fact that the virtual machine manager is executed and
scheduled together with other applications, thus sharing with them the resources of the
host.
– Inefficiency and Degraded User Experience
• Virtualization can sometime led to an inefficient use of the host. In particular, some of the
specific features of the host cannot be exposed by the abstraction layer and then become
not accessible.
– Security Holes and New Threats
• Virtualization opens the door to a new and unexpected form of phishing. The capability of
emulating a host in a complete transparent manner, has led the way to malicious programs
which are designed to extract from the guest sensitive information.

38
Review questions
IBM Power Systems

• What is virtualization and what are its benefits?


• What are characteristics of virtualized environments?
• Discuss classification or taxonomy of virtualization at different levels.
• Discuss machine reference model of execution virtualization.
• What are hardware virtualization techniques?
• List and discuss different types of virtualization.
• What are benefits of virtualization in the context of Cloud computing?
• What are disadvantages or cons of virtualization?

39
Conclusions
IBM Power Systems

• Discussed Characteristics of Virtualized environments


• Taxonomy of Virtualization Techniques
– Execution Virtualization
– Other Types of Virtualization
• Virtualization and cloud computing
• Pros and Cons of Virtualization

40
References
IBM Power Systems

• Rajkumar Buyya, Christian Vecchiola, and Thamarai Selvi,


Mastering Cloud Computing, McGraw Hill, ISBN-13: 978-1-25
-902995-0, New Delhi, India, 2013.
– Chapter 3- Virtualization
• Section 3.1 to 3.5
–This chapter slides text is compiled by:
• Dr. Sounak Paul, BIT Mesra, Deoghar, India

41

You might also like