z/OS DFSORT Tuning Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Operation

z/OS DFSORT Tuning Guide
SC23-6882-00

In addition to DFSORT, central storage can be used by many other applications and system components, such as DB2® buffer pools, VSAM Hiperspace, Hiperbatch, virtual lookaside facility (VLF), VIO, and the paging subsystem. To avoid overusing storage, which can lead to paging data set space shortages and increased system paging activity, DFSORT uses several safeguards.

To begin with, DFSORT is always aware of the future storage needs of other concurrent DFSORT applications. A DFSORT application never attempts to back its memory object, Hiperspace or data space data with storage that is needed by another DFSORT application.

Next, DFSORT dynamically determines the amount of available storage prior to creating each memory object, Hiperspace or data space. "Available" storage is the storage used to back new Memory Object, Hiperspace or data space data. It consists of two types:
  • Free storage is storage that is not being used by any application.
  • Old storage is storage that is being used by other applications, but whose data has been unreferenced for a long period of time. This time period is long enough that the system deems it eligible for migration to auxiliary storage to make room for new data.

Knowing both the amount of storage needed by other DFSORT applications and the amount of available storage, along with the values of DFSORT installation options EXPMAX, EXPOLD, EXPRES and TUNE, DFSORT can assess the impact of creating a memory object, Hiperspace or data space. This greatly reduces the likelihood of overusing central storage, especially as a result of multiple large concurrent DFSORT applications. It also allows sites to customize their total use of storage by DFSORT applications through the EXPMAX, EXPOLD, EXPRES and TUNE installation options. These can only be specified as installation wide defaults using an ICEPRMxx member of PARMLIB or the ICEMAC macro.

MOSIZE, HIPRMAX and DSPSIZE control the amount of memory object, Hiperspace and data space each individual DFSORT application can use while EXPMAX, EXPOLD, and EXPRES control the total amount of storage used by all DFSORT applications running in the system. These can be specified as installation wide defaults using an ICEPRMxx member of PARMLIB or the ICEMAC macro, overridden at run-time with an EXEC PARM option or OPTION control statement, or overridden with an installation wide ICEIEXIT exit routine.

The MOWRK installation default controls whether memory objects can be used as intermediate work space. If MOWRK=NO is in effect, then memory objects can only be used as additional main storage. MOWRK can be specified as an installation wide default using an ICEPRMxx member of PARMLIB or the ICEMAC macro, or overridden at run-time with an EXEC PARM option or OPTION control statement. MOWRK cannot be overridden with an ICEIEXIT exit routine.

When memory objects or data spaces are used as additional main storage, each sort creates one large area at the beginning and no adjustments are made until the memory object or data space is deleted when the sort terminates.

When memory objects or Hiperspaces are used as intermediate work space, DFSORT has the ability to create up to 16 memory objects or Hiperspaces which can be allocated incrementally or all at once. The advantage of allocating storage in increments is that multiple concurrent sorts can more evenly share available central storage resources since available central storage is evaluated prior to creating each new memory object or Hiperspace. When storage is allocated in this way, DFSORT's dynamic allocation of work data sets must allocate additional space to safeguard against any unexpected increase in disk work space requirements if central storage resources become constrained during the sort. When each sort allocates all of it's memory object or Hiperspace immediately, DFSORT's dynamic allocation can be more aggressive in reducing space allocations since it is less likely that the disk work space allocations will be larger than expected. However, when multiple sorts are running concurrently, a small number of them may monopolize the available central storage while others are forced to use only disk work space.

DFSORT provides the TUNE installation default to control how DFSORT evaluates available resources and allocates memory objects, Hiperspaces and data spaces. If balancing storage usage by multiple concurrent sorts is a priority, the shipped default of TUNE=STOR is recommended. If conserving disk work space is a priority, TUNE=DISK is recommended. TUNE can be specified as an installation wide default using an ICEPRMxx member of PARMLIB or the ICEMAC macro. TUNE cannot be overridden with an ICEIEXIT exit routine.

The following are actions you can take which might increase DFSORT's use of memory objects, Hiperspaces and data spaces:
  • Ensure that MOSIZE=MAX, MOWRK=YES, HIPRMAX=OPTIMAL and DSPSIZE=MAX are used. These parameters can be specified as installation-wide defaults using an ICEPRMxx member of PARMLIB or the ICEMAC macro, or overridden at run-time with an EXEC PARM option or OPTION control statement. MOSIZE, HIPRMAX and DSPSIZE can also be overridden with an installation-wide ICEIEXIT exit routine.
  • Verify that a sufficient size for memory objects is defined by the MEMLIMIT parameter on the JOB or EXEC JCL statement. Note that if REGION=0M is specified, MEMLIMIT=NOLIMIT is assumed. If REGION is set equal to a value other than 0M and MEMLIMIT is not specified, the default MEMLIMIT value defined in the SMFPRMxx member of PARMLIB is used.
  • Verify that IEFUSI does not place any restrictions on the size of the memory objects, Hiperspaces or data spaces a single address space can create.
  • Ensure that DFSORT has accurate information about the input file size. DFSORT can automatically estimate the file size for disk input data sets, and tape data sets managed by DFSMSrmm or a tape management system that uses ICETPEX. See “File Size and Dynamic Allocation” in z/OS DFSORT Application Programming Guide for information on situations where DFSORT cannot determine the file size accurately, and what to do about it.
  • Verify that there is sufficient available central storage present to back DFSORT's memory objects, Hiperspaces and data spaces.

See Installation considerations and Run-time considerations for further details on how best to tune DFSORT's use of memory objects, Hiperspaces and data spaces.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014