0% found this document useful (0 votes)
10 views85 pages

Module 2

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 85

Cloud Computing

Dr. Jeevitha B K

Associate Professor
Department of Computer Science and Engineering
Vivekananda College of Engineering and Technology
Puttur

October 6, 2024

Dr. Jeevitha B K (VCET) CC October 6, 2024 1 / 83


Virtualization

Introduction, Characteristics of Virtualized Environments, Environments


Taxonomy of Virtualization Techniques, Execution Virtualization, Other
Types of Virtualization, Virtualization and Cloud Computing, Pros and
Cons of Virtualization, Technology Examples

Textbook 1: Chapter 3: 3.1 to 3.6

Dr. Jeevitha B K (VCET) CC October 6, 2024 2 / 83


Introduction I

Virtualization technology is one of the fundamental components of


cloud computing, especially in regard to infrastructure-based services.

It allows the creation of a secure, customizable, and isolated


execution environment for running applications, even if they are
untrusted, without affecting other users’ applications.

Virtualization provides a great opportunity to build elastically scalable


systems that can provision additional capability with minimum costs.

Virtualization is a technology that lets you create useful IT services


using resources that are traditionally bound to hardware.

Dr. Jeevitha B K (VCET) CC October 6, 2024 3 / 83


Introduction II

Virtualization meant to provide an abstract environment - whether


virtual hardware or OS-to-run application.

It plays a fundamental role in efficiently delivering


Infrastructure-as-a-Serve (IaaS) solutions for cloud computing.

Virtualization technologies have gained renewed interested recently


due to the confluence of serveral phenomena.
Increased performace and computing capacity
Underutilized hardware and software resources.
Lack of space
Greening initiatives
Rise of administrative costs

Dr. Jeevitha B K (VCET) CC October 6, 2024 4 / 83


Characteristics of Virtualized Environments I

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


1 Guest: represents the system component that interacts with
virtulaization layer rather than with a host.
2 Host: represents the original environment where the guest is
supposed to be managed.
3 Virtualization: it is responsible for recreating the same or a different
environment where the guest will operate.

Dr. Jeevitha B K (VCET) CC October 6, 2024 5 / 83


Characteristics of Virtualized Environments II

Dr. Jeevitha B K (VCET) CC October 6, 2024 6 / 83


Characteristics of Virtualized Environments III

The characteristics of virtualized solutions are


1 Increased Security
2 Managed Execution
3 Portability

Dr. Jeevitha B K (VCET) CC October 6, 2024 7 / 83


Characteristics - Increased Security I

The virtual machine represents an emulated environment in which the


guest is executed.

All the operations of the guest are generally performed aganist the virtual
machine, which then translates and applies them to 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.

Resoruces exposed by the host can then be hidden or simply hidden


protected from the guest.

Increased security is a requirement when dealing with untrusted code.

Dr. Jeevitha B K (VCET) CC October 6, 2024 8 / 83


Characteristics - Increased Security II

Ex: applets downloaded from the Internet run in a sandboxed versions of


the JVM - provides extensive security policies for customizing the
execution environment.

Hardware virtualization solutions such as VMware Desktop, VirtualBox and


Parallels provide the ability to create a virtual computer with customized
virtual hardware on top of which a new operating system can be installed.

Dr. Jeevitha B K (VCET) CC October 6, 2024 9 / 83


Characteristics - Managed Execution I

Virtualization of the execution environment doesnot only allow increased


security but a wider range of features can be implemented.
Features: sharing, aggregation, emulation and isolation are the most
relevant

Dr. Jeevitha B K (VCET) CC October 6, 2024 10 / 83


Characteristics - Managed Execution II

Sharing: Virtualization allows the creation of a separate computing


environment within the same host.
- sharing is an important feature in virtualized data centers - used
to reduce the number of active servers and limit power consumption.

Aggregation: 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.
Ex: cluster management software - combines the physical resources of
a homogeneous group of machines and represents them as a single
resource.

Dr. Jeevitha B K (VCET) CC October 6, 2024 11 / 83


Characteristics - Managed Execution III

Emulation: Guests are executed within an environment that is


controlled by the virtualization layer, which ultimately is a program.
- this allow for controlling and tuning the environment that is
exposed to guests.
this feature becomes very useful for testing purposes, where a specific
guest has to be validated aganist different platforms or architectures.
hardware virtualization solutions are able to provide virtual hardware
and emulate a particular kind of device such as Small Computer
System Interface (SCSI) device for I/O.

Isolation: The guest program performs its activity by interacting with


an abstraction layer, which provides access to the underling resoruces.

