virtualization and memory hierarchy

55
Virtualization and memory hierarchy Virtualization and memory hierarchy Computer Architecture J. Daniel García Sánchez (coordinator) David Expósito Singh Francisco Javier García Blas ARCOS Group Computer Science and Engineering Department University Carlos III of Madrid cbed Computer Architecture ARCOS Group http://www.arcos.inf.uc3m.es 1/55

Upload: others

Post on 07-Dec-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization and memory hierarchyComputer Architecture

J. Daniel García Sánchez (coordinator)David Expósito Singh

Francisco Javier García Blas

ARCOS GroupComputer Science and Engineering Department

University Carlos III of Madrid

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 1/55

Page 2: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 2/55

Page 3: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

Limits of physical memory addressing

CPU Memory

Physical address

Data

All programs share a single addressing space.Physical address space.

There is no way to prevent a program to access a resource.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 3/55

Page 4: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

Overcoming the physical limit

CPU AddressTranslation

Memory

Virtual addr. Physical addr.

Data

Programs run in a normalized virtual addresses space.

Address translation:Performed by hardware.Managed by OS.

Supported features:Protection, Translation, Sharing.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 4/55

Page 5: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

Advantages of virtual memory (I)

Translation:Programs may have a consistent view of memory.Decreases cost of multi-threaded applications.Only the working set is needed in main memory.Dynamic structures only use the physical memory that theyreally need (e.g. stack).

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 5/55

Page 6: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

Advantages of virtual memory (II)

Protection:Allows to protect a process from others.Attributes can be set at page level.

Read only, execution, . . .

Kernel data protected from programs.Improves protection against malware.

Sharing:A page can be mapped to several processes.

e.g. Memory mapped files.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 6/55

Page 7: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

Differences with cache

Replacement:Cache: Hardware controlled.VM: Software controlled.

Size:Cache size independent from address length.VM size dependent from address length.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 7/55

Page 8: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual memory

Parameters

Parameter L1 Cache L1 Virtual memoryBlock size 16 – 128 bytes 4096 – 65, 536 bytesHit time 1 – 3 cycles 100 – 200 cyclesMiss penalty 8 – 200 cycles 106 – 107 cyclesAccess time 6 – 160 cycles 8 · 105 – 8 · 106 cyclesTransfer time 2 – 40 cycles 2 · 105 – 2 · 106 cyclesMiss rate 0.1% – 10% 0.00001% – 0.001%

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 8/55

Page 9: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 9/55

Page 10: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

Four questions on memory hierarchy

1. Where can a block be placed in the upper level?Block placement.

2. How is a block found in the upper level?Block identification.

3. Which block must be replaced on miss?Block replacement.

4. What happens on a write?Write strategy.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 10/55

Page 11: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

Four questions on virtual memory

1. Where can a page be placed in main memory?Page placement.

2. How is a page found in main memory?Page identification.

3. Which page must be replaced on miss?Page replacement.

4. What happens on a write?Write strategy.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 11/55

Page 12: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

Where is a page placed in main memory?

A page may be placed in any page frame in main memory.

Fully associative mapping.

Managed by the operating system.

Goal: Minimize miss rate.Cannot do much with miss penalty.Very high penalty due to slow magnetic disks.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 12/55

Page 13: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

How is a page found in main memory?

Keep in main memory a page table per process.Mapping table between page identifier and page frameidentifier.

Decreasing translation time.TLB: Translation Lookaside Buffer.Avoids accesses to page table in main memory.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 13/55

Page 14: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

Which page should be replaced on a miss?

Replacement policy defined by Operating System.Typically LRU (Least-recently used).

Architecture must supply support to operating system.Use bit: Enabled when page is accessed.

Really, only when TLB miss.Operating system periodically zeroes this bit.

Records values later.Allows to determine pages that have been modified within aninterval.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 14/55

Page 15: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Policies

What happens on a miss?

Write strategy is always write-back.No VM systems with write-through ever built.Don’t be tempted!

Disk write costs extremely high.Disk writes minimization.Use dirty bit to annotate when a page has been modified.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 15/55

Page 16: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Page table

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 16/55

