Figure 1 identifies two reference
patterns that characterize
most of the reference patterns that reference pattern services applies
to.
Figure 1. Two Typical Reference
Patterns
How
you define the reference pattern depends on whether your program’s
reference pattern is like pattern #1 or pattern #2.
- With pattern
#1 where no uniform gap exists, the program uses
every element, every other element, or at least most elements on each
page of array data. No definable gap exists. Do not use reference
pattern services if the reference pattern is irregular and includes
skipping over many areas larger than a page.
- The unitsize parameter
identifies the reference pattern;
it indicates the number of bytes you want the system to use as a reference
unit. Look at logical groupings of bytes, such as one row, a number
of rows, or one element, if the elements are large in size. Or, you
might choose to divide the area to be referenced, and bring in that
area on a certain number of page faults. Use the value 0 on gapsize.
- The units parameter tells the system how many
reference
units to try to bring in on a page fault. For a reference pattern
that begins on a page boundary and has no gaps, the total number of
bytes the system tries to bring into central storage at a time is
the value on unitsize times the number on units,
rounded up to the nearest multiple of 4096. See Choosing the number of bytes on a page fault for
more information on how to choose the total number of bytes.
- With pattern #2 where a uniform gap exists, the pattern includes
alternating gaps and reference units. Specify the reference pattern
carefully. If you identify a reference pattern and do not adhere
to it, the system will work harder than if you had not used the service.
- The unitsize and gapsize parameters
identify
the reference pattern. Pattern #2 in Figure 1 includes
a reference unit of 20 bytes and a gap of 5000 bytes. Because the
gap is greater than 4095, some pages of the array might not be brought
into central storage.
- The units parameter
tells the system how many reference
units to try to bring into central storage at a time. What pages does the system bring in when a gap exists? can help you understand how many bytes come
into central
storage at one time when a gap exists.