Virtualization allows providing guests — whether they are operating


systems, applications, or other entities — with a completely separate
environment, in which they are executed.

Dr. Jeevitha B K (VCET) CC October 6, 2024 12 / 83


Characteristics - Managed Execution IV

The guest program performs its activity by interacting with an


abstraction layer, which provides access to the underlying resources.
Benefits: it allows multiple guests to run on the same host without
interfering with eachother.
- 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.

Dr. Jeevitha B K (VCET) CC October 6, 2024 13 / 83


Characteristics - Portability

The concept of portability applies in different ways according to the


specific type of virtualization.
In hardware virtualization solution, the guest is packed into a virtual
image that can be safely moved and executed on top of virtual
machines.
In programming level virtulization, the binary code can be run
without any recomposition on any implementation of the
corresponding virtual machine.
- This makes the application development cycle more flexible and
application deployment very straight forward: One version of the
application, is able to run on different platforms with no changes.

Finally, Portability allows having your own system always with you and
ready to use as long as the required virtual machine manager is available.

Dr. Jeevitha B K (VCET) CC October 6, 2024 14 / 83


Taxonomy of Virtualization Techniques

Dr. Jeevitha B K (VCET) CC October 6, 2024 15 / 83


Taxonomy of Virtualization Techniques I

Virtualization covers a wide range of emulation techniques that are applied


to different areas of computing.

The first classification discriminates aganist the service or entity that is


being emulated.

Virtualization is mainly used to emulate execution environments, storage,


and networks.

- These execution virtualization techniques into two major categories -


by considering the type of host they require.
1 Process-level

techniques are implemented on top of an existing Operaring system,


whcih has full control of the hardware.

Dr. Jeevitha B K (VCET) CC October 6, 2024 16 / 83


Taxonomy of Virtualization Techniques II

2 System-level
techniques are implemented directly on hardware and do not require or
require a minimum support from an existing Operating system.

Within these two categories, we can list different techniques which offer to
the guest a different type of virtual computation environment: bare
hardware, operating system, low-level programming langauage, and
application libraries.

Dr. Jeevitha B K (VCET) CC October 6, 2024 17 / 83


Execution Virtualization

Execution virtualization includes all techniques that aim to emulate an


execution environment that is separate from the one hosting the
virtualization layer.

Execution virtualization can be implemented directly on top of the


hardware, by the operating system, an application, or libraies dynamically
or statically linked aganist an application image.

The techniques concentrate their interest on providing support for the


execution of programs.

Dr. Jeevitha B K (VCET) CC October 6, 2024 18 / 83


Machine Reference Model I

Virtualizing an execution environment at different levels of the computing


stack requires a reference model.
- model that defines the interfaces between the levels of abstractions,
which hide implementation details.

Dr. Jeevitha B K (VCET) CC October 6, 2024 19 / 83


Machine Reference Model II

At the bottom layer, the model for the hardware is expresessed in


terms of the Instruction Set Architecture (ISA).
defines the instruction set for the processors, registers, memory, and
interrupts management.
ISA is the interface between hardware and software
It is important for the OS developer and developers of applications that
directly manage the underlying hardware.

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, aligment and call
conventions and defines a format for executable programs.

The highest level of abstraction is represented by the Application


Programming Interface (API).

Dr. Jeevitha B K (VCET) CC October 6, 2024 20 / 83


Machine Reference Model III

it acts as an interface applications to libraries and/or the underlying


operating system.
The high-level abstraction is converted into machine-level instructions
to perform the actual operations supported by the processor.

The machine-level resources such as processor registers and main memory


capacities are used to perform the operation in the hardware level of CPU

This layered approach simplifies the development and implementation of


computing systems.

Dr. Jeevitha B K (VCET) CC October 6, 2024 21 / 83


Privileged and non privileged instructions

The instruction set by the hardware has been divided into different security
classes, which define who can operate with them.

The distinction can be made between privileged and non-privileged


instructions.
1 Privileged instructions

Instructions that can be used without interfering with other tasks


because do not access shared resources
Ex: all floating, fixed point and arithmetic instructions

2 Non privileged instructions


executed under specific restrictions
used for sensitive operation which modify the privileged state.
Ex: I/O operations: control sensitive instructions alter the state of
CPU registers

Dr. Jeevitha B K (VCET) CC October 6, 2024 22 / 83


Ring-based Security I

The implementation features a hierarchy of privileges in the form of


ring-based security: Ring ), Ring 1, Ring 2 and Ring 3.

Dr. Jeevitha B K (VCET) CC October 6, 2024 23 / 83


Ring-based Security II

