Calculating resource structure entry and element values to maximize storage

Several different resources can be stored in the resource structure. It is important to create a resource structure of sufficient size to accommodate these resources. Use the recommendations in this topic to calculate a resource structure of appropriate size.

An IMS system with a defined resource structure stores transaction names in the resource structure. Additional resources can be stored in the resource structure depending on the IMS functions that you enable, as shown in the following table:

Table 1. Resources stored in the resource structure
IMS function that is enabled Resources that are stored in the resource structure Comments
IMS sysplex terminal management
  • APPC descriptor
  • node name
  • remote and local system identifications / names in a Multiple Systems Coupling (MSC) environment
  • user ID
  • CPIC transaction
  • user information
Resources are not stored if sysplex terminal management is disabled by defining STM=NO on the DFSDCxxx PROCLIB data set member.
IMS global online change Global online change stores a resource on the resource structure to manage the global online change process. Resources are not stored unless global online change is enabled by specifying OLC=GLOBAL on the DFSCGxxx PROCLIB data set member.
IMS global status for areas, databases, and transactions
  • global area information
  • global database information
  • global transaction information
Resources are not stored unless global status for areas, databases, and transactions is enabled by using either:
  • The COMMON_SERVICE_LAYER section of the DFSDFxxx PROCLIB member data set and specifying GSTSDB=(Y) to enable global database status, GSTSAREA=(Y) to enable global area status, and GSTSTRAN=(Y) to enable global transaction status.
  • The DFSCGxxx PROCLIB data set member.
Serialized program management serialized program names Resources are not stored unless serialized program management is enabled by specifying the GBL_SERIAL_PGM parameter in the DFSCGxxx member of the IMS PROCLIB data set.

Each resource is stored on the resource structure using a 128-byte entry, and either zero, one, or more 512-byte data elements. The 128-byte entry contains 64 bytes for z/OS® control information, and 64 bytes for user data in an adjunct area. Both IMS and CQS use a portion of the 512-byte data element as a prefix. The remaining bytes are available for client data.

Use the entry-to-element ratio when allocating the resource structure to reserve portions for entries and data elements. The more accurate the ratio is for actual resources stored on the resource structure, the less storage is wasted. The number of entries is equal to the number of resources. The number of data elements depends on the number of resources for each resource type.

The information and formulas in the following table can help you determine the ENTRY and ELEMENT values to define in the CQSSGxxx PROCLIB data set member. For each resource type used by your installation, add the entry value to the entry sum and add the element value to the element sum. To calculate the ENTRY value, locate the resource types used by your installation in the table and add the entry value for the resource types to the system resource value. To calculate the ELEMENT value, locate the resource types used by your installation and add the element value for the resource types to the system resource value.

For example, if you do not use sysplex terminal management (STM=NO), the ENTRY value is the number of transactions plus 8 (system resources), and the ELEMENT value is 14 (system resources).

