Professional Documents
Culture Documents
Resource Virtualization
Resource Virtualization
Resource Virtualization
Resource Virtualization
z Separating the abstract view of computing
resources from the implementation of these
resources
1
Virtual Machines
App 1 App 2 App 3
Operating System
Virtual
Machine Machine
Physical
Machine CPU CPU Mem Net
Virtual Machines
App 1 App 2 App 3 App 4 App 5
Physical
Machine CPU CPU Mem Net
2
Machine Virtualization
z A virtual machine abstracts the computing
resources of a physical machine into virtual
resources
z End users only see the virtual resources
− Can install their operating systems and run their
applications on the virtual machines
3
Virtual Storage
App 1 App 2 App 3
Operating System
Machine
Physical
Storage
4
Server Consolidation
P2
Resource Resource
Requirement P1 Requirement
Time Time
P12 < P1 + P2
z Consolidate onto a single machine
− Easier to manage
− Less total capacity than the original two
− Better utilization than the original two
Consolidation
z Economies of scale
− Cheaper provisioning, administration, power, networking,
and cooling
5
Cloud Computing
z Consolidation on massive, shared, hosted
computer clusters
6
Why Use Virtual Machines?
z Application
pp compatibility
p y
− Different environments for different applications
z Software deployment
− Preconfigured virtual appliances
− Repositories
p of virtual appliances
pp on the web
7
Virtual Appliances
http://www.vmware.com/vmtn/appliances
Virtual Appliances
http://virtualappliances.net/downloads/
8
Why Not Use Virtual Machines?
z Performance penalty
− Indirection through VMM adds overhead
User Process
(user mode)
Kernel
(privileged mode) Exception Handler
privileged
access trap
Physical
Machine CPU CPU Mem Net
9
Trap-and-Emulate Virtualization
User Process
(user mode)
Operating System
(user mode)
trap
Physical
Machine CPU CPU Mem Net
Trap-and-Emulate Virtualization
z Run VMM in privileged mode
10
Architectural Obstacles
z Some machine architectures are not easy to
virtualize
− Notable example: x86
Virtualization Approaches
z Binary rewriting
− Operating system running in VM is unmodified
− VMM scans Guest OS memory for problematic
instructions and rewrites them
− Example: VMware Workstation
z Paravirtualization
− Software interface to VMM is not identical to hardware
− Operating systems need to be ported to run on VMM
− Simpler VMM and faster virtual machines than with
trap-and-emulate
− Example: Xen
11
Hardware Virtualization for x86
z Intel and AMD have both introduced processor
extensions to help virtualization (Intel VT, AMD-V)
12