0% found this document useful (0 votes)
112 views9 pages

Virtualization in Cloud Computing - Parth Sharma

Virtualization allows a single physical computer to run multiple virtual machines (VMs), with each VM behaving like an independent computer. In cloud computing, virtualization is used to create multiple isolated virtual resources from single physical resources. Xen is an open source virtual machine monitor that uses paravirtualization to modify guest operating systems to directly interact with the hypervisor for better performance. Xen implements CPU, memory, and device virtualization to allow multiple VMs to run concurrently on a single physical machine and access shared resources in isolated environments. VMWare also uses virtualization techniques like dynamic binary translation and memory ballooning to enable efficient sharing of physical resources between multiple VMs.

Uploaded by

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

Virtualization in Cloud Computing - Parth Sharma

Virtualization allows a single physical computer to run multiple virtual machines (VMs), with each VM behaving like an independent computer. In cloud computing, virtualization is used to create multiple isolated virtual resources from single physical resources. Xen is an open source virtual machine monitor that uses paravirtualization to modify guest operating systems to directly interact with the hypervisor for better performance. Xen implements CPU, memory, and device virtualization to allow multiple VMs to run concurrently on a single physical machine and access shared resources in isolated environments. VMWare also uses virtualization techniques like dynamic binary translation and memory ballooning to enable efficient sharing of physical resources between multiple VMs.

Uploaded by

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

VIRTUALIZATION IN CLOUD COMPUTING

A case study by Parth Sharma(A1004820106)


BCA 4C 2020-23.
What is Cloud Computing?
In cloud computing, resources are virtualized and available according to
need, from raw computing power to application functionality. Cloud
service providers fulfill customer requests using automated processes
rather than manual provisioning.

What is Virtualization?
Through the use of software programs, virtualization allows processors,
memory, storage, and other hardware components of a single computer
to be divided into multiple virtual computers, which are commonly
called virtual machines (VMs). Even though each VM runs on a small
portion of the actual underlying computer hardware, it behaves as an
independent computer.

What is Virtualization in Cloud computing?


When it comes to computing and Cloud computing, virtualization
refers to the process of generating multiple isolated physical
resources from a single resource of its kind. In other words,
virtualization means creating multiple isolated virtual resources
from a single physical resource.

Case study: Xen


Xen facilitates the simultaneous execution of multiple computer
operating systems on the same hardware as a virtual machine monitor.
In Cambridge, UK, the University of Cambridge Computer Laboratory
was conducting research on a project, called Xen, with the assistance of
Microsoft and Intel.

The traditional architecture of Xen uses the Paravirtualization


Model (PVM). To make guest OS's work with Xen they need to be
modified. The guest OS is aware of virtualization, and this allows
better performance and simplifies the hypervisor design.

The x86 ISA now includes support for Virtualization through


Hardware-Assisted Virtualization (HVM), which means you can
virtualize your x86 OS without modifying the Guest OS.

Hypervisor should be kept as simple and small as possible.  This


facilitates security, resource isolation, and management tools with
privileged VMs 

Xen Basics
Xen hypervisor runs on hardware “Classic” system VM . The hypervisor
is a thin layer with minimal functionality. In domain 0, the virtual
machine is privileged with access to resources. This is usually some
variant of NetBSD, Solaris, or Linux. Device drivers are also sometimes
installed. This virtual machine contains tools for managing other virtual
machines.

CPU Virtualization in Xen


The x86 instruction set is hard to virtualize Some instructions can only
be executed in privileged mode PVM Approach: replace privileged
instructions with hypercalls OS code containing privileged instructions
is replaced with hypercalls The hypercall (similar to a system call) is
used to interact with hardware resources The hypervisor handles the
hypercall and handles virtual machine resource management The
modification to the OS is not too large The OS might contain code that
is specific to the architecture - something that is privileged. In the PVM
approach, these need to be modified.  A 5% change in the code is
required (in case of Linux)

Memory Management in Xen

As a system memory manager, Xen hypervisor is responsible for