Page 17: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Page table

Page table

Virtual memory

(pages) (frames)

Physical memoryVirtual pg. Id Offset

PTBR

V Prot. Page addr.

V Prot. Page addr.

V Prot. Page addr.

V Prot. Page addr.

Page addr. Offset

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 17/55

Page 18: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Page table

Page table size

Assuming 32 bits virtual addresses, 4 KB pages and 4bytes per table entry:

Table size:

232

212 × 22B = 222B = 4MB

Alternatives:Multi-level page tables.Inverted page tables.

Example: IA-64Offers both alternatives to OS developer.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 18/55

Page 19: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Page table

TLB: Translation Lookaside Buffer

Ideal case.Each access requires two memory accesses.

1. Access to page table.2. Access to memory.

Worse scenario in case of multi-level pages.

Solution:Use translation cache to avoid accesses to page table.

Tag: Portion of virtual address.Data: Frame number, protection bits, validity bit, and dirty bit.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 19/55

Page 20: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual machines

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 20/55

Page 21: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual machines

Virtual machines

Developed in late 60’s.Used since in mainframe environments.Ignored in single user machines until late 90’s.

Recovered popularity due to:Increasing importance of isolation and security in modernsystems.Security and reliability failures in operating systems.Sharing a single computer by multiple unrelated users.Dramatic increase in processor performance.

Overhead of VMMs more acceptable now.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 21/55

Page 22: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual machines

Virtual Machine Monitor

A virtual machine is taken to be an efficient, isolated duplicateof the real machine. We explain these notions through the ideaof a Virtual Machine Monitor (VMM) . . .. . . a VMM has three essential characteristics.

First, the VMM provides an environment for programswhich is essentially identical with the original machine,second, programs run in this environment show at worstonly minor decreases in speed;and last, the VMM is in complete control of systemresources.

Source: Popek, G. y Goldberg, R. Formal requirements for virtualizable third generation architectures.

Communications of the ACM, July 1974

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 22/55

Page 23: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual machines

Virtualization

General definition: Any emulation method offering astandard software interface to the physical machine.

Java VM? .NET?

System level virtual machines: Offer a complete systemenvironment at binary ISA level.

Usually assuming that VM ISA and hardware ISA areidentical.Examples:

IBM VM/370.VMWare ESX Server.Xen.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 23/55

Page 24: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual machines

Virtual machine

Offers to the user the illusion that they have a completecomputer.

Including their own copy of the operating system.

A computer can run several virtual machines.May support several operating systems.All operating systems sharing same hardware.

Terminology:Host: Underlying hardware platform.Guest: Each virtual machine sharing resources.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 24/55

Page 25: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtual machines

VM y VMM: Layers

Hardware Platform

Virtual Machine Monitor

MV1 MV2 MV3 MV4 MV5

VMM→ Software system layer.Monitor runs on hardwareplatform.Allows execution of multiplevirtual machines on singlehardware platform.Each virtual machine has itsown operating system andapplications.Allows running applicationswithout modification.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 25/55

Page 26: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 26/55

Page 27: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

VMM

Virtual Machine Monitor or hypervisor:Software supporting virtual machines.

VMM determines mapping between: virtual resourcesand physical resources.

Alternatives for physical resource sharing:Time sharing.Partitioning.Software emulation.

A VMM is smaller than a traditional OS.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 27/55

Page 28: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

Overhead of VMM

Depends on workloads.

User levelprocessor bound programs:Example: SPEC.Overhead: 0.Invocations to OS are rare.

I/O intensive programs→ OS intensive.Many system calls→ Privileged instructions.May lead to a lot of virtualization overhead.

I/O intensive and I/O bound programs.Low processor utilization.Virtualization may be hidden.Low virtualization overhead.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 28/55

Page 29: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

Other uses (in addition to protection)

Software management.VM offers an abstraction allowing to run a completesoftware stack.

Old operating Systems (DOS?).Combined deployment:

Stable OS, legacy OS, and next OS version.

Hardware management.VM allows to run separate software stacks but on top of asingle hardware platform.

