Академический Документы
Профессиональный Документы
Культура Документы
ARCHITECTURE
Virtualization and Memory Hierarchy
Contents
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
Physical Addresses
A0-A31
A0-A31
CPU
Physical Memory
D0-31
D0-31
Data
address space.
Virtual Addresses
A0-A31
CPU
Physical Addresses
Virtual
Physical
Address
Translation
D0-31
Address Translation:
Performed by hardware.
Managed by OS.
Supported features:
Physical Memory
D0-31
Data
A0-A31
Protection.
Translation.
Sharing.
Computer Architecture - 2014
Translation.
Protection.
Read-only, execution,
Sharing.
Replacement:
Size:
Parameter
L1 cache
Virtual memory
Block size
16 128 bytes
Hit time
1 3 cycles
100-200 cycles
Miss penalty
8 200 cycles
Access time
6 160 cycles
Transfer time
2 40 cycles
Miss rate
0.1 10 %
0.00001 0.001%
Address mapping
25 45 bits physical
14 20 bits cache
Contents
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
identification.
placement.
replacement.
strategy.
placement.
identification.
replacement.
strategy.
10
associative mapping.
11
identifier.
12
Actually
Operating
Records
values later.
Allows to determine pages that have been touched within an
interval.
13
be tempted!
writes minimization.
Dirty bit used to signal when a page has been
modified.
Contents
14
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
Page table
15
Virtual mem.
Physical mem.
frames
PTBR
pages
12 bits
Virtual address
Virtual page ID
V
V
V
V
V
V
V
V
Prot.
Prot.
Prot.
Prot.
Prot.
Prot.
Prot.
Prot.
offset
Dir. Pgina
Dir. Pgina
Dir. Pgina
Dir. Pgina
Dir. Pgina
Dir. Pgina
Dir. Pgina
Dir. Pgina
Page address
Computer Architecture - 2014
offset
16
Alternatives:
Multi-level
page tables.
Inverted page tables.
Example: IA-64
Offers
17
PT2
PT1
PT2
L1 Page
L2 Page
offset
TLB
18
Access
to page table.
Access to memory.
Worse
Solution:
Use
19
20
A global view
Contents
21
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
Virtual machines
22
Datacenter, cloud,
23
Popek, G. y Goldberg, R.
Formal requirements for virtualizable third generation architectures.
Communications of the ACM, July 1974
Computer Architecture - 2014
24
JVM? .NET?
IBM VM/370.
VMWare ESX Server.
Xen.
25
Terminology:
Host:
VM y VMM: Layers
26
VM0
Virtual
Machines
(VMs)
VM1
App0
Guest OS0
VMn
App1
Guest OS1
...
Appn
Guest OSn
Processor
I/O Devices
27
VMM overhead
28
Workload dependent.
Examples: SPEC.
Overhead: 0.
Seldom invocations to OS.
29
Software management.
Typical deployment:
Hardware management.
Server consolidation.
Independence Higher reliability.
Load balancing..
Hardware evacuation due to failures.
Computer Architecture - 2014
Uses of virtualization
30
Isolation
App1
App2
OS
Consolidation
App1
OS
App2
App1
App2
App1
OS
OS1
OS2
OS1
HW1
HW2
VMM
HW
HW
Migration
App
App
OS
OS
VMM
HW1
VMM
HW2
VMM
HW1
VMM
HW2
App2
OS2
VMM
HW
Contents
31
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
32
A VMM:
Offers
dependent behavior.
Fixed resources limitations which are shared among
several VMMs.
Computer Architecture - 2014
33
34
Contents
35
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
36
37
TLB virtualization:
VMM
TLB.
TLB access generate traps.
TLB with process identifiers simplify management
allowing entries from multiple VMMs at the same time.
Computer Architecture - 2014
38
Contents
39
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
Impure virtualization
40
Example: XEN
41
Strategy: Paravirtualization.
Small modifications to OS
Examples paravirtualization:
Changes in Xen
42
Xen: Performance
43
Performance relative to
native Linux
100%
99%
98%
97%
96%
95%
94%
93%
92%
91%
90%
100%
99%
97%
95%
96%
92%
SPEC INT2000
Linux build
time
PostgreSQL
Inf. Retrieval
PostgreSQL
OLTP
dbench
SPEC WEB99
Contents
44
Virtual memory.
Policies and strategies.
Page tables.
Virtual machines.
Requirements of virtual machines and ISA support.
Virtual machines: Memory and I/O.
Use case: Xen.
Use case: Intel VT.
45
46
Operation modes
47
VMX root:
Fully
privileged.
Designed to be used by VMMs.
VMX non-root:
Non
privileged.
Designed to by used by guest software.
48
VM Entry
VM Exit
App
VM1
App
...
App
...
Guest OS0
VM Exit
App
...
App
Guest OS1
VM Entry
App
VM Monitor
Benefits
49
Reduces OS dependency.
Eliminates
Improves robustness.
Eliminates
Improves performance.
Less
transitions to VMM.
Computer Architecture - 2014
Reference
50