Recent system support only two levels, with Ring 0 for supervisor mode
and Ring 3 for user mode.

All the current systems support atleast two different execution modes
1 Supervisor Mode

first mode
an execution mode where all the isntruction can be executed without
any restrictions.
It is also called as master mode/kernel mode
It is used by the operating system to perform sensitive operations on
hardware-level resources.

2 User Mode
If a code running in user mode invokes the privileged instructions,
hardware interrupts occur and trap the potentially execution of the
instruction.

Dr. Jeevitha B K (VCET) CC October 6, 2024 24 / 83


Hardware-level Virtualization I
It 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.

Dr. Jeevitha B K (VCET) CC October 6, 2024 25 / 83


Hardware-level Virtualization II

In this model,
the guest is represented by the operating system,
Host by the physical computer hardware,
Virtual machine by its emulation,
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.


- It provides ISA to virtual machines which is the representation of the
hardware interface of a system.

Dr. Jeevitha B K (VCET) CC October 6, 2024 26 / 83


Hypervisors

Fundamental element of the hardware virtualization is the Hypervisor or


Virtual Machine Manager (VMM).

It recreates a hardware environment, where guest operating systems are


installed.

There are two types of hypervisors:


1. Type I – Native Virtual machine
2. Type II – Hosted Virtual Machine

Dr. Jeevitha B K (VCET) CC October 6, 2024 27 / 83


Type I Hypervisor

Runs directly on top of the


hardware.
They allow the management of
guest operating systems.
Interact directly with ISA
interface exposed by the
hardware.
Emulate this interface in order
to allow the management of
guest OS.
It is also called as Native
Virtual Machine since it runs
natively on hardware.

Dr. Jeevitha B K (VCET) CC October 6, 2024 28 / 83


Type II Hypervisor

Type II – Hosted VM
hypervisors require the support
of an operating system to
provide virtualization services.
It emulate the ISA of virtual
hardware for guest operating
systems.
This type of hypervisor is also
called a Hosted Virtual
Machine since it is hosted
within an operating system.

Dr. Jeevitha B K (VCET) CC October 6, 2024 29 / 83


Internal organization of VMM I
Three main modules coordinate their activity in order to emulate the
underlying hardware.
Dispatcher: entry point and
reroutes the instructions issued
by VM instance to other
modules.
Allocator: decides the
resources to be provided to
VM.
Interpreter: consists of
interpreter modules, when VM
executes privileged instruction:
a trap is triggered and
corresponding routine is
executed.

Dr. Jeevitha B K (VCET) CC October 6, 2024 30 / 83


Internal organization of VMM II

According to Goldberg and Popek, there are three properties have to be


satisfied by a VMM to efficiently support virtualization.

Equivalence: a guest running under the control of a VMM should


exhibit the same behavior as when executed directly on the physical
host.
Resource control: VMM should be in complete control of virtualized
resources.
Efficiency: A statistically dominant fraction of the machine
instructions should be executed without intervention from the VMM.

Dr. Jeevitha B K (VCET) CC October 6, 2024 31 / 83


Theorems of VMM I

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.

THEOREM 3.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.
This theorem establishes that all the instructions that change the
configuration of the system resources should trap from the user mode
and be executed under the control of virtual machine manager.
The theorem always guarantees the resource control property when
the hypervisor is in the most privileged mode (Ring 0).
The non-privikeged instructions must be executed without the
intervention of hypervisor.
Dr. Jeevitha B K (VCET) CC October 6, 2024 32 / 83
Theorems of VMM II

The equivalence property also holds good since the output of the
code is the same in both cases because the code is not changed.

THEOREM 3.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.
Recursive virtualization is the ability to run a virtual machine
manager on top of another virtual machine manager.
This allows nesting hypervisors as long as the capacity of the
underlying resources can accommodate that.
Virtualizable hardware is a pre-requisite to recursive virtualization.

Dr. Jeevitha B K (VCET) CC October 6, 2024 33 / 83


Theorems of VMM III

THEOREM 3.3
A hybrid VMM may be constructed for any conventional third-generation
machine in which the set of user-sensitive instructions is a subset of the
set of privileged instructions.
hybrid virtual machine(HVM), which is less efficient than the virtual
machine system.
more instructions are interpreted rather than being executed directly.
All instructions in virtual supervisor mode are interpreted.
Whenever there is an attempt to execute a behavior-sensitive or
control-sensitive instruction, HVM controls the execution directly or
gains the control via a trap.
All sensitive instructions are caught by HVM that are simulated.

Dr. Jeevitha B K (VCET) CC October 6, 2024 34 / 83


