Superpages' page
Most general-purpose processors provide support for memory pages of
large sizes, called 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.
Publications and presentations
-
Juan Navarro,
Sitaram Iyer,
Peter Druschel and
Alan Cox.
Practical, transparent operating system support for superpages.
Fifth Symposium on Operating Systems Design and Implementation
(OSDI '02), Boston, Mass., Dec 2002.
[ abstract |
postscript |
html |
powerpoint ]
Source code
Prototype implementation for Alpha/FreeBSD 4.3.
[ tar.gz |
readme |
license ]
Prototype implementation for IA-64/FreeBSD 5.0.
[ tar.gz |
readme |
license ]
Links
ScalaServer
umbrella project