Virtualization is the ability to run virtual machines on top of a hypervisor.
Virtualization is an emerging IT paradigm that separates computing functions and technology implementations from physical hardware.
Cloud computing, for example, is the virtualization of computer programs through an internet connection rather than installing applications on every office computer.
8. Virtualization and Cloud Computing
• Virtualization is the ability to run "virtual
machines" on top of a "hypervisor“
• A hypervisor provides a uniform abstraction
of the underlying physical machine.
• Abstraction in the key idea in Service Models
of Cloud!
9. Timeline of Virtualization
• 1970s: virtual machines first used
• 1990s: x86 becomes prominent server platform
• 1999: VMWare first product to virtualize x86
• 2006: AMD and Intel offer hardware support
10. Benefits of Virtualization
•
•
•
•
•
•
•
•
•
Greatest Cost Savings
Highest Server Utilization
Built-In High Availability
Zero Downtime Failover
Best Performance
Unmatched Reliability
Superior Security
Lowest TCO
Fastest, Easiest Management
* Image soruce: http://whitehatvirtual.com/blog/bid/334816/Top-5-Benefits-of-Desktop-Virtualization
11. What can be Virtualized?
CPU
RAM
NIC
HDD
http://dribbble.com/shots/626853-Cloud-Hosting-Adjustment/attachments/52364
12. What is a Virtual Machine (VM)?
• A virtual machine (VM) is a software
implementation of a machine that executes
programs like a physical machine.
• Each VM includes its own kernel, operating
system, supporting libraries and
applications.
13. What Virtual Machines provide?
– Hardware independence
VM sees the same hardware regardless
of the host hardware
– Isolation
VM’s operating system is isolated from
the host operating system
– Encapsulation
Entire VM encapsulated into a single file
14. Virtual Machines Classification
Process virtual machine
●
●
designed to run a single program, which means
that it supports a single process
E.g. Parrot, CLR, LLVM, JVM, Dalvik,..
System virtual machine
●
●
provides a complete system platform which
supports the execution of a complete operating
system (OS)
E.g. VirtualBox, Parallels Workstation, Xen,..
19. VM Implementation
▪ Hosted
▪ Runs as a process on an existing host OS
▪ Rely on host OS for H/W interaction
▪ VMWareGSX, user-mode Linux
▪ Stand-alone/bare metal /native
▪ VMM on top of bare hardware
▪ All H/W interactions on VMM itself
▪ Highly efficient
▪ VMWareESX, IBM z/VM, HyperV
20. VMM / Hypervisor
▪ VMM: Virtual Machine Monitor
▪ Small special purpose operating system
✓ Interface simulates a CPU
✓ Each process acts like a separate computer or VM
✓ Can run a full OS in each virtual machine
21. Types of hypervisors (VMM)
• Type 1 (or native, bare metal)
– run directly on the host's hardware to
control the hardware and to manage
guest OS.
• Type 2 (or hosted)
– run within a conventional operating
system environment.
24. How to execute guest instructions
on a host?
Interpretation(emulation)
Slow execution speed, but easy implementation
Translation
Dynamic translation (JIT): recompile/translation while
running
Static translation (AOT): multiple binary problem
Complicated but faster execution, especially with optimizations
Run directly on the hardware
When the host and guest ISA are binary compatible
28. Pros and Cons
Pros:
Cons:
Sandbox
Hardware independent
OS independent
Fast Recovery
Live Backup
Migrate data
Reduced Hardware
Run Multiple OS Simultaneously
Cost savings
Use of Multicore processors
System Security
Test and Development
Less Efficient
Unstable Performance
Tools lack ability
Rapid Deployment
Latency of Virtual Disk
Backup and Data Sets
Security Issues
Hardware compatibility issues
Managing and Securing is difficult
Most software applications are run on their own server or servers in order to protect them from unwanted interactions from other applications, with the increased capabilities of modern servers this leaves systems running at a fraction of their capabilities with utilisation of some systems below 10%. Server virtualisation technology allows users to pool computing, storage and other resources across several different hardware platforms so they are used more efficiently, consolidation of numerous operating systems on to the one hardware system.
A virtual machine is defined as a representation of a physical machine by software that has its own set of virtual hardware upon which an operating system and applications can be loaded
Include examples
Stack code.
We found that a register architecture requires an average of 47% fewer executed VM instructions, and that the resultingRegister code is 25% larger than the corresponding
Hypervisor==virtual machine manager (VMM)ISA Instruction Set Architecture
AOT:An ahead-of-time (AOT) compiler is a compiler that implements ahead-of-time compilation.
When multiple VMs are concurrently running on the same physical host, each VM may exhibit a varying and unstable performanceSeveral Management Tools still lack ability to fully understand virtual machines
In general, with desktop virtualization the user gets access to any authorized application (Web, local or server-based) from a single interface, regardless of where that application resides. In the case of local desktop virtualization, the virtual desktop is hosted locally and the user gets access to both local and remote applications.
Consolidation (business), the mergers or acquisitions of many smaller companies into much larger ones
Avast! SandboxConflict between applicationsAvoids drivers scarcityXp with sound directly