OS_Support_for_Super Pages

OS_Support_for_Super Pages - Practical, transparent...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Practical, transparent operating system support for superpages Juan Navarro Sitaram Iyer Peter Druschel Alan Cox jnavarro, ssiyer, druschel, alc @cs.rice.edu Rice University Rice University and Universidad Cat´olica de Chile Abstract Most general-purpose processors provide support for memory pages of large sizes, called superpages . Su- perpages enable each entry in the translation lookaside buffer (TLB) to map a large physical memory region into a virtual address space. This dramatically increases TLB coverage, reduces TLB misses, and promises per- formance improvements for many applications. How- ever, supporting superpages poses several challenges to the operating system, in terms of superpage allocation and promotion tradeoffs, fragmentation control, etc. We analyze these issues, and propose the design of an ef- fective superpage management system. We implement it in FreeBSD on the Alpha CPU, and evaluate it on real workloads and benchmarks. We obtain substantial per- formance benefits, often exceeding 30%; these benefits are sustained even under stressful workload scenarios. 1 Introduction Modern general-purpose processors provide virtual memory support, using page tables for address transla- tion. Most processors cache virtual-to-physical-address mappings from the page tables in a translation looka- side buffer (TLB) [10]. TLB coverage is defined as the amount of memory accessible through these cached map- pings, i.e., without incurring misses in the TLB. Over the last decade, TLB coverage has increased at a much lower pace than main memory size. For most general- purpose processors today, TLB coverage is a megabyte or less, thus representing a very small fraction of physical memory. Applications with larger working sets can incur many TLB misses and suffer from a significant perfor- mance penalty. To alleviate this problem, most modern general-purpose CPUs provide support for superpages . A superpage is a memory page of larger size than an ordinary page (henceforth called a base page ). They are usually available in multiple sizes, often up to several megabytes. Each superpage occupies only one entry in the TLB, so the TLB coverage dramatically increases to cover the working set of most applications. This re- sults in performance improvements of over 30% in many cases, as we demonstrate in Section 6.2. Recent research findings on the TLB performance of modern applications state that TLB misses are becoming increasingly perfor- mance critical [9]. However, inappropriate use of large superpages can result in enlarged application footprints, leading to in- creased physical memory requirements and higher pag- ing traffic. These I/O costs can easily outweigh any per- formance advantages obtained by avoiding TLB misses. Therefore the operating system needs to use a mixture
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/14/2011 for the course CS 690 taught by Professor Staff during the Fall '11 term at University of Alabama - Huntsville.

Page1 / 16

OS_Support_for_Super Pages - Practical, transparent...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online