Shared Page Table: Sharing of Virtual Memory Resources

Young-Woong KO  Chuck YOO  

IEICE TRANSACTIONS on Information and Systems   Vol.E86-D   No.1   pp.45-55
Publication Date: 2003/01/01
Online ISSN: 
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Software Systems
shared memory,  thrashing,  shared page table,  virtual memory,  

Full Text: PDF>>
Buy this Article

Traditionally, UNIX has been weak in data sharing. By data sharing, we mean that multiple cooperative processes concurrently access and update the same set of data. As the degree of sharing (the number of cooperative processes) increases, the existing UNIX virtual memory systems run into page table thrashing, which causes a major performance bottleneck. Once page table thrashing occurs, UNIX performs miserably regardless of the hardware platforms it is running on. This is a critical problem because UNIX is increasingly used in environments such as banking that require intensive data sharing. We consider several alternatives to avoid page table thrashing, and propose a solution of which the main idea is to share page tables in virtual memory. Extensive experiments have been carried out with real workloads, and the results show that the shared page table solution avoids the page table thrashing and improves the performance of UNIX by an order of magnitude.