Virtualization
Download
Report
Transcript Virtualization
Virtualization and Cloud Computing
Vera Asodi
VMware
© 2010 VMware Inc. All rights reserved
What is Virtualization?
Virtualization is a technology that
allows you to transform hardware into
software
Virtualization allows you to run
multiple operating systems
simultaneously on a single computer
2
History
1960’s - IBM implemented virtualization as a way to logically partition
mainframe computers into separate virtual machines to enable
multitasking.
1960’s - MIT – Project ‘MAC’ – aimed to design and implement a better
time sharing system.
1990’s – VMware invented x86 based architecture virtualization.
3
Virtual Machine
4
Traditional vs. Virtual Architecture
Traditional Architecture
5
Virtual Architecture
Benefits of Virtualization
Encapsulation - VMs can be described in a file
• Possible to ‘snapshot’
• Easy to move
Enables running multiple operating systems
Consolidation & use of unused computation power
Resource management
High availability & disaster recovery
Create “Base Environment”
Safe testing of new software
Easy Management
6
Virtual Center
7
Types of Virtualization
Hosted
VMM
APP
Bare Metal
APP
Host OS
VMware player
Sun VirtualBox
VMware workstation QEMU
Microsoft virtual PC KVM
8
VMM
VMware ESX
Microsoft Hyper-V
XEN
Types of Virtualization (cont.)
Hosted
Virtualization installs like
application rather than like OS
Can run alongside conventional
applications
Avoid code duplication – OS
already has process scheduler,
memory management, device
support etc.
More suitable for personal users
Bare Metal
Better performance with lower
overhead
Highly efficient direct I/O passthrough architecture for network and
disk
Complete control over hardware
Advanced features like live migration
available
Suitable for production environments
9
Running a VM
The Virtual Machine Monitor (VMM) or Hypervisor is the software layer
that runs the VMs.
There are several ways of doing that.
10
Emulation
Emulation:
• Do what the CPU does in SW.
• Example:
addl %ebx, %eax
is emulated as:
enum {EAX=0, EBX=1, ECX=2, EDX=3, …};
unsigned long regs[8];
regs[EAX] += regs[EBX];
Pro: simple
Con: slow
Instead of emulation, it would be more efficient to run the VM directly on
the host CPU.
11
The Difficulty of Virtualization
Traditional Architecture
Ring 3
User Apps
Bare Metal Virtualized Architecture
Ring 3
User Apps
Ring 2
Ring 2
Ring 1
Ring 1
Guest OS
Ring 0
VMM
Ring 0
OS
Host Computer
System Hardware
Host Computer
System Hardware
The problem: the guest OS runs in ring 1, while some privileged
instructions need to run in ring 0.
12
Trap and Emulate
Run the VM directly on the host CPU.
Trap and emulate sensitive instructions.
Pros:
• Efficient
Cons:
• Harder to implement
• Need hardware support - not all sensitive instructions cause a trap
when executed in a non-privileged mode.
13
Binary Translation
Run the VM directly on the host CPU.
The VMM takes a block of binary instructions that are about to be
executed and dynamically translates it into safe instructions.
Translation:
• Most of the instructions translate identically.
• Sensitive instructions are translated into safe ones.
Pros:
• More efficient than emulation
• No need for hardware support
Cons:
• Less efficient than trap and emulate
• Hard to implement
14
Paravirtualization
The OS of the VM is modified so that it calls the hypervisor when it has
to execute sensitive instructions.
Pros:
• Efficient
• No need for hardware support
Cons:
• Need a modified version of the guest OS, that is aware to the fact that
it runs on a VM.
15
Running a VM - Summary
Emulation and binary translation:
• No need for modification of HW or guest OS.
• Emulation – slow, binary translation – more efficient.
Trap and emulate:
• HW modification is required.
• Improved performance.
Paravirtualization:
• OS modified and aware.
• Improved performance.
The technologies used in the industry are mainly trap and emulate and
binary translation, or a combination of both.
16
I/O Virtualization
Types of I/O:
• Block (hard disk)
• Network
• User input: keyboard, mouse
• Sound
• Video
Most performance critical:
• Block
• Network
17
NIC – Network Interface Card
The NIC is responsible for transmitting and receiving
packets through the network.
The packets that are transmitted and received are
written in the memory.
There are registers to which the driver writes the
instructions to the NIC.
The NIC sends interrupts to the host when it finishes its
task.
18
I/O Virtualization - Emulation
Hypervisor implements a virtual NIC (by the
specification of a real NIC, e.g., Intel, Realtek,
Broadcom).
NIC registers are variables.
vNICs
The hypervisor passes the instructions to the
registers of the physical NIC.
Hypervisor
When physical NIC interrupts, hypervisor injects
the interrupt into guest.
pNIC
19
I/O Virtualization – Emulation (cont.)
Pros:
• Unmodified guest (guest already has drivers for Intel NICs…).
Cons:
• Slow – every access to every NIC register causes a VM exit (trap to
hypervisor).
• Hypervisor needs to emulate complex hardware.
20
I/O Virtualization - Paravirtualization
Add virtual NIC driver into guest (frontend).
Implement the virtual NIC in the hypervisor
(backend).
vNICs
Everything works just like in the emulation
case…
Hypervisor
…except – protocol between frontend and
backend
pNIC
21
I/O Virtualization – Paravirtualization (cont.)
Paravirtual protocol:
• Instead of writing to registers, guest calls the hypervisor, passes it start
address and length as arguments
• Hypervisor knows what it should do
Paravirtual protocol can be high-level, e.g., ring of buffers to transmit (so
NIC doesn’t stay idle after one transmission), and independent of
particular NIC registers
Pro: fast – no need to emulate physical device
Con: requires guest driver
22
I/O Virtualization – Direct Access
“Pull” NIC out of the host, and “plug” it into the
guest.
Guest is allowed to access NIC registers
directly, no hypervisor intervention.
vNICs
Host cannot access NIC anymore.
Hypervisor
Pros:
• As fast as possible
Cons:
• Need NIC per guest (plus one for host).
• Cannot encapsulate guest packets, monitor or
modify them at the hypervisor level.
23
pNICs
I/O Virtualization – SR-IOV
Single Root I/O Virtualization
Contains a physical function controlled by the
host, used to create multiple virtual functions.
vNICs
Each virtual function is assigned to a guest (like
in direct assignment).
Hypervisor
Each guest thinks it has full control of the NIC,
accesses registers directly (like in direct access).
The NIC does multiplexing/demultiplexing of
traffic.
24
pNIC
I/O Virtualization – SR-IOV (cont.)
Pros:
• As fast as possible
• Need only one NIC (as opposed to direct assignment)
Cons:
• Few hypervisors fully support it
• Expensive
• Requires new hardware
• Cannot encapsulate guest packets, monitor or modify them at the
hypervisor level.
25
Live Migration
1
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
26
3
5
6
3
7
4
8
1
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
4
5
3
5
2
6
3
7
4
8
PLAYER
2
PROC
MIRROR
2
1
INTER
LOCK
8F 6H 4B 2D
ONLINE
SPARE
1
FANS
1
HP
ProLiant
DL380G6
2
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
6
OVER
TEMP
1A 3G 5E 7C 9i
2
PROC
MIRROR
2
2
PLAYER
8F 6H 4B 2D
ONLINE
SPARE
1
1
1
INTER
LOCK
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
HP
ProLiant
DL380G6
2
OVER
TEMP
1A 3G 5E 7C 9i
FANS
4
5
6
Global Performance Optimization
1
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
5
6
3
7
1
1
2
POWER
SUPPLY
POWER
SUPPLY
3
4
5
4
5
2
6
3
7
4
8
2
PROC
MIRROR
2
1
PLAYER
8F 6H 4B 2D
ONLINE
SPARE
1
FANS
1
HP
ProLiant
DL380G6
2
OVER
TEMP
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
6
INTER
LOCK
POWER CAP
1A 3G 5E 7C 9i
2
PROC
MIRROR
2
2
PLAYER
8F 6H 4B 2D
ONLINE
SPARE
1
1
1
INTER
LOCK
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
HP
ProLiant
DL380G6
2
OVER
TEMP
1A 3G 5E 7C 9i
FANS
3
4
5
6
8
Imbalanced
Balanced
Giant Computer
Heavy Load
1
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
1
1
HP
ProLiant
DL380G6
2
OVER
TEMP
5
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
8F 6H 4B 2D
2
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
PLAYER
INTER
LOCK
1A 3G 5E 7C 9i
6
PROC
1
PROC
MIRROR
27
2
3
4
5
1
6
3
7
4
8
Lighter Load
3
5
2
6
3
7
4
8
PLAYER
2
PROC
MIRROR
2
1
INTER
LOCK
8F 6H 4B 2D
ONLINE
SPARE
FANS
FANS
HP
ProLiant
DL380G6
2
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
1
2
OVER
TEMP
1A 3G 5E 7C 9i
PROC
ONLINE
SPARE
1
4
5
6
Global Power Optimization
20% Average
Power Savings
11
11
HP
HP
ProLiant
ProLiant
DL380G6
DL380G6
22
OVER
OVER
TEMP
TEMP
22
POWER
POWER POWER
POWER
SUPPLY
SUPPLY SUPPLY
SUPPLY
11
55
22
66
33
77
44
88
1
PLAYER
PLAYER
INTER
INTER
LOCK
LOCK
POWER
POWER
CAP
CAP
2D
2D4B4B6H
6H8F8F
11
PROC
PROC
11
8F8F6H
6H4B4B2D
2D
ONLINE
ONLINE
SPARE
SPARE
1
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
33
28
3
1
5
2
6
3
7
HP
ProLiant
DL380G6
4
8
PWR
APPs
2
5
1
1
2
POWER
SUPPLY
POWER
SUPPLY
6
8
5
2
6
3
7
HP
ProLiant
DL380G6
4
8
PLAYER
2
PROC
MIRROR
3
1
INTER
LOCK
8F 6H 4B 2D
ONLINE
SPARE
2
4
2
OVER
TEMP
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
1
7
PLAYER
5
FANS
1
6
3
PROC
4
POWER CAP
PROC
6
5
2
2
3
1A 3G 5E 7C 9i
2
4
1
INTER
LOCK
8F 6H 4B 2D
MIRROR
FANS
1
HP
ProLiant
DL380G6
2
OVER
TEMP
DIMMS
9i 7C 5E 3G 1A
ONLINE
SPARE
1
PROC
MIRROR
2
2
POWER
SUPPLY
2D 4B 6H 8F
PROC
66
PLAYER
8F 6H 4B 2D
ONLINE
SPARE
1
FANS
1
55
INTER
LOCK
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
44
2
OVER
TEMP
1A 3G 5E 7C 9i
1
1A 3G 5E 7C 9i
22
PROC
PROC
MIRROR
MIRROR
22
POWER
SUPPLY
POWER CAP
DIMMS
DIMMS
1A1A3G
3G5E5E7C
7C 9i9i 9i9i 7C
7C5E5E3G
3G1A1A
FANS
FANS
4
5
6
Live Migration
1
1
2
POWER
SUPPLY
POWER
SUPPLY
POWER CAP
3
5
6
3
7
4
8
4
5
2
POWER
SUPPLY
1
Continue until n
is small enough 2
(depends on the
desired downtime)
n
3
5
2
6
3
7
4
8
PLAYER
2
PROC
MIRROR
2
1
INTER
LOCK
8F 6H 4B 2D
ONLINE
SPARE
1
FANS
1
HP
ProLiant
DL380G6
2
OVER
TEMP
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
6
State
29
1
1
POWER
SUPPLY
POWER CAP
1A 3G 5E 7C 9i
2
PROC
MIRROR
2
2
PLAYER
8F 6H 4B 2D
ONLINE
SPARE
1
1
1
INTER
LOCK
DIMMS
9i 7C 5E 3G 1A
2D 4B 6H 8F
PROC
HP
ProLiant
DL380G6
2
OVER
TEMP
1A 3G 5E 7C 9i
FANS
4
5
6
HW/SW Separation
30
Cloud Computing
31
Cloud Computing
Abstract the technology infrastructure
The user doesn’t have to know
There is a compute power out there available for use
Flexible * Dynamic * On Demand * Efficient
32
Principles of Cloud Computing
Internal Cloud
The user should focus on the Application
All the rest is taken care of by the Cloud Provider
33
Types of Clouds
SaaS – Software as a Service
IaaS – Infrastructure as a Service
PaaS – Platform as a Service
34
SaaS
Software as a Service
Examples: Gmail, Salesforce.com
The cloud provider provides a SW that is available for use over the
internet.
The user only pays for usage rather than buy the SW.
The user does not have to worry about installation, upgrades, and the
infrastructure needed for the SW.
35
IaaS
Infrastructure as a Service
Example: Amazon EC2
The cloud provider provides the user a computer with CPU, memory,
storage, network, etc. that is available for use through the internet.
The user pays for the CPU cycles and network usage.
The user does not have to buy the HW and provide the space, electricity
maintenance, etc.
Very suitable for startups.
36
PaaS
Platform as a Service
Example: Google’s App Engine
The cloud provider provides not only the
infrastructure but also the application stack
(e.g. JVM, web server, development and
testing tools).
The user needs only to add the code.
37
Benefits of Cloud Computing
Tap into external computing power quickly, as needed
Accessible using standard internet protocols
Consumption based pricing - reduced costs
Lower maintenance costs
High availability
Scalability
Improved economics due to shared
infrastructure
Eco-friendly
38
39