z/OS JES2 Initialization and Tuning Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SAPI POST and GET SYSOUT work selection optimization

z/OS JES2 Initialization and Tuning Guide
SA32-0991-00

SYSOUT work selection is the process of selecting SYSOUT output groups (JOEs) from JES2. Increases in the numbers of JES2 JOEs and JES2 devices that are processing JOEs can result in a performance decline during SYSOUT work selection for SAPI devices, which include SAPI printers and any applications that select SYSOUT for printing. In this case, JES2 SAPI POST and GET SYSOUT work selection optimization algorithms are available to help improve SYSOUT work selection performance. The two algorithms reduce sequential searching, which in turn reduces the volume of JOE investigation that is required for POST and GET operations.
Note: To use these optimization algorithms, no changes to SAPI applications are required. After enablement, work selection merely uses an alternate code path. The two optimization algorithms are independent of one another and can be enabled in any combination. Both algorithms are designed for SAPI applications that select on Class, Destination (route code), Disposition, or any combination thereof.
SAPI POST work selection optimization algorithm
SAPI applications identify output characteristic interest and JES2 POST notifies applications when work with required characteristics is received. SAPI POST optimization uses a cached results algorithm and a binary tree to reduce the CPU overhead that is incurred with notification.
SAPI GET SYSOUT-Index work selection optimization algorithm
SYSOUT-Index augments function provided by SYSOUT class queues. SYSOUT-Index optimization classifies work JOEs by Class, Destination (route code) and Disposition. JOEs with any combination of these attributes are chained off an index JOE which resides within the JES2 checkpoint. An index JOE is a unique type of JOE in addition to the work JOE, characteristic JOE and Free JOE. The totality of all index JOEs comprise SYSOUT-Index optimization.
Four balanced binary trees are contained within each index JOE. The following combinations of JOE attributes can be chosen as a search key:
  1. Class/Destination (route code)/Dispostion
  2. Class
  3. Destination (route code)
  4. Disposition
These four binary trees can be used to efficiently implement JOE selection for a range of work selection requests that use these attributes. For SAPI GET operations, SYSOUT-Index optimization can reduce the number of JOEs that are investigated. To benefit from SYSOUT-Index optimization your SAPI applications must be selecting based on one or more of the four JOE attributes. If your SAPI applications are not selecting based on the four attributes, then the cost to maintaining the binary tree structure might be greater than its benefit. If this is the case, you could consider restructuring your select output to take advantage of the SYSOUT-Index structure.
Note: If you are selecting held output, the SYSOUT-Index structure helps to organize the held output on your system. This can alter the order in which output is presented to the SAPI application, but also provides significant improvement over the alternative selection process for held output.
Index JOEs contain the SYSOUT-Index binary trees. Once created, index JOEs are not freed even if the number of work JOEs chained drops to zero. The number of unique JOE combinations of Class, Destination and Disposition dictates the number of index JOEs which is required. As new output is created, existing index JOEs are used. Large JES2 environments can use 2,000-3,000 index JOEs. Use the following command to return the number of index JOEs that are currently used:
$doutdef,joeuse

$HASP836 OUTDEF
$HASP836 OUTDEF  CURRENT JOE UTILIZATION
      $HASP836         TYPE        COUNT
      $HASP836         -------- --------
      $HASP836         WORK        50000
      $HASP836         CHAR          440
      $HASP836         INDEX         300
      $HASP836         FREE        34000     

If the number of index JOEs that are in use becomes excessive, you can disable and then re-enable SYSOUT-Index to reduce their number. Subsequently, any index JOE that had no chained work JOE is freed. There is no disruption of service when SYSOUT-Index is disabled; SYSOUT class queues that were defined prior to z/OS v2r1 will be used and work selection performance will return to the prior level.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014