Hardware-level Virtualization I

Different kinds of hardware virtualization


1 Hardware assisted virtualization
2 Full virtualization
3 Para virtualization
4 Partial virtualization

Hardware-assisted Virtualization
Hardware provides architectural support to run guest OS.
Originally introduced in IBM system/370
Examples of hardware-assisted virtualization are the extensions to the
x86-64 bit architecture introducted with Intel VT (formerly known as
Vanderpool)and AMD V (formely known as Pacifica).

Dr. Jeevitha B K (VCET) CC October 6, 2024 35 / 83


Hardware-level Virtualization II

Before the introduction of hardware-assisted virtualization, software


emulation of x86 hardware was costly from the performance point of
view.
- Reason: the x86 architecture didnot meet the formal requirements
introduced by Popek and Goldberg.
Products such as VMware Virtual Platform, introduced in 1999 by
VMware.
After 2006, Intel and AMD introduced processor extensions and a
wide range of virtualization solution: Kernal-based Virtual Machine
(KVM), VirtualBox, Xen, VMware, Hyper-V, Sun xVM, Parallels and
others.

Dr. Jeevitha B K (VCET) CC October 6, 2024 36 / 83


Hardware-level Virtualization III

Full virtualization
Refers to the ability to run a program, most likely an operating
system, directly on top of a virtual machine and without any
modification, as though it were run on the raw hardware.
Virtual machine managers are required to provide a complete
emulation of the entire underlying hardware.
Advantage: complete isolation, which leads to enhanced security.
Challenge: interception of privileged instructions such as I/O
instructions, since they change the state of the resources exposed by
the host.
Solution: to achieve full virtualization is to provide a virtual
environment for all the instructions.

Dr. Jeevitha B K (VCET) CC October 6, 2024 37 / 83


Hardware-level Virtualization IV

A successful and efficient implementation of full virtualization is


obtained with a combination of hardware and software by not alowing
harmful instructions to be executed directly on the host.

Para virtualization
It is not a transparent virtualization solution that allows implementing
thin virtual machine manager.
Paravirtualization techniques expose a software interface
(allow software to communicate with a hardware device )to the virtual
machine that is slightly modified from the host and, as a
consequence, guests need to be modified.
Aim - is to provide the capability to demand the execution of
performance-critical operations directly on the host.

Dr. Jeevitha B K (VCET) CC October 6, 2024 38 / 83


Hardware-level Virtualization V

This allows a simpler implementation of virtual machine managers


that have to simply transfer the execution of these operations, which
were hard to virtualize, directly to the host.
The term paravirtualization was introduced in the literature of Denali
project at the University of Washington.
Ex: Xen Hypervisors – provides virtualization solutions for linux-based
operating system.
Xen provides the solution for running Windows-based operating
systems on x86 architectures- by using adhoc device drivers that
remap the execution of critical instructions to the paravirtualization
APIs exposed by the hypervisor.
Other solutions using paravirtualization include VMWare, Parallels,
and some solutions for embedded and real-time environments such as
TRANGO, Wind River, and XtratuM.

Dr. Jeevitha B K (VCET) CC October 6, 2024 39 / 83


Hardware-level Virtualization VI

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.
Example: address space virtualization used in time-sharing systems;
this allows multiple applications and users to run concurrently in a
separate memory space, but they still share the same hardware
resources (disk, processor, and network).
Partial virtualization has been an important milestone for achieving
full virtualization and it was implemented on the experimental IBM
M44/44X.

Dr. Jeevitha B K (VCET) CC October 6, 2024 40 / 83


Operating-System-Level Virtualization

Operating system-level virtualization offers the opportunity to create


different and separated execution environments for applications that
are managed concurrently.
compared to 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.
This technique is an efficient solution for server consolidation
scenarios in which multiple applications servers share the same
technology: Operating systems, application server framework and
other components.
Ex: FreeBSD Jails, IBM Logical Partition (LPAR), Solaris Zones and
Containers.
Dr. Jeevitha B K (VCET) CC October 6, 2024 41 / 83
Programming-Language-level Virtualization I

It is mostly used to achieve 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.
The virtualization has a long history in computer science and
originally implemented in 1966 by Basic Combined Programming
Language (BCPL)
- BCPL is a language for writing compilers and one of the ancestors
of C programming langauage.
Compilers implemented and used this technology to produce a binary
format representing the machine code for an abstract architecture.
Virtual machine programming language become popular again with
the introduction of the Java Platform in 1996 by SUN.

Dr. Jeevitha B K (VCET) CC October 6, 2024 42 / 83


Programming-Language-level Virtualization II

