Generalised radix page table: A page table for modern architectures
Authors
NICTA, Sydney, Australia
UNSW, Australia
Abstract
This paper presents a new page table structure, the variable radix page table, which overcomes many of the disadvantages of other page table structures. Unlike a hashed page table, the variable radix page table naturally accommodates shared segments and mixed page sizes. But unlike a multi-level page table, the radix page table is space-efficient and requires few memory references to look up, even in large and sparse address spaces. Our measurements show that the variable radix page table outperforms other page table structures, and is even competitive with a memory-based TLB cache.
Recent research has shown that thrashing of the TLB is an increasing bottleneck in modern processors: measurements of the TLB's contribution to execution time often exceed 4%. Such results sometimes even understate the full impact of TLB thrashing due to the presence of indirect overheads such as cache pollution and the effect of exceptions on the processor pipeline. By reducing the cost of TLB misses, the variable radix page table can achieve a significant overall speedup. The variable radix page table's mixed page size support also facilitates the reduction of TLB miss frequency, addressing the architectural imbalance that causes TLB thrashing. Our conclusions are also significant in the debate on the different hardware organizations in use for virtual memory.
BibTeX Entry
@inproceedings{Szmajda_Heiser_03, address = {Aizu-Wakamatsu City, Japan}, author = {Christan Szmajda and Gernot Heiser}, booktitle = {Asia-Pacific Computer Systems Architecture Conference}, month = sep, pages = {290-304}, paperurl = {https://trustworthy.systems/publications/papers/Szmajda_Heiser_03.pdf}, publisher = {Springer}, title = {Generalised Radix Page Table: A Page Table for Modern Architectures}, year = {2003} }