UNIT - II Cloud Computing
UNIT - II Cloud Computing
Publish – Subscribe
Model
Publish – Subscribe Model
• Publish - Subscribe is an
asynchronous messaging service that
decouples services that produce
events from services that process
events.
3.Server Virtualization.
4.Storage Virtualization.
Hardware Virtualization
• When the virtual machine software or virtual machine manager (VMM) is
directly installed on the hardware system is known as hardware
virtualization.
• Usage:
• Hardware virtualization is mainly done for the server platforms, because
controlling virtual machines is much easier than controlling a physical server.
Operating System Virtualization
• When the virtual machine software or virtual machine
manager (VMM) is installed on the Host operating system
instead of directly on the hardware system is known as
operating system virtualization.
• Usage:
• Operating System Virtualization is mainly used for testing
the applications on different platforms of OS.
Server Virtualization
• When the virtual machine software or virtual machine
manager (VMM) is directly installed on the Server system
is known as server virtualization.
• Usage:
• Server virtualization is done because a single physical
server can be divided into multiple servers on the demand
basis and for balancing the load.
Storage Virtualization
• Storage virtualization is the process of grouping the physical
storage from multiple network storage devices so that it looks
like a single storage device.
• Usage:
• Virtualized
• API
• Pay-as-per-use
• Scalability
• Virtualization can exist without the cloud but cloud computing cannot
exist without virtualization.
Advantages of Virtualization
1. Reduced Costs.
2. Efficient hardware Utilization.
3. Virtualization leads to better resource Utilization and increase
performance
4. Testing for software development.
5. Increase Availability
6. Save energy
7. Shifting all your Local Infrastructure to Cloud in a day
8. Possibility to Divide Services
9. Running application not supported by the host.
Disadvantages of Virtualization
1. Extra Costs.
2. Software Licensing.
Virtualization Layers
The virtualization software creates the
abstraction of VMs by interposing a virtualization
layer at various levels of a computer system.
Common virtualization layers include:
1. the instruction set architecture (ISA) level,
2. hardware level,
3. operating system level,
4. library support level, and
5. application level
Virtualization Ranging from Hardware to
Applications in Five Abstraction Levels
1.Virtualization at Instruction Set
Architecture (ISA) level:
• At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host
machine. Instruction set emulation leads to virtual ISAs created on any hardware
machine. e.g, MIPS binary code can run on an x-86-based host machine with the help of
ISA emulation.
• 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.
• code interpretation – dynamic binary translation - virtual instruction set architecture (V-
ISA)
• Advantage:
• It can run a large amount of legacy binary codes written for various processors on
any given new hardware host machines
• best application flexibility
• Shortcoming & limitation:
• One source instruction may require tens or hundreds of native target instructions to
perform its function, which is relatively slow.
• V-ISA requires adding a processor-specific software translation layer in the complier.
2.Virtualization at 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. The intention is to upgrade the hardware
utilization rate by multiple users concurrently.
Advantage:
• Full virtualization does not need to modify the host OS. It relies
on binary translation to trap and to virtualize the execution of
certain sensitive, non virtualizable instructions.
• In a host-based system, both a host OS and a guest OS are
used. A virtualization software layer is built between the host OS
and guest OS.
Binary Translation of Guest OS Requests
Using a VMM
• This approach was implemented
by VMware and many other
software companies.
• VMware puts the VMM at Ring 0
and the guest OS at Ring 1. The
VMM scans the instruction
stream and identified the
privileged, control- and behavior
sensitive instructions.
• When these instructions are
identified, they are trapped into
the VMM, which emulates the
behavior of these instructions.
• The method used in this
emulation is called binary
translation. Therefore, full
virtualization combines binary
translation and direct execution.
Host-Based Virtualization
• An alternative VM architecture is to
install a virtualization layer on top of
the host OS. This host OS is still
responsible for managing the
hardware.
• This host-based architecture has some
distinct advantages. First, the user can
install this VM architecture without
modifying the host OS. The virtualizing
software can rely on the host OS to
provide device drivers and other low-
level services. This will simplify the VM
design and ease its deployment.
• Second, the host-based approach
appeals to many host machine
configurations. Compared to the
hypervisor/VMM architecture, the
performance of the host-based
architecture may also be low.
Para-virtualization
• Paravirtualization is a type of
virtualization where software
instructions from the guest
operating system running
inside a virtual machine can
use “hypercalls” that
communicate directly with
the hypervisor. This provides
an interface very similar to
software running natively on
the host hardware.
• paravirtualization enables
the Guest OS to interact with
the hypervisor
Full Virtualization vs. Para-Virtualization
Full virtualization
• Does not need to modify guest OS, and critical instructions are emulated by
software through the use of binary translation.
• VMware Workstation applies full virtualization, which uses binary
translation to automatically modify x86 software on-the-fly to replace
critical instructions.
Advantage: no need to modify OS.
Disadvantage: binary translation slows down the performance.
Para virtualization
• Reduces the overhead, but cost of maintaining a paravirtualized OS is high.
• The improvement depends on the workload.
• Para virtualization must modify guest OS, non-virtualizable instructions are
replaced by hyper calls that communicate directly with the hypervisor or
VMM.
• Para virtualization is supported by Xen, Denali and VMware ESX.
The XEN Architecture
• Xen is an open source
hypervisor program
developed by Cambridge
University. Xen is a micro-
kernel hypervisor, which
separates the policy from the
mechanism.
• Xen does not include any
device drivers natively . It just
provides a mechanism by
which a guest OS can have
direct access to the physical
devices.
• As a result, the size of the Xen
hypervisor is kept rather
small. Xen provides a virtual
environment located between
the hardware and the OS.
Virtualization of CPU, Memory, and I/O Devices
• CPU Virtualization
• A VM is a duplicate of an existing computer system in which a majority of the
VM instructions are executed on the host processor in native mode. Thus,
unprivileged instructions of VMs run directly on the host machine for higher
efficiency. Other critical instructions should be handled carefully for
correctness and stability.
• The critical instructions are divided into three categories: privileged
instructions, control–sensitive instructions, and behavior-sensitive instructions.
• Privileged instructions execute in a privileged mode and will be trapped if
executed outside this mode.
• Control-sensitive instructions attempt to change the configuration of resources
used. Behavior-sensitive instructions have different behaviors depending on
the configuration of resources, including the load and store operations over the
virtual memory.
A CPU architecture is virtualizable if it supports the ability to run the VM’s
privileged and unprivileged instructions in the CPU’s user mode while the
VMM runs in supervisor mode.