The ability of supporting multiple programming language has been


one of the key elements of the Common Language Infrastructure
(CLI) .
Currently the Java Platform and the .NET framework represent the
most popular technologies for enterprise application development.
Main advantage - is the ability to provide a uniform execution
environment across different platforms.
Programs complied into byte code can be executed on any operating
system.
Security is another advantage point of managed programming
languages; by filtering the I/O operations, the process virtual machine
can easily supoort sandboxing of applications.
It is also called as Process Virtual Machines.

Dr. Jeevitha B K (VCET) CC October 6, 2024 43 / 83


Programming-Language-level Virtualization III

These virtual machines consists of simplification of the hardware


instruction set and provide some high-level instructions that map
some of the features of the languages compiled for them.
At runtime, the byte code can be either interpreted or compiled
against the hardware instruction set.

Dr. Jeevitha B K (VCET) CC October 6, 2024 44 / 83


Application-Level Virtualization I

Application-level virtualization is a technique allowing applications to be


run in runtime environments that donot natively support all the features
required by such applications.

Applications are not installed in the expected runtime environment but are
run as though they were.

The techniques are 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 incharge of executing the
application.

Dr. Jeevitha B K (VCET) CC October 6, 2024 45 / 83


Application-Level Virtualization II

Emulation can also be used to execute program binaries compiled for


different hardware architectures. One of the following strategies can be
implemented.
1 Interpretation: In this technique, every source instruction is
interpreted by an 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.

2 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 overtime it is
subject to better performance, since previously translated instruction
blocks are directly executed.

Dr. Jeevitha B K (VCET) CC October 6, 2024 46 / 83


Other types of Virtualization

Other than execution virtualization, there exist other types of virtualization


that mainly cover storage, networking and client-server interaction.

1 Storage level virtualization

2 Network virtualization

3 Desktop virtualization

4 Application server virtualization

Dr. Jeevitha B K (VCET) CC October 6, 2024 47 / 83


Storage Virtualization

Storage virtualization is a system administration practice that allows


decoupling the physical organization of the hardware from its logical
representation.

Users donot have to be worried about the specific location of their data,
which can be identified using a logical path.

Storage virtualization allows a wide range of storage facilities and


represent them under a single logical filesystem.

The most popular storage virtualization is network-based virtualization by


means of Storage Area Networks (SANs).
- SANs, a network-accessible device through a large bandwidth
connection to provide storage facilities.

Dr. Jeevitha B K (VCET) CC October 6, 2024 48 / 83


Network Virtualization

Network virtualization combines hardware appliances and specific software


for the creation and management of a virtual network.

Network virtualization can be classifed into two different physical networks


External Netowrk Virtualization
combines different physical networks into a single logical network.
the result of external network virtualization is a Virutal LAN (VLAN)
- VLAN is an aggregation of hosts that communicate with each
other as if they were located under the same broadcasting domain.
Internal Netowrk Virtualization
It is applied together with hardware and operating system level
virtualization in which the guests obtain a virtual network interface to
communicate.

Dr. Jeevitha B K (VCET) CC October 6, 2024 49 / 83


Desktop Virtualization
Desktop virtualization abstracts the desktop environment available on a
personal computer in order to provide access to it using a client/server
approach.

Desktop virtualization provides the same outcome of hardware


virtualization but serves a different purpose.

Desktop virtualization addresses the problem of making the same desktop


environment accessible from everywhere.

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 that provides a high-availability infrastructure and ensures the
accessibility and persistence of the data.

Dr. Jeevitha B K (VCET) CC October 6, 2024 50 / 83


Application-Server Virtualization

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.

It also provides a high-availability infrastructure for the services hosted in


the application server.

This is the particular form of virtualization and serves the same purpose of
storage virtualization.

Provides a better quality of service rather than emulating a different


environment.

Dr. Jeevitha B K (VCET) CC October 6, 2024 51 / 83


Virtualization and Cloud Computing

Virtualization plays an important role in cloud computing since it


allows for the appropriate degree of customization
- security, isolation, and manageability that are fundamental for
delivering IT services on demand.
Virtualization technologies are primarily used to offer configurable
computing environments and storage.
Hardware and programming language virtualization are techniques
adopted in cloud computing system.
1 Hardware virtualization is an enabling factor for solutions in the IaaS
market segment.
2 Programming language virtualization is a technology leveraged in
PaaS offering.
Virtualization gives the opportunity to design more efficient
computing systems by means of consolidation, which is performed
transparently to cloud computing service users.

Dr. Jeevitha B K (VCET) CC October 6, 2024 52 / 83


