Browse Prior Art Database

Software Tool for Reducing Page Fault Frequency

IP.com Disclosure Number: IPCOM000036820D
Original Publication Date: 1989-Oct-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 4 page(s) / 64K

Publishing Venue

IBM

Related People

Martin, DB: AUTHOR

Abstract

This article discloses a software tool which may be used to improve the execution performance of computer programs.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 4

Software Tool for Reducing Page Fault Frequency

This article discloses a software tool which may be used to improve the execution performance of computer programs.

The software tool consists of three elements:

A way to measure and numerically describe the

storage reference activity of individual pages

within a computer program.

A method of identifying specific storage

references which cause page faults.

A means of modifying the program to reduce the

frequency of page faults.

The Reference Set of a program is the collection of pages in virtual storage which are used in any way by that program. The Working Set of a program is the smallest set of pages which should be loaded in main memory to protect the computer system against thrashing when executing that program. A Problem Reference is one which is likely to cause page faults because it is distant in time from other references to the same page.

Program execution can be improved by modifying the program to move problem references in location or in time.

When Problem References are relocated to different pages, those references are said to be moved in location. This is accomplished by techniques such as: Reordering the variable declaration statements in

the source program to change the location of data

areas.

Reordering the sequence of object code files (or

data sets) which are processed by the loader (or

linkage editor) to form an executable module.

When Problem References are relocated to different phases of program execution, those references are said to be moved in time. This is accomplished by techniques such as: Deferring the initialization of data areas until

the time of first use rather than done all at one

time, early in program execution.

Computing summary statistics as soon as necessary

variables are available, rather than waiting for a

program termination phase.

These techniques contribute to improved execution performance by reducing the Reference Set and the Working Set.

Statistics such as Reference Set and Working Set are single numbers which describe the behavior of a program as a whole. They do not convey information about the individual pages which comprise the program's Reference Set. The Page Analysis Program develops a statistic for each page in the Reference Set.

1

Page 2 of 4

This statistic is called the Page Activity Number (PAN), and it describes the time- dispersion of references. A page with a high PAN is more likely to cause page faults than one with a low PAN. This information prompts an analyst to study modules which touch high-PAN pages with a view toward improving them. Below are provided examples of how PAN is calculated, and a scenario for performance improvement which would be obtained by moving a Problem Reference on the time line.

Instruction tracing is a well-known technique, used for a variety of debugging purposes as well as program performance analyses. Tracing is not part of this tool, but is cited as a means for data collection. Tracing is...