Table 2. Formulas for calculating resource structure entry and element values
Resource type System definition status, if applicable Entry value Element value Meaning
APPC descriptor STM=NO 0 0 Unique APPC descriptors in the IMSplex
STM=YES Number of descriptors 0, if the number of IMS systems is less than 3. If the number of IMS systems is greater than 2, the count is (the number of IMS systems) multiplied by (the number of IMS systems - 2) divided by 29 (rounded up).
Area GSTSAREA=(N) 0 0 Area with global status. This can be the number of Fast Path areas you plan to use to maintain global status, or the total number of areas.
GSTSAREA=(Y) Number of Fast Path areas  
Database GSTSDB=(N) 0 0 Databases with global status. This can be the number of databases that you plan to use to maintain global status, or the total number of databases.
GSTSDB=(Y) Number of databases  
Global Online Change OLC=LOCAL 0 0 Global Online Change in progress.
OLC=GLOBAL 1 1
Lterm STM=NO 0   System generated and dynamic logical terminals.
STM=YES Number of LTERMs  ¹ 0
MSName STM=NO 0 0 Unique system-generated MSNames in the IMSplex.
Node STM=NO 0 0 System generated and dynamic nodes
STM=YES Number of VTAM® nodes ¹ Number of ISC nodes with multiple parallel sessions multiplied by (the node's maximum parallel sessions - 1) divided by 29, rounded up.
Serial program   Number of serial programs 0 System generated and dynamic programs that are defined with a scheduling type of SERIAL
System resources   8 + (x multiplied by 3) + (y) + (z) + q ³ 14 + (x multiplied by 2) ⁴ IMS, CQS, and RM resources
x
The number of IMS systems
y
The number of CQSs
z
The number of RMs
q
The number of structures
Transactions   Number of transactions 0 System generated, non-CPIC transactions
CPIC transactions STM=NO 0 0 CPIC transactions invoked by APPC
STM=YES Number of CPIC transactions 0, if the number of IMS systems is less than 3. If the number of IMS systems is greater than 2, the value is the number of CPIC transactions multiplied by (the number of IMS systems - 1) divided by 29, rounded up.
User ID STM=NO 0 0 Maximum number of user IDs signed on.
STM=YES Number of user IDs if SGN is not either G, M, or Z.  
User STM=NO 0 0 Dynamic users and unique static ISC subpools
STM=YES Number of users ¹ Number of users ²
User - static node STM=NO 0 0 Unique static single-session users
STM=YES Number of static users ¹ Number of static users ²
Note:
  1. The entry value is the maximum number of LTERMs or nodes where:
    • the assigned node is logged on.
    • the assigned node has significant status
    • the assigned user is signed on.
    • the LTERMs have significant status.
  2. The element value is normally one per user or static node user, but it is greater than one if either the number of LTERMs is excessive, the number of held conversations is excessive, or both. Each user or static node user resource stores a minimum of the sum of the following values:
    176 bytes in a data element +
    16 bytes for each associated LTERM +
    52 bytes for each held conversation +
    196 bytes if a Fast Path transaction is in progress
    If the number of bytes exceeds the amount available for client data in a data element, more data elements are used.
  3. The IMS, RM, and CQS system resource entries include:
    • CQSGLOBAL
    • CQSGLOBALCONN
    • CQSLOCALcqsid (one per CQS)
    • CQSRECOVER (one per structure type MSGQ, EMHQ, and resource)
    • CSLRGBL
    • CSLRLrmid (one per RM)
    • CSLRMPRCprocessid (one per IMSplex-wide process)
    • CSLRRTYP
    • DFSGBLPLXPN
    • DFSGBLSYS
    • DFSSTMGBL
    • DFSSTMLimsid (one per IMS)
    • Primary master terminal (one per IMS)
    • Secondary master terminal (one per IMS)
  4. The IMS, RM, and CQS system resource elements include:
    • CQSGLOBAL
    • CQSGLOBALCONN
    • CSLRGBL
    • CSLRMPRCprocessid (one per IMSplex-wide process)
    • CSLRRTYP (9)
    • DFSGBLSYS
    • Primary master terminal (one per IMS)
    • Secondary master terminal (one per IMS)

If the entry or element value exceeds the maximum value of 65 535, reduce the entry or element value to a value that is less than 65 535. If the value of the elements divided by the entries is greater than 120, reduce the values so that the value of the elements divided by the entries is less than or equal to 120. For example, if your calculation results in a ratio of 131 070 entries to 65 535 elements, this can be reduced to a ratio of two entries to one element, because 131 070 divided by 65 535 is equivalent to 2 divided by 1. If you want to allocate a structure large enough to support your maximum number of IMS systems, RMs, CQSs, and resources, use the maximum values in the table above to calculate the values from the formula.

Make sure that your structure's number of entries and elements is greater than the calculated entry and element values prior to activating STM. If it is not, you can use the z/OS SETXCF command to make your structure bigger.