Virtualization and Cloud Computing I

Dr. Jeevitha B K (VCET) CC October 6, 2024 53 / 83


Virtualization and Cloud Computing II

If the available resources are underutilized, virtualization allows reducing


the number of active resources by aggregating virtual machines over a
small number of resources that become full utilized.
- this practice is known as server consolidation
while the movement of virtual machine instances is called Virtual
machine migration.

The second technique is known as Live Migration - complex but more


efficient as there is no disruption of the activity of the virtual machine
instance.

Server consolidation and virtual machine migration are used in hardware


virtualization.

Dr. Jeevitha B K (VCET) CC October 6, 2024 54 / 83


Pros and Cons of Virtualization I

Virtualization has now become extremely popular and widely used


especially in cloud computing.

The primary reason for its wide success is the elimination of technology
barriers that prevented virtualization from being an effective and viable
solution.

Advantages
1 Managed execution and isolation:

Techniques support the creation of virtualized execution environment.


allows building secure and controllable computing environments
2 Fine-tuning of resources:
very important in a server consolidation scenario
a requirement for effective quality of service.
3 Portability:

Dr. Jeevitha B K (VCET) CC October 6, 2024 55 / 83


Pros and Cons of Virtualization II
reducing the costs of maintenance, since the number of hosts is
expected to be lower than the number of virtual machine instances.
4 Least damage:
Since the guest program is executed in a virtual environment, there is
very limited opportunity for the guest program to damage the
underlying hardware.
5 More efficient use of resources:
Multiple system can securely co-exist and share the resources of host
without interfering with each other.

Disadvantages
1 Performance degradation: due to VMM as intermediate

Abstraction layer between the guest and host leads to latency.


The reason for performance degradation can be traced back to the
overhead introduction by the
Maintaining the status of virtual processors
Dr. Jeevitha B K (VCET) CC October 6, 2024 56 / 83
Pros and Cons of Virtualization III

Support of privileged instructions


Support of paging within VM
Console functions
2 Inefficiency and degraded user experience:
specific features of the host can not be exposed by the abstraction
layer and then become in accessible.
hardware virtualization - device drivers
Programming-level virtual machines, some of the features of the OS
may become inaccessible unless specific libraries are used.
3 Security holes and new threats
- Virtualization opens the door to a new and unexpected form of
phishing.
phishing: malicious practice aimed at capturing sensitive information
new threats commonly occurs on the web, where the user is redirected
to a malicious website, that is a replica of original.
ex: BluePill and SubVirt

Dr. Jeevitha B K (VCET) CC October 6, 2024 57 / 83


Pros and Cons of Virtualization IV

BluPill, malware targetting the AMD processor family, moves the


execution of the installed OS within a virtual machine.
SubVirt, developed as a prototype by MicroSoft through collaboration
with Michigan University.
- infects the guest OS and when the virtual machine is rebooted, it
gains control of the host.

Dr. Jeevitha B K (VCET) CC October 6, 2024 58 / 83


Technology Examples

There is a wide range of virtualization technologies available especially for


virtualizing computer environment.

1 Xen: Para Virtualization

2 VMware: Full Virtualization

3 Microsoft Hyper-V: Server Virtualization

Dr. Jeevitha B K (VCET) CC October 6, 2024 59 / 83


Xen: Para Virtualization I

Xen is an open-source initiative implementing a virtualization


platform based on paravirtualization.
Developed by a group of researchers at university of Cambridge-UK.
Xen based technology designed for either desktop or server
virtualization.
Recently, Xen has been advanced to support full virtualization using
hardware-assisted virtualization.
Xen is the most popular implementation of Paravirtualization, allows
high performance execution of guest OS.
- this is possible by eliminating the performace loss while executing
instructions requiring special management.

Dr. Jeevitha B K (VCET) CC October 6, 2024 60 / 83


Xen: Para Virtualization II

Dr. Jeevitha B K (VCET) CC October 6, 2024 61 / 83


Xen: Para Virtualization III

This figure shows the architecture of Xen and its mapping on to x86
privilege model – machines and servers.
Xen-based system is managed by the Xen hypervisor, which runs in
the highest privileged mode and controls the access of guest OS to
the network.
Guest OS are executed within domain which represents virtual
machine instances. Specific control software, which has privileged
access to the host and controls all the other guest operating systems
is executed in a special domain called Domain 0.
Many of the x86 implementations support four different security levels
called rings.
Ring 0 - Kernel code - represents the level with highest privileges.
Ring 3 - User application and non-privileged OS code - represents the
level with lowest ones.
Domain 0 and Domain Uruns the guest OS in Ring 1.

