An analysis of page allocation strategies for multiprogramming systems with virtual memory

  • Authors:
  • D. D. Chamberlin;S. H. Fuller;L. Y. Liu

  • Affiliations:
  • IBM Research Division Laboratory, San Jose, California;Carnegie-Mellon University, Pittsburgh, PA;IBM Research Division Laboratory, San Jose, California

  • Venue:
  • IBM Journal of Research and Development
  • Year:
  • 1973

Quantified Score

Hi-index 0.01

Visualization

Abstract

In a multiprogramming, virtual-memory computing system, many processes compete for the main storage page frames and CPU's of the real system. It is customary to define a subset of these processes called the "multiprogramming set" (MPS), and to allocate resources only to those processes currently in the MPS. Each process remains in the MPS for a limited time and is then demoted. The system paging manager controls the size of the MPS; it allocates the available page frames among the processes in the MPS and fetches appropriate pages into the page frames. A model is described that assumes the most critical resources of the system to be page frames and the paging channel (i.e., there is no significant CPU contention). The model makes certain assumptions about the page fault rate of processes as a function of page frames allocated, and about the page fetch time as a function of mean load on the paging channel. The model also incorporates a definition of the value of a given page allocation in terms of system throughput. The model is used to study various strategies for choosing an MPS and allocating page frames among processes. For simple cases, the model yields an exact optimal strategy. A heuristic strategy is proposed for dealing with more complex cases, and is shown by the model to be reasonably near optimal. The heuristic strategy monitors the page fault rate of each process and chooses an allocation such that each process can be executed at a reasonable rate, while ensuring that the paging channel is neither overloaded nor underloaded.