File maintenance and performance


This topic describes how to manage and maintain the following files:

Control File

For a new allocation, ThruPut Manager attempts to cold start the control file, which might resides in the coupling facility, and reports errors if it is not 64 cylinders in size. For more information, see XCF Notepad.

JESplex considerations

You should place the control file on a device that provides good to excellent service times. Access to the file has been optimized for a cylinder boundary.

MINDORM, MAXDORM, and MINHOLD

You can use the MINDORM, MAXDORM, and MINHOLD keywords to make sure that all systems sharing the file can access it. These keywords are similar to the equivalent parameters in JES2.

Important

If these values are omitted, the JES2 MASDEF values are used. If the JES2 CYCLEMGT=AUTO option is specified, these values are updated every checkpoint cycle.

By default, if no values are explicitly set by the installation, they are set to be the same as the current JES2 MASDEF DORMANCY and HOLD parameters. This includes support for any changes made because of the JES2 $TMASDEF command or the MASDEF CYCLEMGT(AUTO) parameter.

For new installations, we recommend that you use the JES2 values because ThruPut Manager works closely with JES2.

For existing installations that are running well, continue with their current parameters.

If the JES2 defaults are not apparently appropriate for your situation, consider using the keywords described in the following sections. You can specify these keywords on the FILE CF TMSS initialization statement or on a CFM SET TMSS initialization statement within a FOR group. You can change these keywords with the /CFM SET operator command.

You can use the MAXHOLD keyword that allows you to specify the maximum time a system can hold the control file. The MAXHOLD keyword is intended to control JESplex members that do not run much batch work. To use this keyword, ThruPut Manager be running on all members of the JESplex, but these non-batch members should not interfere with control file activity by any unnecessary accesses.

A recommended set of time values for a quiet or non-batch member is MINDORM(0) MAXDORM(12000) MAXHOLD(25). These values make the member responsive if any activity originates from that member, such as a job arriving or a VARY ONLINE command being issued. Otherwise, it only accesses the control file only once every 2 minutes, and releases it immediately if no work is to be processed.

DEPTH keyword

You can use the DEPTH keyword to control how many JES2 action requests can be queued before ThruPut Manager waits.

You can specify these keywords on the FILE CF TMSS initialization statement or on a CFM SET TMSS initialization statement within a FOR group. You can change these keywords with the /CFM SET operator command.

CF and RESERVE

For performance reasons, unless required for replication, do not allow the control file RESERVE to be converted to a GLOBAL ENQ or propagated as a GLOBAL ENQ. If your installation is using GRS or a similar means of propagating ENQs, do not include the CF RESERVE in the RESERVE conversion RNL, but include it in the SYSTEMS exclusion RNL.

The qname for the CF RESERVE is TMRMCF.

The rname is formed by the data set name, padded with blanks to 44 characters, followed by the serial number of the volume containing the control file.

Sharing the control file

For each JESplex, you must share the control file among all systems included in that JES2 node. Do not share the control file across JES2 nodes. If your installation uses MIM and shares DASD across multiple JES2 nodes, then control file sharing is required to allow DCS to communicate holder information. Otherwise, configure DCS to use cross-systems communication via the DCS SET XCF(ON) TMSS initialization statement.

ThruPut Manager does not allow two active nodes with the same name.

Maintaining the control file

You can use the, DTMCFMU8, support facility to maintain the control file and detect problems. This utility copies the control file to another area or device type. It also provides a formatted dump for repair or analysis of the control file.

To use the move function, the control file must be 64 cylinders on a 3380 or 3390 space, regardless of the device used. Allocate on a cylinder boundary and on a device that provides good to excellent service times.

To move the control file, run the DTMCFMU8 member in the INSTALL data set with the following changes:

//Name EXEC PGM=DTMCFMU7,PARM=COPY
//SYSPRINT DD SYSOUT=*
//DTMRMCF DD DSN=name.of.the.control.file,DISP=OLD
//NEWRMCF DD DSN=name.of.the.new.file,DISP=(,CATLG),
// SPACE=(CYL,64,,CONTIG),UNIT=unitname

To dump the control file, run the DTMCFMU8 member in the INSTALL data set with the following changes:

//Name EXEC PGM=DTMCFMU7,PARM=DUMP
//SYSPRINT DD SYSOUT=*
//DTMRMCF DD DSN=name.of.the.control.file,DISP=OLD
//DTMDUMP DD SYSOUT=*

Duplexing the control file - Using the control file utility

Important