Dr. Jeevitha B K (VCET) CC October 6, 2024 62 / 83


VMware: Full Virtualization I

VMware’s technology is based on the concept of full virtualization,


where the hardware is replicated and made available to the guest OS.
implements either in Desktop environment - Type II hypervisor or
server environment - Type I hypervisor.
2 techniques used : direct execution (non sensitive instructions) and
binary translation (sensitive instructions)

Dr. Jeevitha B K (VCET) CC October 6, 2024 63 / 83


VMware: Full Virtualization II

Dr. Jeevitha B K (VCET) CC October 6, 2024 64 / 83


VMware: Full Virtualization III

VMware is well-known for the capability of virtualizing x86


architecture, which runs unmodified on-top of their hypervisors.
x86 architecture design doesnot satisfy the first theorem of
virtualization,
- the set of sensitive instructions is not a subset of the privileged
instructions.

advantages: - Guests can run unmodified in virtualized environment,


which is a crucial feature for operating system whose source code is
not available.

Dr. Jeevitha B K (VCET) CC October 6, 2024 65 / 83


VMware: Full Virtualization IV

disadvantages: Binary translation is a more portable solution for full


virtualization.
- Translating instructions at run time introduces an additional
overhead.

Even though such disadvantages exists, binary translation is only applied


to a subset of instructions set, while other are managed through direct
execution on the system.

Dr. Jeevitha B K (VCET) CC October 6, 2024 66 / 83


Virtualization solutions I

VMware offers a collection of virtualization solutions covering the entire


range of the market, from desktop computing to enterprise computing and
infrastructure virtualization.
1 End-user (desktop) environment.
2 Server virtualization.

End-user environment
VMware supports virtualization of operating system environments and
single applications on end-user computers.
allows installing a different operating systems and applications in a
completely isolated environment from the hosting operating system.

Dr. Jeevitha B K (VCET) CC October 6, 2024 67 / 83


Virtualization solutions II

Specific VMware software


— VMware Workstation, for Windows operating systems, and
— VMware Fusion, for Mac OS X environments is installed in the
host operating system to create virtual machines and manage their
execution.
Besides the creation of an isolated computing environment, the two
products allow a guest operating system to leverage the resources of
the host machine.
Figure shows an overview of the architecture of these systems.
The virtualization environment is created by an application installed
in guest operating systems, which provides those operating systems
with full hardware virtualization of the underlying hardware.
This is done by installing a specific driver in the host operating
system that provides two main services:
It deploys a virtual machine manager that can run in privileged mode.

Dr. Jeevitha B K (VCET) CC October 6, 2024 68 / 83


Virtualization solutions III

It provides hooks for the VMware application to process specific I/O


requests eventually by relaying such requests to the host operating
system via system calls.

Dr. Jeevitha B K (VCET) CC October 6, 2024 69 / 83


Virtualization solutions IV

Dr. Jeevitha B K (VCET) CC October 6, 2024 70 / 83


Virtualization solutions V

Server Virtualization
Server virtualization was provided by VMWare GSX server, which
replicates the approach used for end-user computers and introduces
remote management and scripting capabilities.

The architecture involves


Serverd - daemon process controls and manages VMware application
processes.
VMware Driver - these applications are connected by means of
VMware driver instaled on the host Operating system.
VM instances - managed by the VMM.
User request for virtual machine management and provisioning are
routed from the web server through VMM by means of servers.

Dr. Jeevitha B K (VCET) CC October 6, 2024 71 / 83


Virtualization solutions VI

VMWare ESXi Server

Dr. Jeevitha B K (VCET) CC October 6, 2024 72 / 83


Virtualization solutions VII

Vmware ESX server and its advanced version Vmware ESXi embeds a
modified version of Linux OS which provides access through a service
console to hypervisor.
ESXi implements a very thin OS layer and replace the service console
with interfaces and services for remote management.
VMKernel which is a thin POSIX complaint OS that provide the
minimal functionality for processes and thread management, file
system, I/O stacks and resource scheduling.
This kernel is accessible through specific APIs.
- these APIs are utilized by all the agents that provide supporting
activities for the management of virtual machines.
Remote management for ESXi server is provided by the CM Broker
- CM broker is a software agent that acts as a gateway to the kernel
for clients by usign Common Information Model (CIM) protocol.

Dr. Jeevitha B K (VCET) CC October 6, 2024 73 / 83


Virtualization solutions VIII

The ESXi installation can also be managed locally by a Direct Client


User Interface (DCUI)
- this DUCI provides a BIOS like interface for the management for
local users.