managing physical memory. Guest OS sees "Real" (pseduophysical)
memory pages. The Xen hypervisor converts virtual pages into
physical memory.  The way you interact with memory is determined
by the operating system you're using. For PVM (paravirtualized) –
guest OS uses hypercalls to interact with memory  For HVM
(hardware-assisted) – Xen creates shadow page tables that are
accessed by hardware instructions (on CPUs supporting Intel VT-x
or AMD-V)

Multiprocessor Virtualization in Xen

Different scheduling mechanisms are available for allocation and


scheduling of virtual CPUs. By default, Xen schedules virtual CPUs
against a pool of physical CPUs.  Users can set weights and caps for
each VM, which impacts the assignment of CPU resources and affects
the scheduling of resources for each VM. Assigns credits to all running
VMs on the host and debits credit from the running VMs periodically. 

VCPU precedence is calculated primarily based at the credits last for


every vCPU and is

refreshed periodically.

 Positive credit score VMs are given repute of OVER and negative
credit score vCPUs are given

repute of UNDER.

 Scheduling precedence decided in the following order:

 UNDER VM within the run queue of the neighborhood CPU

 UNDER VM in a run queue of any other CPU


 OVER VM in the run queue of the neighborhood CPU
 OVER VM in a run queue of any other CPU

Device Management in Xen

Changing the Guest OS requires the Guest OS drivers to be


rewritten. It is time consuming to rewrite all device drivers for all
the modified Guest OSs instead, Xen uses a split-driver model.
Front-end drivers reside in DomU, while back-end drivers reside in
Dom0. Front-end drivers are generic, where a specific class of driver
is required for each class of device Back-end drivers are device-
specific, where existing Linux drivers can be reused.

Processor Virtualization in VMware

VMWare makes use of dynamic binary translation (DBT).Allows code


to run at near-native speeds on the hardware. With the exception of
privileged instructions like traps, interrupts, and so on.

The use of a regulated emulation replaces privileged instructions. The


Hypervisor is in charge of the sequence. Additional enhancements to
performance. A set of instructions is being translated (basic block)
Caching of code

VMWare's Multi-Processor Virtualization


Vmware has a number of systems in place to ensure that vCPUs are
scheduled efficiently on pCPUs.Allows efficient multiplexing of all
vCPUs on a particular system, especially when |vCPUs| is greater
than |pCPUs|.

Algorithm based on proportional share, each VM is given a number


of shares, which are set to 1000 per vCPU by default.

Each VM also has a reservation and a limit, which are both set to 0
and unlimited by default.

The scheduler determines whether each virtual machine is fully


utilised. Higher priority will be given to VMs that do not fully utilise
their assigned resources.

Individual VMs cannot utilise the Host CPU indefinitely, thus the
scheduler is built for fairness. Their priority will be dynamically
altered as they receive additional CPU time.

VMWare Memory Virtualization

VMWare virtualizes memory in order to achieve the following


objectives: Accurate memory resource management Efficient
memory over-commitment Memory sharing opportunities
exploitation
Guest OSes have a tendency to consume all of the memory available
to them.If the Guest OS does not release memory resources on a
regular basis, it is difficult to efficiently over-commit memory
resources.

Memory Ballooning (transparent swapping of memory pages by the


hypervisor) is one of the strategies used by VMWare memory
management to reclaim memory from guest OSes.

Content-based page sharing allows VMs to exchange memory pages


that are identical.

Memory Ballooning Technique

A Guest OS memory balloon driver is installed on each Guest OS. When


the hypervisor needs to claim additional memory from a guest OS, it
signals the driver to inflate, and it then allocates extra memory,
compelling the guest OS to deliver memory pages to disc.
When the hypervisor decides to return memory to the Guest, it instructs
the driver to deflate, which de-allocates memory and allows the Guest to
access it.
I/O Virtualization in VMWare

VMWare uses a Virtual Device Interface (VDI) to perform I/O


virtualization. The hypervisor can either directly access the
Hardware through privileged mode or use the Split Driver Model to
support devices.
Furthermore, the hypervisor can route I/O requests through native
OS drivers, allowing it to support a wider range of devices (but with
reduced performance)

End!

You might also like