2. October 21
Introduction to Virtual memory and TLB
• virtual memory is a memory management technique that is implemented using
both hardware and software. It maps memory addresses used by a program,
called virtual addresses into physical addresses in computer memory.
• Each process has a large private virtual address space which are typically 4K
bytes in size.
• Memory Manager divides the virtual address space into equal sized pieces
called pages
• Memory Manager divides the physical address space into equal sized pieces
called frames
2
10. • If memory is requested on demand, it may be assigned out of order.
• Demand paging allocates single pages even when large amount of physical
memory is available.
• Used in place of demand paging.
• Allocates contiguous memory.
• Similar to buddy paging.
Eager Paging
October 21 10
12. • Implemented in Linux kernel v3.15.5.
• RMM is defined with respect to Intel x86-64 Snady Bridge dual-socket Xeon E5-
2430 core.
• Chosen a 32-entry fully associative range TLB accessed in parallel with the L2
page TLB.
• Workloads with poor TLB performance from SPEC 2006, BioBench, Parsec, and
big-memory workload were selected.
October 21 12
14. 14
Summary
Redundant memory mappings is a robust translation
mechanism that improves performance by reducing cost
of virtual memory.
RMM efficiently represents ranges of many pages that
are virtually and physically contiguous.
RMM requires modest changes to existing hardware and
oprating system.
The resulting system delivers a virtual memory system
that gives high performance, flexibility and completely
transparent to applications.
October 21