Servers consolidation.Independence rightarrow Higher reliability.

Migrating VMs in execution.Load balancing.Hardware evacuation due to failures.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 29/55

Page 30: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

Uses: isolation

Hardware Platform

OS

APP1 APP2

Hardware Platform

VMM

OS OS

APP1 APP2

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 30/55

Page 31: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

Uses: consolidation

Platform 1 Platform 2

OS OS

APP1 APP2

Hardware Platform

VMM

OS OS

APP1 APP2

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 31/55

Page 32: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

Uses: migration

Platform 1 Platform 2

VMM

OS

APP1

Platform 1 Platform 2

VMM

OS

APP

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 32/55

Page 33: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

VMM requirements (I)

A VMM:Offers a software interface to guest software.Isolates a guest state from the rest.Protects itself form guests.

Guest software should behave as if there was no VMM,except for:

Performance dependent behavior.Limitations of fixed resources when shared among multipleVMMs.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 33/55

Page 34: Virtualization and memory hierarchy

Virtualization and memory hierarchy

VMM: Virtual Machine Monitors

VMM requirements (II)

Guest software must not be able to modify directly realresources allocation.

VMM must control everything, even if used by guests.Access to privileged state, address translation, I/O,exceptions, interruptions, . . .

VMM must run in a more privileged mode than guests.Execution of privileged instructions by VMM.

Requirements of VMM (equivalent to requirements forvirtual memory).

A minimum of two processor modes.Subset of privileged instructions, only in privileged mode.

Trap if executed in user mode.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 34/55

Page 35: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization hardware support

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 35/55

Page 36: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization hardware support

ISA support

If VM considered in ISA design, it is easy to reduceinstructions that VMM must execute and emulation time.

But, Most desktop ISAs designed before VMs.

VMM must ensure that guests only interact with virtualresources.

Guest OS running in user mode.Trying to access hardware leads to a trap.

If ISA is not VM-aware, VMM must intercept problematicinstructions.

Introduction of virtual resource.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 36/55

Page 37: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization hardware support

Impact on virtual memory

Each guest manages virtual memory.Virtualizing virtual memory?

VMM distinguishes between real memory and physicalmemory.

Real Memory: Intermediate level between virtual memoryand physical memory.Guest: Mapping between virtual memory and realmemory.VMM: Mapping between real memory and physicalmemory.

To decrease indirection level, VMM keeps a shadow pagetable.

Mapping between virtual memory and physical memory.VMM must capture changes in page table and pointer topage table.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 37/55

Page 38: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization hardware support

ISA support for virtual memory virtualization

IBM 370 includes additional indirection level managed byVMM.

Eliminates the need of shadow the page table.

TLB virtualization.VMM manages TLB and keeps copies of TLB in eachguest.TLB accesses generate a trap.TLB with process identifiers simplifies management.

Allow entries from multiple VMs over the VMM at the sametime.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 38/55

Page 39: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization hardware support

Input/Output impact

Most complex part in virtualization.Increasing number of I/O devices.Increasing diversity of I/O devices.Sharing devices among VMs.Support for an increasing variety of drivers.

General part of driver remains on the guest side.Specific part in VMM.

Device dependent method.Disks: Partitioned by VMM for creating virtual disks.Network interfaces: Multiplexed over time.

VMM manages virtual network addresses.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 39/55

Page 40: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 40/55

Page 41: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

Impure virtualization

7 Virtualization technologiesImpure virtualizationISA Technologies

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 41/55

Page 42: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

Impure virtualization

Impure virtualization

Solution for non-virtualizable architectures and fordecreasing performance problems:

Approaches:

Paravirtualization: Port guest OS code to a modified ISA.Development effort.Need to adapt code for every OS.Source code must be available.

Binary translation: Replace non-virtualizable instructionsby emulation code or VMM calls.

Does not require source code.Some emulations are possible in user space.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 42/55

Page 43: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

Impure virtualization

Example: XEN

Xen: VMM open-source for x86.

Strategy: Paravirtualization.Small modifications into the OS to simplify virtualization.

Examples of paravirtualization:Avoid TLB flush when the VMM is invoked.

