Enhancing performance of the CHANGE function

The following methods might significantly improve the performance of the CHANGE function:
  • Caching

    • Input caching

    • Output caching

  • Thread processing

    • Input threads

    • Output threads

The effect of input and output caching on the CHANGE function depends on the following factors:

  • Type of input (image copy or area data set)

  • Type of caching that is usedCHANGE 

  • How SDEP segments (if any) are processed

Fast Path Offline Suite products include thread processing features that let you input and output DEDB areas in parallel for parallel processing. Processing multiple areas of a DEDB simultaneously can improve the performance of the products. The degree of performance enhancement that is provided by these features is dependent on the characteristics of your DEDB and the resources of your site.

The INPUT_THREADS keyword lets you specify the parallel input of a DEDB to the CHANGE function. The OUTPUT_THREADS keyword lets you specify parallel output to a DEDB from the CHANGE function.

Input caching

Input caching with the ICACHE keyword during the CHANGE function can reduce elapsed time for the function, at the cost of increased CPU utilization.

A dataspace is used to implement the cache. If the CHANGE function uses an image copy as input, the function automatically uses caching of IOVF CIs. It also automatically caches SDEP CIs, if an SDEP segment is defined. If resources are not available to support the required IOVF and SDEP caching, an error message is generated and the CHANGE function terminates.

If the CHANGE function uses an area data set as input, input caching is optional. If resources are available, specify IOVF input caching. If the value LOGICAL is specified for the SDEP_PROCESS keyword, and resources will allow, specify SDEP caching. If the value NONE or PHYSICAL is specified for the SDEP_PROCESS keyword, caching of SDEP CIs is not beneficial and is not recommended.

Output caching

Output caching with the OCACHE keyword during the CHANGE function can reduce elapsed time for the function, at the cost of increased CPU utilization.

A data space is used to implement the cache. If you specify output caching, specify it for both IOVF storage and SDEP storage. If you specify output caching and resources are not available to support the request, a warning message is generated and processing continues.

The CHANGE function cannot write a CI to the output area before it has been formatted. For example, if a UOW requires one or more IOVF CIs but formatting has not yet reached the IOVF portion, a delay in processing occurs while the intervening CIs are formatted. Output caching holds the output from the CHANGE function in the data space, eliminating the delay and allowing processing of the next UOW.

Input thread processing

The INPUT_THREADS keyword lets you specify the maximum number of input areas to process concurrently.

If resources are not available to support the specified number, parallel processing occurs only on the number that resources can support.

The following considerations apply to using INPUT_THREADS as a means of significantly enhancing the CHANGE function:

  • The default (maximum) value for INPUT_THREADS is determined automatically by the product, based on the number of input areas, CPU processors, and other system resources.

  • Specifying a number less than the automatic default might improve performance, but specifying a number greater than the default value is ignored.

Output thread processing

The OUTPUT_THREADS keyword specifies the maximum number of threads to use for parallel output.

If resources are not available to support the specified number, parallel processing occurs only on the number that resources can support.

The following considerations apply to using OUTPUT_THREADS as a means of enhancing the CHANGE function:

  • The parameter that is set by OUTPUT_THREADS specifies the maximum number of parallel threads to be output from the function. The default is the number of input threads in use (the same value that is specified on the INPUT_THREADS keyword).

  • All output areas are opened simultaneously, and all output thread resources must be available throughout output processing. Sufficient resources must be available to accommodate the number specified.

  • The number of OUTPUT_THREADS to specify depends on the number of output and input areas.

    • Same number of input areas and output areas

  • If the CHANGE function processes the same number of input and output areas, select a value equal to the parameter that is set by INPUT_THREADS, if resources allow.

  • If resources are not available to accommodate the number of input areas, specify the largest number that are available. Specifying a value greater than the number of input threads does not improve function performance because the extra resources are not used.

  • Ensure that adequate resources are available to support your selection.

    • Greater number of output areas than input areas

  • If the number of output areas of the CHANGE function is greater than the number of input areas, select a value equal to the number of areas that are output by the function, if resources allow.

  • If resources are not available to accommodate the number of output areas, specify the largest number that resources can accommodate. Specifying a value greater than the number of output areas does not improve function performance because the extra resources are not used.

  • Ensure that adequate resources are available to support your selection.


Was this page helpful? Yes No Submitting... Thank you

Comments