Shared page table: Sharing of virtual memory resources

Young Woong Ko, Hyuck Yoo

Research output: Contribution to journalArticle

Abstract

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 bottle-neck. 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.

Original languageEnglish
Pages (from-to)45-55
Number of pages11
JournalIEICE Transactions on Information and Systems
VolumeE86-D
Issue number1
Publication statusPublished - 2003 Jan

Fingerprint

UNIX
Data storage equipment
Bottles
Hardware
Experiments

Keywords

  • Shared memory
  • Shared page table
  • Thrashing
  • Virtual memory

ASJC Scopus subject areas

  • Information Systems
  • Computer Graphics and Computer-Aided Design
  • Software

Cite this

Shared page table : Sharing of virtual memory resources. / Ko, Young Woong; Yoo, Hyuck.

In: IEICE Transactions on Information and Systems, Vol. E86-D, No. 1, 01.2003, p. 45-55.

Research output: Contribution to journalArticle

@article{d9726724c341429081484be994ab7c7e,
title = "Shared page table: Sharing of virtual memory resources",
abstract = "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 bottle-neck. 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.",
keywords = "Shared memory, Shared page table, Thrashing, Virtual memory",
author = "Ko, {Young Woong} and Hyuck Yoo",
year = "2003",
month = "1",
language = "English",
volume = "E86-D",
pages = "45--55",
journal = "IEICE Transactions on Information and Systems",
issn = "0916-8532",
publisher = "Maruzen Co., Ltd/Maruzen Kabushikikaisha",
number = "1",

}

TY - JOUR

T1 - Shared page table

T2 - Sharing of virtual memory resources

AU - Ko, Young Woong

AU - Yoo, Hyuck

PY - 2003/1

Y1 - 2003/1

N2 - 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 bottle-neck. 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.

AB - 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 bottle-neck. 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.

KW - Shared memory

KW - Shared page table

KW - Thrashing

KW - Virtual memory

UR - http://www.scopus.com/inward/record.url?scp=0041474806&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0041474806&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:0041474806

VL - E86-D

SP - 45

EP - 55

JO - IEICE Transactions on Information and Systems

JF - IEICE Transactions on Information and Systems

SN - 0916-8532

IS - 1

ER -