Dr. Jeevitha B K (VCET) CC October 6, 2024 74 / 83


Virtualization solutions IX

Infrastructure Virtualization and Cloud Computing Solutions

Dr. Jeevitha B K (VCET) CC October 6, 2024 75 / 83


Virtualization solutions X

VMware provides a set of products covering the entire stack of cloud


computing, from infrastructure management to Software-as-a-Service
solutions hosted in the cloud.
ESX and ESXi constitute the building blocks of the solution for
virtual infrastructure management:
VMware Sphere manages the virtualized servers.
The management of the infrastructure is operated by VMware
vCenter
vCenter provides centralized administration and management of
vSphere installations in a data center environment.
vCloud, which allows service providers to make available to end users
virtual computing environments on-demand on a pay-per-use basis.
vFabric is a collection of components for application monitoring,
scalable data management, and scalable execution and provisioning of
Java Web applications.

Dr. Jeevitha B K (VCET) CC October 6, 2024 76 / 83


Virtualization solutions XI
Finally, at the top of the cloud computing stack, VMware provides
Zimbra, a solution for office automation, messaging, and collaboration
that is completely hosted in the cloud and accessible from anywhere.

Dr. Jeevitha B K (VCET) CC October 6, 2024 77 / 83


Microsoft Hyper-V I

Hyper-V is an infrastructure virtualization solution developed by Microsoft


for server virtualization.

Hyper-V supports multiple and concurrent execution of guest operating


systems by means of partitions.
- A partition is a completely isolated environment in which an operating
system is installed and run.

Hyper-V takes control of the hardware, and the host operating system
becomes a virtual machine instance with special privileges, called parent
partition

Parent Partition
has direct access to hardware,
runs the virtualization stack,

Dr. Jeevitha B K (VCET) CC October 6, 2024 78 / 83


Microsoft Hyper-V II

hosts all drivers required to configure guest OS, and


creates child partitions.

Child Partition
Used to host guest OS
Do not have access to h/w
Interaction with h/w is controlled by parent partition or hypervisor
itself.

Dr. Jeevitha B K (VCET) CC October 6, 2024 79 / 83


Microsoft Hyper-V III

Dr. Jeevitha B K (VCET) CC October 6, 2024 80 / 83


Microsoft Hyper-V IV

Hypervisor:The hypervisor is the component that directly manages the


underlying hardware (processors and memory). It is logically defined by the
following components:
Hypercalls interface: entry point for the execution of sensitive
instructions. Parent uses this to create child partition.
Memory service routines (MSRs): control the memory and its
access from partitions.
Advanced programmable interrupt controller (APIC): interrupt
controller which manages the signal coming from hardware when
some event occurs.
Scheduler: schedule the virtual processors to run on physical
processors.
Address manager: used to manage virtual network addresses.

Dr. Jeevitha B K (VCET) CC October 6, 2024 81 / 83


Microsoft Hyper-V V

Partition manager: partition creation, finalization, destruction,


enumeration, and configuration.

Enlightened I/O: to perform I/O operations


VMBus - communication channel defines the protocol between
partitions
VSP (Virtual Service Provider) – kernel-level drivers that are
deployed in the parent partition and provide access to the
corresponding hardware device.
VSC (Virtual Service Client) – represents virtual device drivers
(synthetic drivers) seen by the guest OS in the children partitions.

Parent Partition

Dr. Jeevitha B K (VCET) CC October 6, 2024 82 / 83


Microsoft Hyper-V VI

The parent partition executes the host operating system and


implements the virtualization stack that complements the activity of
the hypervisor in running guest OS.
Manages the creation, execution and destruction of child partitions.
Virtualization Infrastructure Driver (VID) – controls the access to
the hypervisor and allows the management of virtual processors and
memory.
Virtual Machine Worker Process (VMWP) is instantiated in the
parent partition, which manages the childrens partition by interacting
with the hypervisor through the VID.

Child Partition
Children partitions are used to execute guest OS.

Dr. Jeevitha B K (VCET) CC October 6, 2024 83 / 83


Microsoft Hyper-V VII

These are isolated environments, which allows a secure and controlled


execution of guests.
There are two types of children partitions depending on whether the
guest operating system is supported by Hyper-V or not.
These are called Enlightened and Unenlightened partitions
respectively.
The first one can benefit from Enlightened I/O while the other ones
are executed by leveraging hardware emulation from the hypervisor.

Dr. Jeevitha B K (VCET) CC October 6, 2024 84 / 83


End of Module 2

Dr. Jeevitha B K (VCET) CC October 6, 2024 85 / 83

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