IBM OS manual Getmain Shared, Temporary storage queues, CICS Transaction Affinities Utility Guide

Models: OS

1 103
Download 103 pages 52.71 Kb
Page 68
Image 68

There may also be an EQ affinity group in the report with a resource name of CSMT when CSP serializes writing of information to TD destination CSMT. This does not cause affinity because each cloned CICS has its own CSMT.

GETMAIN SHARED

There is a GM affinity group in the report for each pair of transactions that were observed performing GETMAINs and FREEMAINs on shared storage. The programs involved are DCBINIT and DCBRINIT.

Upon analysis, this use of GETMAIN SHARED may cause affinity. It depends on the application. If the storage obtained is for a CSP shared table that is updated by applications, there will be affinity. Otherwise, there should not be affinity, because the program or table concerned is read-only and therefore duplicate copies are loaded by each cloned CICS region in the CICSplex.

The scope of any affinity depends on the use of the shared table by the application(s) concerned. The application developer decides this use. But it is extremely important to note that the Transaction Affinities Utility can detect only the transaction issuing the GETMAIN and the transaction issuing the FREEMAIN, and not intermediate transactions sharing the storage.

Note that unmatched GETMAIN SHARED commands may also appear in the report. This means that the Transaction Affinities Utility has seen a GETMAIN SHARED but as yet no matching FREEMAIN. The discussion in the rest of this section applies in this case also.

Temporary storage queues

There are temporary storage (TS) affinity groups in the report for each terminal that participated in a pseudoconversation where the transactions involved are developed using CSP. The TS queue names are all of the form 'EZExtttt' where x is either A, C, R or T, and tttt is the termid of the terminal concerned. The programs involved are DCBINIT and DCBRINIT. The affinity group should be LUNAME/PCONV.

Upon analysis, this use of TS does cause affinity. Here, CSP is saving state data between transactions in the pseudoconversation. But, because the TS queue contains the termid of the terminal, the affinity must be LUNAME; that is, terminal oriented. And because this technique is applicable only to pseudoconversational applications, and the TS queue is deleted by CSP at the end of the pseudoconversation, the lifetime must be PCONV. Therefore, there is LUNAME/PCONV affinity.

This affinity may be dealt with by either de®ning the affinity as LUNAME/PCONV to CICSPlex SM (which still permits good workload balancing if the pseudoconversations are not excessively long) or, alternatively, by creating a queue-owning region (QOR) to which all TS queue requests from all cloned CICS regions are function shipped.

There is an interesting point to note here. Unrelated transactions may appear in the same affinity group; that is, it looks as though different applications have shared the same TS queue. In fact they have not; they have simply reused the TS queue name. This occurs because the TS queue name 'EZExtttt' is not ¯exible enough to incorporate a unique application identi®er. The probable result of this is that the Transaction Affinities Utility Builder combines all transactions in all pseudoconversational applications into a single affinity group for CICSPlex SM with

52 CICS Transaction Affinities Utility Guide

Page 68
Image 68
IBM OS manual Getmain Shared, Temporary storage queues, CICS Transaction Affinities Utility Guide