IBM OS manual Detailed affinity analysis, Enqueue/Dequeue

Models: OS

1 103
Download 103 pages 52.71 Kb
Page 67
Image 67

Detailed affinity analysis

Each of the above command scenarios is dealt with below. A description of how the use of the command appears in the Transaction Affinities Utility Reporter report is given, followed by an assessment of any affinity problem it causes. However, it would be helpful ®rst to expand on the structure of a CSP segmented application.

The default CICS transaction identi®er that CSP provides for applications is XSPS, although this is normally replaced by a unique transid for the application concerned. CSP transactions are de®ned so that the initial program is DCBINIT or DCBRINIT, the former for the ®rst segment (that is, the ®rst transaction in a pseudoconversation), the latter for subsequent segments. These two CSP programs ensure that the correct environment is built for the application, including loading of programs and tables and saving and restoring of state data. DCBINIT and DCBRINIT branch to other CSP programs, but these other programs are not known to CICS. This means the Transaction Affinities Utility Reporter report shows DCBINIT or DCBRINIT as the program containing the affinity command, but the command offset is the generic x'FFFFFFFF'. In fact, the CSP program that issues most EXEC CICS commands is DCBMODS.

It is very important to note that a single report transaction/program/offset entry can conceal several affinity commands. Although the Transaction Affinities Utility Detector has correctly logged, and deduced information from, all the commands, it is only the ®rst one encountered that is described in full in the report. So the Transaction Affinities Utility may report DCBINIT issuing only ENQUEUEs, but in reality DCBMODS is issuing both ENQUEUEs and DEQUEUEs. Similarly, the Transaction Affinities Utility may report that DCBINIT is issuing only WRITEQ TS commands, but in reality DCBMODS is issuing READQ TS and DELETEQ TS as well. (The Transaction Affinities Utility Scanner shows that this is indeed the case when it is run against the CSP/AE load library.)

Note that there is a unique generic offset for each different command type within an affinity group. The generic offset is zero minus the group/function code for the command. So, for example, ENQUEUEs appear with x'FFFFEDFC', and DEQUEUEs appear with x'FFFFEDFA'. This is also the case for other command types.

ENQUEUE/DEQUEUE

There is an EQ affinity group in the report for each table or application or map that is loaded. The resource used in each case starts with 'FZE' and contains the name of the load module concerned. Other resources that may appear are 'FZELOAD' and 'FZETUTRI'. The programs involved are DCBINIT and DCBRINIT.

Upon analysis, this use of ENQUEUE/DEQUEUE does not cause affinity. Here, the ENQUEUE/DEQUEUE is being used to serialize a browse on an ALF, so that another CSP application in the same CICS region does not interfere with the loading process. If multiple CICS regions were cloned, each cloned CICS region must perform this same loading process, but this has no effect on any of the other CICS regions. So the ENQUEUE/DEQUEUE is not CICSplex wide and does not cause affinity. All that is required is to ensure that each CICS has access to the ALFs. Because these are used read-only by CSP/AE, the ALFs may be shared without resorting to the overhead of function shipping.

Chapter 6. Running the Reporter 51

Page 67
Image 67
IBM OS manual Detailed affinity analysis, Enqueue/Dequeue