Technology
Introduction
Argentina Software Pathfinding and
Innovation
Intel Corporation
28 July 2008
Introduction
Introduction
- ?
Introduction
Agenda
Introduction
Virtualization yesterday virtualization today
Challenges for x86 virtualization
Approaches to server virtualization
Host-based server virtualization
Full Virtualization
Para-virtualization
Hardware-assisted Virtualization
Introduction
What is virtualization?
Virtualization is a broad term (virtual memory, storage, network, etc)
Focus for this course: platform virtualization
Virtualization basically allows one computer to do the job of multiple
computers, by sharing the resources of a single hardware across
multiple environments
App. A
App. B
App. C
App. D
Virtual
Container
Virtual
Container
App. A App. B
App. CApp. D
Operating System
Virtualization Layer
Hardware
Hardware
Nonvirtualized
system
A single OS controls all
hardware platform
resources
Virtualized system
It makes it possible to run
multiple Virtual Containers on
a single physical platform
Introduction
Virtualization Requirements
Popek and Goldberg describe in their Formal
Requirements for Virtualizable Third Generation
Architectures 1974:
A Model of Third Generation Machines
Machine states: S = (E, M, P, R)
Instructions classification
Privileged instructions
Control sensitive instructions
Behavior sensitive instructions
Introduction
Equivalence
Resource Control
Efficiency
Privileged
instructions
Control sensitive
Behavior sensitive
For any conventional third generation computer, a VMM may be constructed if the set of
sensitive instructions for that computer is a subset of the set of privileged instructions
A conventional third generation computer is recursively virtualizable if it is virtualizable
and a VMM without any timing dependencies can be constructed for it.
The evolution of
virtualization
Evolution of
Virtualization
Evolution of
Virtualization
App App
App App
App App
X86
Windows
XP
X86
Windows
2003
X86
Suse
X86
Red Hat
Virtualization again
Evolution of
Virtualization
Evolution of
Virtualization
App. B
App. C
App. D
X86
Windows
XP
X86
Windows
2003
X86
Suse
Linux
X86
Red Hat
Linux
Challenges of x86
virtualization
Challenges of x86
virtualization
Challenges of x86
virtualization
Challenges of x86
virtualization
Challenges of x86
virtualization
Approaches to server
virtualization
Server virtualization
approaches
virtualization
Modified guest
VMware, Xen
Virtual
Machine
Virtual
Machine
Dynamic Translation
VM
VM
3rd Generation:
Silicon-based
(Hardware-assisted)
virtualization
Unmodified guest
VMware and Xen on
virtualization-aware
hardware platforms
Virtual
Machine
Virtual
Machine
Operating System
Hypervisor
Hypervisor
Hardware
Hardware
Hardware
Time
Virtualization Logic
App. A
App. B
Guest OS
Virtual Machine
App. C
Full Virtualization
Server virtualization
approaches
Device Drivers
Emulated
Hardware
Device Drivers
Host OS
Hardware
Server virtualization
approaches
Total VM portability
By emulating a consistent set of system hardware,
VMs have the ability to transparently move between
hosts with dissimilar hardware without any problems
It is possible to run an operating system that was developed
for another architecture on your own architecture
A VM running on a Dell server can be relocated to a HewlettPackard server
Server virtualization
approaches
Application
Ring 3
Operating
System
Ring 0
Ring 3
Guest OS
Ring 1 / 3
Virtual
Machine
Monitor
Ring 0
Full Virtualization
App. A
Guest OS
Virtual Machine
App. B
Para-Virtualization
App. C
Server virtualization
approaches
Device Drivers
Specialized API
Virtual Machine Monitor
Device Drivers
Hypervisor
Hardware
Para-Virtualization
Server virtualization
approaches
App. A
App. B
Guest OS
Virtual Machine
App. C
Hardware-assisted virtualization
Server virtualization
approaches
Device Drivers
Specialized API
Virtual Machine Monitor
Device Drivers
Hypervisor
Hardware
Hardware-assisted virtualization
Server virtualization
approaches
VMX non-root
VMX root
Hardware-assisted virtualization
Server virtualization
approaches
Pros
It allows to run unmodified Oss (so legacy OS can be
run without problems)
Cons
Speed and Flexibility
An unmodified OS does not know it is running in a
virtualized environment and so, it cant take
advantage of any of the virtualization features
It can be resolved using paravirtualization
partially
Approaches to desktop
virtualization
Client virtualization
approaches
Desktops
Desktop virtualization
Server-side workspace virtualization
Client-side workspace virtualization
Application virtualization
Application isolation
Application streaming
Desktop Virtualization
Microsoft Virtual PC
Parallels Desktop for Mac
VMware Fusion
WINE.
Emulating Windows games on the
Macintosh,
Testing code inside VMs
Underpinning client-side workspace
virtualization
Desktop virtualization
approaches
Desktop virtualization
approaches
VMware VDI
Centrally managed desktop infrastructure
Security enforcement and lockdown
Desktop virtualization
approaches
Defense contractors
Healthcare providers
Application Isolation
Thinstall
Trigence
Desktop virtualization
approaches
Application Streaming
AppStream
Microsoft SoftGrid
Desktop virtualization
approaches
Extracted from Virtualization II: Desktops and applications are next the 451 group
Day wrap-up
Requirements for HW Architecture Virtualization Popek and
Goldberg
Evolution for virtualization: from mainframes to x86 architecture
due to business reasons
Challenges around x86 virtualization -> ISA doesnt comply with
P&G
Server virtualization approaches
Full Virtualization
Paravirtualization
Hardware Assisted Virtualization
Application virtualization
Application isolation
Application streaming
Questions?
Backup
References
http://en.wikipedia.org/wiki/Platform_virtualization
http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requ
irements
http://www.vmware.com/virtualization/
http://www.vmware.com/overview/history.html
Formal Requirements for Virtualizable Third Generation Architectures
1974 - Popek (UCLA) and Goldberg (Honeywell Information Systems
and Harvard University)
Virtualization II: Desktops and applications are next the 451 group
Contacts
Argentina Software Pathfinding and Innovation team from Virtualization
Technology:
Guillermo Colsani: guillermo.e.colsani@intel.com
Gisela Giusti: gisela.giusti@intel.com
Pablo Pssera: pablo.r.passera@intel.com
Duilio Protti: duilio.j.protti@intel.com