Xen mapped to upper 64MB in each VM.Allow guest to allocate pages.

Check if protection restrictions are not violated.Protection between programs and guest→ Useprotection levels from x86:

Xen (0), Guest (1), Programs (3).

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 43/55

Page 44: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

Impure virtualization

Changes in Xen

Changes needed in Linux→ around 3,000 lines of code.1% x86 specific code.

Operating System Runs as host Runs as guestLinux 2.4 Yes YesLinux 2.6 Yes YesNetBSD 2.0 No YesNetBSD 3.0 Yes YesPlan 9 No YesFreeBSD 5 No Yes

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 44/55

Page 45: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

Impure virtualization

Performance in Xen

92 94 96 98 100

SPEC INT 2000

Linux build time

PostgreSQL rec. info

PostgreSQL OLTP

dbench

SPEC Web99

100

97

92

95

96

99

Performance relative to native Linux

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 45/55

Page 46: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

ISA Technologies

7 Virtualization technologiesImpure virtualizationISA Technologies

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 46/55

Page 47: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

ISA Technologies

Intel Virtualization Technology

Adds new instructions:VMXONVMXOFFVMLAUNCHVMRESUME. . .

Guest OS 1 VMM

VMXON

VMXOFF

Guest OS 2

VM Entry

VM Exit VM Entry

VM Exit

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 47/55

Page 48: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

ISA Technologies

AMD Secure Virtual Machine

Adds new instructions:VMRUN/VMLOAD.VMCALL/VMSAVE.. . .

Guest OS 1 VMM

EFER.SVME=1

EFER.SVME=0

Guest OS 2

VMRUN/VMLOAD

VMEXIT/VMSAVE VMRUN/VMLOAD

VMEXIT/VMSAVE

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 48/55

Page 49: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

ISA Technologies

Operation modes

VMX root:Fully privileged.Designed to be used with VMM.

VMX non-root:Non privileged.Designed to be used by guest software.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 49/55

Page 50: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

ISA Technologies

Entering and exiting virtual machines

VM Entry:Transition from VMM to host.Enters non-root mode.Loads guest state.VMLAUNCH instruction used for initial entry.VMRESUME instruction used for subsequent entries.

VM Exit:VMEXIT instruction used to enter VMM mode.Enters in root mode.Saves guest state.Loads VMM state.There are instructions and events that cause a VMEXIT.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 50/55

Page 51: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Virtualization technologies

ISA Technologies

Benefits from VT technology

Decreases OS dependency.Removes needs for binary translation.Facilitates the support for old operating systems.

Improves robustness.Removes need for complex techniques.Smaller and simpler VMMs.

Improves performance.Less transitions to VMM.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 51/55

Page 52: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Conclusion

1 Virtual memory

2 Policies

3 Page table

4 Virtual machines

5 VMM: Virtual Machine Monitors

6 Virtualization hardware support

7 Virtualization technologies

8 Conclusioncbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 52/55

Page 53: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Conclusion

Summary

Virtual memory offers a mechanism for translation,facilitating protection and sharing.Virtual memory policies:

Placement: Fully associative.Identification: Page Table.Replacement: Usually LRU with TLB support.Writing: Always write-back.

Virtual machines: isolation, security, reliability, and sharing.Uses of VMM: protection, management sw/hw (isolation,consolidation, migration).Technologies: Impure virtualization and solutions in ISA.

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 53/55

Page 54: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Conclusion

References

Computer Architecture. A Quantitative Approach5th Ed.Hennessy and Patterson.Sections: B.4, 2.4.

Recommended exercises:B.12, B.13, B.14, 2.20, 2.21, 2.22, 2.23

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 54/55

Page 55: Virtualization and memory hierarchy

Virtualization and memory hierarchy

Conclusion

Virtualization and memory hierarchyComputer Architecture

J. Daniel García Sánchez (coordinator)David Expósito Singh

Francisco Javier García Blas

ARCOS GroupComputer Science and Engineering Department

University Carlos III of Madrid

cbed – Computer Architecture – ARCOS Group – http://www.arcos.inf.uc3m.es 55/55