Variable costs

The sections from Transaction initialization and termination onwards describe the relative costs of a subset of the CICS® API calls. To those costs must be added the variable costs described in this section.

Variable costs are encountered, for different machine configurations, when there is synchronous access to a coupling facility. For example, RLS and shared temporary storage use synchronous access to a coupling facility; so, for CF log streams, does the MVS™ logger. The variance occurs because a synchronous access instruction executes for as long as it takes to complete the access to the coupling facility and return. The number of central processing unit (CPU) cycles consumed during the request therefore depends on:

The following sections describe variable costs for logging and syncpointing.

Logging

Because logging costs contain some of the variable costs incurred by synchronous accesses to the coupling facility, they are documented here in terms of milliseconds of CPU time. The measurements have been taken on a 9672-R61 with a 9674-R61 coupling facility; they can be scaled to any target system, using the IT Relative Ratios (ITRRs) published in the IBM Large System Performance Report. This can be accessed through the IBM® System/390® web page (http://www.s390.ibm.com), more specifically, at http://www.s390.ibm.com/lspr/lspr.html.

When looking at the cost of accessing recoverable resources, the cost of writing the log buffer to primary storage has been separated from the API cost. FORCE and NOFORCE are the two types of write operations to the system log buffer.

The cost of writing a log buffer varies, depending on which of the following applies:

Synchronous writes to the CF
Writes of less than 4K in size are generally synchronous. A synchronous write uses a special instruction that accesses the coupling facility directly. The instruction lasts for as long as it takes to access the coupling facility and return. This access time, known as the "CF Service Time", depends on both the speed of the coupling facility and the speed of the link to it. CF Service Times can be monitored using RMF™ III, as shown in topic Figure 55. For synchronous writes, the CPU cost of the access changes as the CF Service Time changes; this is not true of asynchronous writes.
Asynchronous writes to the CF
Asynchronous writes do not use the same instruction used by synchronous writes. A CICS task that does an asynchronous log write gives up control to another task, and the operation is completed by the logger address space.

Table 261 shows the costs of the various flavours of log writes. Note that, although CICS Transaction Server for z/OS® log writes are more expensive than those in pre-CICS Transaction Server for z/OS releases, a change in the logging algorithm means that the frequency of logging is less. The measurements were taken on a 9672-R61 with a 9674-R61 coupling facility.

Table 261. Costs of log writes
Type of log write CPU time in milliseconds
CICS address space MVS logger address space
CF synchronous (i.e. < 4K) 1.754 * -
CF asynchronous (i.e. > 4K) 2.354 0.771
Staging data set < 4K 2.805 0.881
Staging data set > 4K 1.939 1.520
DASD-only < 4K 2.678 0.703
DASD-only > 4K 2.680 0.720
*:
For a synchronous access to the coupling facility, the figure for the CPU time in the CICS address space includes the CF Service Time of 0.451ms. Note that, for a synchronous write to the coupling facility:
  • The CPU time in the CICS address space is affected by the speed of the coupling facility.
  • The proportion of the CPU time in the CICS address space represented by the CF Service Time will vary, depending on the CPU and coupling facility used.
  • This measurement was taken using a buffer size of 3800 bytes. Smaller buffer writes use less CF service time.

Syncpointing

The syncpoint cost needs to be factored into the overall transaction cost. The amount of work at syncpoint varies according to the number of different types of resource managers (RMs) involved during the unit of work (UOW). Therefore, the cost can vary.

Typically, a syncpoint calls all the RMs that have been involved during the UOW. These may or may not need to place data in the log buffer before it is written out. For example, recoverable TD defers putting data into the log buffer until a syncpoint. Recovery manager itself puts commit records into the log buffer and requests a forced write. For these reasons it is difficult to give a precise cost for a syncpoint, but the following should be used as a guide:

A syncpoint can be split as follows:

Basic cost 5.0
Put commit records in the log buffer 2.0
For each RM used in UOW 2.5
Write log buffer See Logging

This shows syncpoint costs, in 1K instruction units, for local resources only. If distributed resources are updated, communication costs will need to be added.

If no recoverable resources have been updated, the cost is only the transaction termination cost as described in Transaction initialization and termination.

[[ Contents Previous Page | Next Page Index ]]