Virtual Memory Requirements

Each MSO user requires a certain amount of virtual memory within the MSO address space. OS/390 splits virtual memory into two main types: "above the line" and "below the line." The "line" being referred to is the 16-megabyte line, which divides 24-bit-addressable storage from 31-bit-addressable storage. Above-the-line virtual memory is where most of the memory for each user resides. Certain OS/390 functions and data areas, however, must reside below the line. Because OS/390 restricts below-the-line memory more severely than above-the-line memory, it is below-the-line memory that most impacts MSO capacity planning.

In this section:

Below-the-line Memory Requirements

Above-the-line Memory Requirements

Below-the-line Memory Requirements

Each MSO user requires some memory residing below the 16-megabyte line. Certain operating system control blocks (such as TCBs) and I/O access method buffers must reside below the line. Usually, this below-the-line memory must fit in the user private area of virtual address space; the size varies from site to site but is usually from 6 to 10 megabytes. Thus, all users in a single MSO address space must share a site-limited below-the-line user private area that may only be 6 megabytes in size.

Most below-the-line memory requirements are due to MVS access methods such as BSAM, BPAM, QSAM, and BDAM. These access methods require one to five blocks of memory below the line while the file is open. Suppose a FOCUS MODIFY FIXFORM command opening a QSAM file, requires 5 buffers below the line for an MVS GETMAIN. If the blocksize of the input file is 12K, then this file will require 60K of below-the-line private user area while the MODIFY is executing.

In addition to MVS access method buffers, FOCUS requires that each MSO user have a non-shareable load module called XAIO resident below the line. Currently XAIO is 20K in size. Most of the space required by XAIO is for data areas that cannot be shared.

Finally, there are some miscellaneous MVS system-oriented data areas that must be resident for each MSO user. These data areas total about 16K per user.

It is important to remember that only open files require buffer space below the line, and that these buffers are freed as soon as the user closes the file. Thus, in the FIXFORM example above, as soon as the MODIFY command finishes its processing, the 60K needed by QSAM is freed, and the memory can then be used for another MSO user.

As an example, if each MSO user requires the following open files, we can estimate the total user private area requirements:

Use

Blocksize

Number of Blocks

Total

MASTER

4K

1

4K

FOCEXEC

4K

1

4K

FOCFILE

4K

1

4K

INFILE

12K

5

60K

XAIO

25K

 

25K

Miscellaneous

16K

 

16K

TOTAL

 

 

113K

If the site has a 9-megabyte below-the-line user private area, then we can potentially fit 9216/108 or 85 users in this MSO address space.

As another example, if we design our application to use FOCUS SU and we make the blocksizes smaller, we can get the following:

Use

Blocksize

Number of Blocks

Total

MASTER

1K

1

1K

FOCEXEC

2K

1

2K

XAIO

25K

 

25K

Miscellaneous

16K

 

16K

Total

 

 

44K

If the site has a 9-megabyte below-the-line user private area, then we can potentially fit 9216/39 or 236 users in the MSO address space.

By using the MSO Console, you can see at a glance how much memory is being used by each task in an MSO address space. The DU display includes columns for below-the-line and above-the-line virtual storage, and makes it possible to easily project the capacity of the MSO address space, in terms of virtual storage restrictions.


Top of page

Above-the-line Memory Requirements

While below-the-line memory in an MVS address space is severely restricted, above-the-line memory is essentially unbounded. Potentially in an OS/390 address space, the user private area can be over 2000 megabytes in size. Most of the FOCUS programs and data areas are above the line. Each FOCUS MSO user will require roughly 4 megabytes of virtual memory above the line, which means that over 500 users can potentially fit into above-the-line memory in a single address space.

In practice, MVS limits the amount of virtual memory that a single address space can access. In early versions of MVS/XA, the site codes an IBM exit called IEFUSI to change the default above-the-line virtual memory limit for an address space, which is 32 megabytes. This means that at 4MB per user, only about 8 users can fit into the default limits. This 32-megabyte default, however, can be changed to any value desired by the site. To support 50 users at 4MB per user, the IEFUSI limit must be changed to 200MB. The configuration file parameter MAXIMUM should be set to this number (50).

In MVS/ESA or later versions of XA, the job's REGION parameter can be directly set to any limit desired for the MSO job. To support 50 MSO users, one would simply specify REGION=200M.

The 4MB virtual memory requirement per user used above can vary, depending on the FOCUS applications used. For example, large MODIFY programs may require 5MB of memory, the FOCUS cache facility can dramatically increase memory requirements for each user, and FOCUS database interfaces may require additional memory. Once again, the MSO Console DU display can be used to determine the actual amount of above-the-line memory being used by each user.


Information Builders