Practical, transparent operating system support for superpages


To appear in the Fifth Symposium on Operating Systems Design and Implementation (OSDI 2002)

Juan Navarro${}^{\ddag}$ Sitaram Iyer${}^\dag$ Peter Druschel${}^\dag$ Alan Cox${}^\dag$

{jnavarro, ssiyer, druschel, alc}@cs.rice.edu

${}^\dag $Rice University
${}^\ddag $Rice University and Universidad Católica de Chile

Abstract:

Most general-purpose processors provide support for memory pages of large sizes, called \emph{superpages}. Superpages 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 performance improvements for many applications. However, 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 effective superpage management system. We implement it in FreeBSD on the Alpha CPU, and evaluate it on real workloads and benchmarks. We obtain substantial performance benefits, often exceeding 30\%; these benefits are sustained even under stressful workload scenarios.


Read the whole paper in -- HTML / PDF / PS.gz