As of TMT7128, this process has been moved within TMSS and a separate STC is no longer required. See the discussion of the DUPLEX and DUPINT options on the FILE CF TMSS initialization statement in the Base Product System Programming Guide. The new TMSS method automatically enforces the requirement of only having one duplex subtask running per CF and automatically fails over to the duplex in the event of an I/O error on the primary CF, reducing the need for manual intervention.

The DUPLEX function of DTMCFMU7 provides a means to protect against the risk of control file media damage. A sample PROC is provided:

//TMDUPLX PROC CF=’control.file’,I=10,
// DUPLEX=’control.file.DUPLEX’
//TMDUPLX EXEC PGM=DTMCFMU7,TIME=1440,REGION=0K,
// PARM=’DUPLEX,&I’
//STEPLIB DD DISP=SHR,DSN=tm.load.library
//SYSPRINT DD SYSOUT=*
//DTMRMCF DD DISP=SHR,DSN=&CF
//NEWRMCF DD DISP=SHR,DSN=&DUPLEX

You can modify:

  • &CF - control file data set name
  • &DUPLEX - data set the same size as the control file on a different physical volume, preferably via a different channel/control unit path.
  • &I - Frequency in seconds the control file is examined for changes. The DUPLEX file is only written to when changes to the control file are detected. Only the portions with changes are read and written.

Duplexing has very low overhead, one EXCP per cycle fixed overhead, plus the necessary I/O when changes are detected. A very low “I” parameter, say 2 or 3 seconds increases the overhead, but almost certainly ensures a seamless recovery from the duplex file. A high “I” parameter, say 30 to 60 seconds yields an almost negligible overhead at a risk of small data loss during the recovery process. This choice may require more operator intervention after recovery, e.g. some jobs may need to be re-analyzed.

The DUPLEX STC should be run once per control file instance, it doesn’t matter which system is used, no reserves are issued. ThruPut Manager must be active on at least one system sharing the control file, otherwise the DUPLEX STC will simply make one copy of the control file and terminate.

The DUPLEX STC stops in response to a P TMDUPLX command, or shortly after the last copy of ThruPut Manager terminates that is sharing the control file.

If control file damage occurs, the recommended recovery procedure is as follows:

  1.  Stop duplexing with P TMDUPLX command.
  2.  Stop ThruPut Manager on all systems sharing the CF with /PTM if possible, otherwise CANCEL.
  3.  Rename the production control file.
  4.  Rename the DUPLEX file to the control file name.
  5.  Restart ThruPut Manager on all systems sharing the CF.
  6.  Create a new DUPLEX file and restart TMDUPLX.

Volume Information File

ThruPut Manager issues both a RESERVE and an ENQ for the Volume Information File (VIF). For performance reasons, do not allow the VIF RESERVE to be converted to a GLOBAL ENQ or propagated as a GLOBAL ENQ. If your installation is using GRS or a similar means of propagating ENQs, do not include the VIF RESERVE in the RESERVE conversion RNL, but include it in the SYSTEMS exclusion RNL.

The qname used by ThruPut Manager for both the VIF RESERVE and ENQ is DTMVIF.

The rname for the RESERVE is formed by the data set name, padded with blanks to 44 characters, followed by the serial number of the volume containing the VIF:

SYS2.TMVnn.VIFILE.PROD WORK01

The rname for the ENQ is formed in the same way, but LOCK is appended to the volume serial number:

SYS2.TMVnn.VIFILE.PROD WORK01LOCK

Sharing the VIF

The VIF should be shared across nodes. To allow JSS to hold and release all jobs depending on a particular volume, the VIF must be shared by all systems using the same set of volumes. If systems from multiple nodes share the VIF, each node must have a unique name.

Maintaining the VIF

You can move the VIF among identical device types. If it is necessary to move the file to a different device type, you must reallocate and format the VIF. If you move the VIF to a different device type, the operator is informed and can format the file. TMSS always asks for operator confirmation before formatting the VIF.

Contention Management Facility file

You can use the snapshot facility to transfer the records from one shared file to another external file suitable for input to the management reporting system. This data is not critical so the consequences of losing some records are not severe.

The contention management facility (CMF) file is a DASD file, consisting of a CMF Control Record and a variable number of data set contention records. The control record points to where to write the next record. The structure of the file prevents you running out of space by using a wraparound technique.

The CMF file does not use a reserve.

Maintaining the CMF file

Establish a cycle (daily, weekly, and so on) for data unloading that suits your installation.

The CMF file is completely portable among supported devices. You can copy it to a different device for ThruPut Manager to use without reformatting it.

CMF file sharing should duplicate control file sharing—the CMF file should be shared to include all systems in a particular JES2 node, and there should be one CMF file per JESplex.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*