Upload
rishikese-mr
View
1.064
Download
1
Embed Size (px)
DESCRIPTION
The seminar slide will help you to understand what is virtualization, then what will be its cpu utilisation and several things about virtualisation.
Citation preview
WELCOME
VIRTUALIZATION
Seminar Presented By:
Vishnu Ramakrishnan
Roll No:87
S7, CS-B
Guided by : Dr. Sudheep Elayidom
2
The Modern Age of Computers 3
Problems in current Scenario
The data-centres are:
Full of under-utilized servers.
Complicate in management.
Power consumption
Greater wattage per unit area.
Electricity overloaded.
Cooling at capacity.
Environmental problem
4
What is Virtualization
Virtualization -- the abstraction of computer resources.
Defenition : Virtualization is a framework or methodology of dividing the resources
of a computer into multiple execution environments, by applying one or more
concepts or technologies such as hardware and software partitioning, time-
sharing, partial or complete machine simulation, emulation, and quality of service.
Virtualization hides the physical characteristics of computing resources from their
users, be they applications, or end users.
This includes making a single physical resource (such as a server, an operating
system, an application, or storage device) appear to function as multiple virtual
resources; it can also include making multiple physical resources (such as storage
devices or servers) appear as a single virtual resource.
5
Normal Computer System
Hardware
OperatingSystem
Applications
6
Virtualization - One Server for Multiple Applications/OS
Hardware
OperatingSystem
Applications
Hardware
OperatingSystem
Application
Hypervisor
OperatingSystem
Application
OperatingSystem
Application
OperatingSystem
Application
OperatingSystem
Applications
Hypervisor is a software program that manages multiple operating systems (or
multiple instances of the same operating system) on a single computer system.
The hypervisor manages the system's processor, memory, and other resources to allocate what each operating system requires.
Hypervisors are designed for a particular processor architecture and may also be called Virtualization managers.
7
CPU Capacity Utilization 8
Why Virtualization
Consolidate the workloads of several under-utilized servers to fewer
machines, perhaps a single machine.
Provides secure, isolated sandboxes for running untrusted
applications.
Provides emulation of hardware, or hardware configuration that you
do not have (such as multiple processors).
Virtualization can also be used to simulate networks of independent
computers.
Virtual machines can be used to run multiple operating systems
simultaneously. Some such systems may be hard or impossible to run on newer real hardware.
9
Why Virtualization Allow for powerful debugging and performance monitoring. Operating
systems can be debugged without losing productivity.
Virtual machines can isolate what they run, so they provide fault and error
containment.
Virtual machines are great tools for research and academic experiments.
They encapsulate the entire state of a running system. The state also provides an abstraction of the workload being run.
Virtualization can enable existing operating systems to run on shared memory
multiprocessors.
Virtual machines can be used to create arbitrary test scenarios, and can lead
to effective quality assurance.
And plenty of other reasons……
10
Types of Virtualization
Platform Virtualization (Close to Cloud Computing)
Full Virtualization
Paravirtualization
Hardware-assisted Virtualization
Partial Virtualization
OS-level Virtualization
Memory Virtualization
Desktop Virtualization
Application Virtualization
Network (Device and I/O) Virtualization
11
Full Virtualization
Virtualization technique used to provide a complete simulation of
the underlying hardware, in the Virtual machine.
One machine is accessed and manipulated by more than one users
or OS’s.
All software (including all OS’s) capable of execution on the raw
hardware can be run in the virtual machine.
Full Virtualization has proven highly successful in cases when
Sharing a computer system among multiple users,
Isolating users from each other (and from the control program), and
Emulating new hardware to achieve improved reliability, security and productivity.
12
Full Virtualization
Best example of full Virtualization was that provided by the control
program of IBM's CP/CMS operating system. Each CP/CMS user was
provided a simulated, stand-alone computer.
Each such virtual machine had the complete capabilities of the
underlying machine, and (for its user) the virtual machine was
indistinguishable from a private system.
13
Full Virtualization - Requirements
Equivalence: a program running under the VMM should exhibit a behavior essentially identical to that demonstrated when running on an equivalent machine directly.
Resource control (safety): the VMM must be in complete control of the virtualized resources.
Efficiency: a majority of the machine instructions must be executed without VMM intervention.
14
Full Virtualization - Challenges
Interception and Simulation of privileged operations -- I/O
instructions
The effects of every operation performed within a given virtual machine must be kept within that virtual machine – virtual
operations cannot be allowed to alter the state of any other virtual
machine, the control program, or the hardware.
Some machine instructions can be executed directly by the
hardware, E.g., memory locations and arithmetic registers.
Other instructions that would "pierce the virtual machine" cannot be
allowed to execute directly; they must instead be trapped and
simulated. Such instructions either access or affect state information that is outside the virtual machine.
Some hardware is not easy to be used for full Virtualization, e.g., x86
15
Challenges of x86 Hardware Virtualization
The x86 architecture offers four levels of privilege
known as Ring 0, 1, 2 and 3 to operating systems
and applications to manage access to the
computer hardware.
Virtualizing the x86 architecture requires placing a
Virtualization layer under the OS (which expects to
be in the most privileged Ring 0) to create and
manage the virtual machines that deliver shared
resources.
Solutions are :
> Binary translation (Eg: VMWare)
> OS assisted Virtualization or Paravirtualization.
> Hardware-assisted Virtualization
16
Kernel code of non-virtualizable instructions are translated to replace with new sequences of instructions that have the intended effect on the virtual hardware.
Each virtual machine monitor provides each Virtual Machine with all the services of the physical system, including a virtual BIOS, virtual devices and virtualized memory management.
This combination of binary translation and direct execution provides Full Virtualization as the guest OS is fully abstracted from the underlying hardware by the Virtualization layer.
The guest OS is not aware it is being virtualized and requires no modification.
The hypervisor translates all operating system instructions on the fly and caches the results for future use, while user level instructions run unmodified at native speed.
Examples
VMware
Microsoft Virtual Server
Binary Translation 17
Paravirtualization (OS Assisted)
Paravirtualization – via a modified OS kernel as guest OS
Paravirtualization involves modifying the OS kernel to replace non-virtualizable instructions with hypercalls that communicate directly with the Virtualization layer hypervisor.
The hypervisor also provides hypercall interfaces for other critical kernel operations such as memory management, interrupt handling and time keeping.
Paravirtualization is different from full Virtualization, where the unmodified OS does not know it is virtualized and sensitive OS calls are trapped using binary translation.
It is very difficult to build the more sophisticated binary translation support necessary for full Virtualization, modifying the guest OS to enable paravirtualization is relatively easy.
Paravirtualization cannot support unmodified OS
Example:
Xen -- modified Linux kernel and a version of Windows XP
Hardware
ParavirtualizedGuest OS
Application
Ring 2
Ring 1
Ring 0
Ring 3
Direct Execution of user and OSRequests
Hypercalls to the Virtualization Layer replace non-virtualiableOS instructions
Virtualization layer
18
Hardware vendors are rapidly embracing
Virtualization and developing new features to
simplify Virtualization techniques.
First generation enhancements target
privileged instructions with a new CPU
execution mode feature that allows the VMM
to run in a new root mode below ring 0.
Privileged and sensitive calls are set to
automatically trap to the hypervisor, removing
the need for either binary translation or
paraVirtualization.
Due to high hypervisor to guest transition
overhead and a rigid programming model,
binary translation approach currently
outperforms hardware assist implementations.
Hardware-Assisted Virtualization
Hardware
Guest OS
Application
Ring 2
Ring 1
Ring 0
Ring 3
Direct
Execution
of user and OS
Requests
OS requests traps
to VMM without
binary translation
or paravirtualization
VMM
Non-rootMode
PrivilegeLevels
Root ModePrivilegeLevels
19
OS-level Virtualization
OS-level Virtualization – Server Virtualization method.
kernel of an OS allows for multiple isolated user-space instances, instead of just one.
Each OS instance(or Container) looks and feels like a real server to each user.
This method virtualizes servers on the operating system (kernel) layer. This creates isolated containers on a single physical server and OS instance to utilize hardware, software, data center and management efforts with maximum efficiency.
Virtual hosting environments commonly use operating system–level Virtualization, where it is useful for securely allocating finite hardware resources amongst a large number of mutually-distrusting users.
Hardware
OS Container 1
OS-Level Virtualization
StandardHost OS
OS Virtualization layer
OS Container 2
OS Container 3
20
Application Virtualization
Software technology that encapsulates application software from the underlying operating system.
A fully virtualized application is not actually installed in the traditional sense, although it is still executed as if it is installed (runtime Virtualization).
Full application Virtualization requires a Virtualization layer. Application Virtualization layers replace part of the runtime environment normally provided by the operating system. The layer intercepts all file and Registry operations of virtualized applications and transparently redirects them to a virtualized location.
Benefits :
Allows applications to run in environments that do not suit the native application (Eg: Wine).
Uses fewer resources than a separate virtual machine.
Improve portability, manageability and compatibility of applications.
Improved security, by isolating applications from the operating system.
Reduces system integration and administration costs in an Organization.
21
Memory Virtualization
Memory Virtualization decouples random access memory (RAM) resources from individual systems in the data center, and then aggregates those resources into a virtualized memory pool available to any computer in the cluster.
The memory pool is accessed by the operating system or applications running on top of the operating system.
The distributed memory pool can then be utilized as a high-speed cache, a messaging layer, or a large, shared memory resource for a CPU or a GPU application.
Machine memory
Physical memory
Virtual memory
Process 1 Process 2
VM1
Process 1 Process 2
VM2
Benefits :
• Improves memory utilization via
the sharing of scarce resources.
• Increases efficiency and
decreases run time for data
intensive and I/O bound
applications
• Allows applications on multiple
servers to share data without
replication, decreasing total
memory needs
• Lowers latency and provides
faster access than other
solutions.
22
Device and I/O Virtualization
I/O Virtualization environments are created by abstracting the upper layer protocols from the physical connections.
One physical adapter card appear as multiple virtual network interface cards (vNICs) and virtual host bus adapters.
In the physical view, virtual I/O replaces a server’s multiple I/O cables with a single cable that provides a shared transport for all network and storage connections.
Simplify management, lower costs and improve performance of servers in enterprise environments.
Benefits:
• Management agility: By abstracting upper layer protocols from physical connections, I/O Virtualization provides greater flexibility, greater utilization and faster provisioning when compared to traditional architectures.
• Reduced cost: Virtual I/O lowers costs and enables simplified server management by using fewer cards, cables, and switch ports, while still achieving full network I/O performance.
• Reduced cabling: In a virtualized I/O environment, only one cable is needed to connect servers to both storage and network traffic. This can reduce data center cabling.
• Increased density: I/O Virtualization increases the practical density of I/O by allowing more connections to exist within a given space.
23
Popular Hypervisors Xen
> Developed by Xen Project Team in 2003.
> Runs on Linux, BSD, Solaris.
KVM
> Developed by OVA(Open Virtualization Alliance) and released in 2012.
> Supports many of Linux, BSD, Solaris, Windows, ReactOS, and AROS Research Operating System.
QEMU
> Open-Source, developed by QEMU Team.
> Runs on Linux, Windows, and some UNIX Platforms.
VirtualBox
> Developed by Oracle Corporation in 2007.
> Runs on Linux, Mac OS X, Windows(from XP), Solaris, and OpenSolaris
VMWare
> Developed by VMWare.inc in 1997
>Runs on Windows, Linux, Mac OS X
24
To Sum up…
Virtualization provides the agility required to speed up IT operations,
and reduces cost by increasing infrastructure utilization.
By minimizing user involvement, Virtualization speeds up the process, reduces labor costs and reduces the possibility of human errors.
Binary translation is the most established technology for full
Virtualization.
Paravirtualization delivers performance benefits with maintenance
costs.
Hardware assist is the future of Virtualization, but it still has a long way to go.
25
References
VMWare ®
IBM ®
Microsoft®
Intel ®
AMD ®
http://www.xen.org/
http://www.parallels.com/
http://www.webopedia.com/
26
Any Questions…..??
27
Thank You!
28