Title: CSCI 330 Virtualization
1CSCI 330Virtualization
- Spring, 2009
- Doug L Hoffman, PhD
2Outline
- Parallelism and Virtualization
- Types of Virtualization
- Process Virtualization
- Resource Virtualization
- Uses for Virtualization
- Summary
3Style of Parallelism
More Flexible, More HW Control
Simpler Programming model, Less HW Control
Data Level Parallel (Same operation lots of data,
1 PC)
Inst. Level Parallel (Different operations lots
of data, 1 PC)
Thread Level Parallel (Different operations lots
of data, N PCs)
Separate address spaces
Single addressspace
4Virtualization Definition
In computing, virtualization is a broad term that
refers to the abstraction of computer
resources. One definition is that Virtualizatio
n is a technique for hiding the physical
characteristics of computing resources from the
way in which other systems, applications, or end
users interact with those resources. This
includes making a single physical resource (such
as a server, an operating system, an application,
or storage device) appear to function as multiple
logical resources or it can include making
multiple physical resources (such as storage
devices or servers) appear as a single logical
resource.
5Two Broad Categories
- Platform virtualizationthe simulation of whole
computers. - IBMs VM/CMS 370
- VMware
- Xen
- Resource virtualizationthe simulation of
combined, fragmented, or simplified resources. - Virtual File Systems
- VLANs
6Platform Virtualization
CSCI 330 Computer Architecture
7Platform Virtualization
- The original sense of the term virtualization,
dating from the 1960s, is in the creation of a
virtual machine. - The term virtual machine apparently dates from
the experimental IBM M44/44X system. - Platform virtualization is performed on a given
hardware platform by host software (a control
program), which creates a simulated computer
environment, a virtual machine, for its guest
software. - The guest software, which is often itself a
complete operating system, runs just as if it
were installed on a stand-alone hardware
platform. - Typically, many such virtual machines are
simulated on a single physical machine, their
number limited only by the hosts hardware
resources.
8Platform Virtualization
- There is no requirement for a guest OS to be the
same as the host one. - The guest system often requires access to
specific peripheral devices to function, so the
simulation must support the guest's interfaces to
those devices. For example - Hard disk drive
- CD/DVD drive.
- Network interface card.
9Implementing Platform Virtualization
- Application Virtualizationusing a software
virtualization layer to encapsulate a desktop or
server application from the local operating
system. The application still executes locally
using local resources. Example Wine. - Emulation or simulationthe virtual machine
simulates the complete hardware, allowing an
unmodified "guest" OS for a completely different
CPU to be run. Can be very Slow! - Native virtualizationthe virtual machine
simulates enough hardware to allow an unmodified
"guest" OS (one designed for the same CPU) to be
run in isolation.
10Implementing Platform Virtualization
- Hardware enabled virtualizationthe hardware
provides architectural support that facilitates
building a virtual machine monitor and allows
guest OS to be run in isolation. In 2005, Intel
and AMD provided additional hardware to support
virtualization.
11Resource Virtualization
CSCI 6380 Advanced Computer Architecture
12Types Of Resource Virtualization
- Computer clusters, grid computing, and virtual
servers use the above techniques to combine
multiple discrete computers into larger
meta-computers. - Partitioning or splitting of a single resource
(usually large), such as disk space or network
bandwidth, into a number of smaller, more easily
utilized resources of the same type. This is
sometimes also called "zoning," especially in
storage networks. - Resource aggregation, spanning, or concatenation
combines individual components into larger
resources or resource pools.
13Resource Virtualization
- Virtual memory, usually providing a different
virtual address space for each application, which
allows uniform, contiguous addressing of
physically separate and non-contiguous memory
areas. - RAID and volume managers combine many disks into
one large logical disk. - I/O virtualization, the ability to run any I/O
device on any server at any time and migrate that
I/O device from server to server as needed, such
as IBM Virtual I/O Server (VIOS).
14Resource Virtualization
- Storage Virtualization completely abstracts
logical storage from physical storage, and is
commonly used in SANs. - The physical storage resources are aggregated
into storage pools, from which the logical
storage is created. - Multiple independent storage devices, which may
be scattered over a network, appear to the user
as a single, location-independent, monolithic
storage device, which can be managed centrally.
15Resource Virtualization (continued)
- Channel bonding and network equipment use
multiple links combined to work as though they
offered a single, higher-bandwidth link. - Virtual Private Network (VPN), Network Address
Translation (NAT), and similar networking
technologies create a virtualized network
namespace within or across network subnets.
16Resource Virtualization (continued)
- All of these techniques can be combined into a
single virtual environment called a Virtual Data
Center.
17Summary
CSCI 330 Computer Architecture
18And in Conclusion
- Virtualization can be applied to all aspects of
computers - Processors (i.e. virtual machines).
- Networks (VLANS and bandwidth partitioning).
- Storage (SAN, iSCSI, NAT etc).
- The performance impact of virtualization can vary
widely. - Emulation can be really slow
- Hardware assisted VMs can be quite fast.
- Virtualization in not a panacea.
19Next Time