Professional Documents
Culture Documents
VM may have an OS or an ISA or both, which can be different from the ones in the real platform
VM Classification
There are two types of VM classified in the textbook
Process VM: virtualization of individual processes
E.g., running x86 applications on PowerPC Wine
System VM: virtualization of complete systems E.g., running Linux (and its applications) on Windows
Process VM
Run executables of different ISA or OS
VM emulates ABI (user-level instructions & system calls) Called runtime
Process VM Examples
Digital FX!32 Run x86 binaries on Alpha
System VM
Run whole OS(es) & executables
VM emulates whole ISA (user-level & system-level) Called VMM
System VM Variations
VMM History
First prototype VMMs were developed in mid 60s
M44X (modified 7044 CPU) at IBM Watson Research CP-40 (modified 360/40 CPU) at IBM Cambridge Scientific Center
VM Implementation
How to execute guest instructions on a host
Interpretation (emulation) Slow execution speed, but easy implementation Translation Dynamic translation (JIT): recompile/translation done 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
VM Implementaion
Hosted
Runs as a process on an existing host OS Rely on host OS for H/W interaction VMWare GSX, user-mode Linux
Stand-alone
VMM on top of bare hardware All H/W interactions on VMM itself Highly efficient VMWare ESX, IBM z/VM, HyperV
Virtualization
Defined by Popek & Goldberg in 1974. Establishes 3 essential characteristics of a VMM:
Fidelity
Running on VMM == Running directly on HW.
Performance
Performance on VMM == Performance on HW.
Safety
VMM manages all hardware resources (correctly?).
VMWare
Binary translation!
(mostly safe, user-mode)
X86
X86
Adaptive Translation
Innocent until proven guilty
VMX
VMX
VMX
VM VM VM
VMM VMM VMM
Resource Scheduling
Storage Stack
Network Stack
VMkernel
Device Drivers
Hypervisor
Virtualization supported via small kernel (VMkernel)
Highly efficient direct I/O pass-through architecture for network and disk
Excellent management/scheduling of hardware resources
XEN
Citryx, Open-Source, Hypervisor, bare metal, Linux, stable but hard to mantain
Hyper-V Architecture
Parent Partition
Provided by:
OS ISV / IHV / OEM Microsoft Hyper-V Microsoft / XenSource
Child Partitions
VM Worker Processes
Applications
WMI Provider VM Service
Applications
Applications
Applications
User Mode
NonHypervisor Aware OS
VSP
VSC
VMBus
VMBus
VMBus
Emulation
Hypercall Adapter
KVM Architecture
VM Performances
Virtualization: Performance
Whats a VM
A resource description file (xml)
Cpus: virtual from the host pools (overbooking) Memory: physical from host Network Interfaces: via a virtual switch Disks usually a file on same physical storage
Virtualization Scope
Home users: Isolation Developer: Marketing: Enterprise: Testing/Debugging Showcase/demos Consolidation
Enterprise Virtualization
Reduced cost
Improve server utilization Reduce hardware costs
Agility
Operational scalability
Rapid provisioning Business continuity
Security
Isolated Systems
Amazon Cloud
Elastic Compute Cloud (EC2)
Rent computing resources by the hour Basic unit of accounting = instance-hour Additional costs for bandwidth
Amazon Cloud
http://aws.amazon.com/ec2/instance-types/
http://aws.amazon.com/ec2/pricing/ http://aws.amazon.com/ec2-sla/
WEB-SCALE PROBLEMS
Google processes 20 PB a day (2008) all words ever spoken by human beings ~ 5 EB NOAA has ~1 PB climate data (2007) CERNs LHC will generate 15 PB a
year (2008)
VM CLOUD WV2010 ?
Distribuzione risultati progetto
una VM da usare sulla cloud (EC2/S3)