Increasing the Efficiency of Storage Pool Usage

Recommendations to make storage pool usage more efficient.
idms
The following information is recommendations to make storage pool usage more efficient.
Define a Storage Cushion
Define a storage cushion for one or more storage pools. A storage cushion is space reserved in a storage pool for use by tasks that are already executing. Use of a storage cushion helps prevent space in the storage pool from being exhausted.When the amount of unused space in storage pool 0 is smaller than the storage cushion, the DC/UCF system is said to be short on storage. The system starts no new tasks and uses the cushion to satisfy storage requests from tasks that are already executing. Storage cushions in secondary storage pools are also used only when the system is short on storage.When space in storage pool 0 is freed and the amount of unused space exceeds the storage cushion, the system accepts requests to start new tasks. Additionally, the system no longer uses the cushion to satisfy storage requests from tasks that are already executing.
Use the CUSHION parameter of the system generation SYSTEM statement to specify the size of the cushion for storage pool 0. For secondary storage pools, use the CUSHION parameter of the corresponding system generation STORAGE POOL or XA STORAGE POOL statement.
Size of the Cushion for Storage Pool 0
Typically, the size of the cushion for storage pool 0 is calculated to equal:
  • The value specified by the STORAGE POOL parameter of the system generation SYSTEM statement
  • Plus 3
  • Divided by three times the value specified by the MAXIMUM TASKS parameter of the system generation SYSTEM statement
CA ADS Runtime System
Direct the CA ADS runtime system to calculate the amount of storage required for record buffer blocks (RBBs) instead of using the size specified in the system generation ADSO statement. Calculated storage reduces the amount of wasted space in the storage pool but increases CPU usage.
To take full advantage of calculated storage, include as many records as possible either in the application global records or in the first dialog in the application thread. Either of these strategies minimizes the allocation and release of RBBs during links to lower-level dialogs and programs.
Use the STORAGE MODE IS CALCULATED parameter of the system generation ADSO statement to request calculated storage.
Define a Fast Mode Threshold
The fast mode threshold is the point at which the DC/UCF system writes CA ADS record buffer blocks (RBBs) and statistics control blocks to the scratch area (DDLDCSCR) across a pseudo-converse. If the total size of the RBBs and statistics control blocks in all storage pools exceeds the fast mode threshold, the system writes the RBBs and statistics control blocks to scratch.The fast mode threshold applies only when the system generation ADSO statement specifies RESOURCES ARE FIXED. If the ADSO statement specifies RESOURCES ARE RELOCATABLE, RBBs and statistics control blocks are always written to scratch across a pseudo-converse.Use the FAST MODE THRESHOLD parameter of the system generation ADSO statement to specify a fast mode threshold.
Relocatable Threshold
Define a relocatable threshold for one or more storage pools. The relocatable threshold is the point at which the DC/UCF system writes relocatable storage to the scratch area (DDLDCSCR) across a pseudo-converse.Relocating storage makes more efficient use of the storage pool but increases I/O to the scratch area. You should define a threshold such that the system relocates storage only when the storage pool is heavily used.Use the RELOCATABLE THRESHOLD parameter of the system generation SYSTEM statement to specify the relocatable threshold for storage pool 0. For secondary storage pools, use the RELOCATABLE THRESHOLD parameter of the corresponding system generation STORAGE POOL or XA STORAGE POOL statement.
Define Secondary Storage Pools
Define secondary storage pools from which user programs can obtain storage space. Defining secondary storage pools allows the isolation of user-program storage from system storage and helps prevent the system from stalling when user programs require large amounts of storage space.
Operating systems that support 31-bit addressing:
If secondary storage pools are defined, at least one of the pools should be in 24-bit memory (that is, non-XA).You can assign one or more types of storage to each secondary storage pool that you define. To minimize the number of control tables that the system must search for a particular type of storage, however, you should assign each type of storage to no more than one storage pool. Use the STORAGE POOL and XA STORAGE POOL statements to define secondary storage pools.
Dynamic Storage Pool Expansion
Dynamically expand storage allocations for designated storage pools, rather than initiate short on storage actions. XA storage pools can be expanded by 50% of the original size and expanded up to four times. Dynamic expansion is enabled by SYSGEN specifications. Dynamic expansion of the storage pool provides the following benefits:
  • Helps tolerate spikes in storage pool usage without the system becoming short on storage
  • Storage pool size adjustments are made without updating and refreshing the SYSGEN
  • Performance degradations are reduced which results in the improvement of throughput and ease of use
Additional information about dynamic expansion of storage pool:
  • Dynamic expansion does not occur if a requested storage amount exceeds 50% of the original storage pool size
  • Expansion can be enabled or disabled by updating the SYSGEN, generating, and issuing DCMT VARY SYSGEN REFRESH ALL
  • SOS conditions and behaviors will not occur until a storage pool has expanded four times by design
  • Turning dynamic expansion off and on does not reset the counter
  • Four expansions is the maximum until the IDMS system is restarted
  • Storage cushions can be utilized to minimize expansions and the resulting DC015008 message in the job log
  • If an expansion attempt fails, a DC015009 message is issued
  • The requesting task is subject to SOS behavior
More Information: