Skip to main content

     
  IBM Software : TPF : Library : Newsletters
  Products > Software > Transaction Systems > TPF > Library > Newsletters >

 

Coupling Facility (CF) Record Lock Support


Fay Casatuta, IBM TPF ID Core Team, and Sue Pavlakis, IBM TPF Development

The limited lock facility (LLF) and the concurrency filter lock facility (CFLF), which are two external lock facilities (XLFs) supported by the TPF 4.1 system, were required to control access to data shared by two or more processors in a loosely coupled complex. CF record lock support, which uses the CF support provided on program update tape (PUT) 9 to implement an XLF, provides the option of using one or more CFs as XLFs. A CF is an IBM processor, sometimes referred to as a central processor complex (CPC), that is used to centralize storage for all attached processors in a processor configuration by providing shared storage and shared storage management functions. A CF can run in a logical partition (LPAR), under the IBM VM system, or as a stand-alone processor.

CF record lock support offers significant flexibility in using CFs as XLFs in your locking configuration. Your locking configuration may be dynamically modified by adding or deleting CFs. When a CF is added to or deleted from the locking configuration, the TPF 4.1 system automatically redistributes any locks to balance the locking workload across all available CFs. You can add as many as 32 CFs to your locking configuration for a high degree of availability. The CFs in your locking configuration can be used in addition to, or instead of, an LLF and CFLF control unit (CU). In addition, the CFs in your locking configuration can simultaneously be used for nonlocking workloads. Using CFs in a locking configuration can eliminate the need for an LLF or CFLF, giving you greater flexibility when selecting and implementing new module CUs. Using CFs for locking dramatically increases the lock space available. Therefore, CF record lock support enables full exploitation of virtual file access (VFA) synchronization.

All online modules in a loosely coupled complex must use an XLF for locking to control access to shared data. You can specify which online modules will use CFs for locking even if a specified module is connected to a CU with LLF or CFLF CUs. Modules can be migrated to use CFs for locking individually, in groups, or all online modules at once. The lock residency of any duplicate module is configured automatically to be identical to that of the corresponding prime module. General data sets may be migrated to use CFs for locking also.

CF List Structures for CF Locking

In a loosely coupled complex, locks are used to control access to data shared by two or more processors. With CF record lock support, these locks can now be represented as entries in a CF list structure. A CF list structure is a named piece of storage on a CF that enables users to share information organized as entries on a set of lists or queues.

CF record lock support creates the following CF list structures for CF locking on each CF in the locking configuration:

  • ITPFLK1_xxxxxx
  • ITPFLK2_xxxxxx

Where xxxxxx is the complex name.

Any event that changes the status or configuration of the TPF 4.1 system and impacts the distribution of CF locks on the XLF can require that CF locks are reassigned from one XLF to another. Events that can trigger lock recovery include:

  • Changing the status of a module from offline to online or online to offline
  • Completing an all-file copy operation
  • Adding or removing a CF from the CF locking configuration
  • Changing an assignment of lock residency between a module and a CF
  • Failure of a CF that was actively participating in CF locking.

Functional Messages Used for CF Locking

Functional messages are used to display entries in the coupling facility locking table (CFLT) and to manage the CFs in a locking configuration. CF record lock support provides the following functional messages:

Functional Message Description
ZCFLK ADD Adds a CF to the CF locking configuration, which then enables the CF for use as an XLF so new locks can be stored on it.
ZCFLK DELETE Removes a CF from the CF locking configuration. All CF locks stored on this CF are redistributed automatically among the remaining CFs in the CF locking configuration on a module-by-module basis. As a result, CF locks can no longer be stored on this CF.
ZCFLK DISPLAY Displays information about the CF locking configuration.
ZCFLK INITIALIZE Initializes the CF locking configuration.
ZCFLK MIGRATE Changes the lock residency of a module from a CFLF locking CU to a CF, or from a CF to a CFLF locking CU.
ZDLCK DISPLAY Displays locks in a CF.

Diagnostics

  • Information maintained in the CF trace table and the lock trace table is available.
  • Three new data collection reports are available:
    • A CF usage summary report that provides information about the CF utilization and storage in use
    • A CF structure summary report that provides information about the structure size, the requests per second, the service time, and the queue time
    • A CF locking summary report that provides information about the number of prime modules active on the CF, the number of operations for each request, the number of lists, the list depth, the number of locks held, and the average number of locks for each list.

Lock Name Format

Lock names have a new format with CF record lock support. The symbolic device address (SDA) is no longer included in the lock name. Because the lock space resides in the CF and a prime module, its duplicate and the copy modules are all on the same CF; there is no need to rebuild the locks during ZAMOD UP or ZMCPY functional message processing. This eliminates the movement of locks during these processes.

The new lock name format is as follows:

0001  0079  01   04    00    00
MOD   CYL   HD   REC   DBI   IND
                             00 = RHT lock
                             80 = SYNC lock
                             08 = GDS lock
                             01 = USER lock

The lock name in the lock trace table contains a time stamp in the first 8 bytes and the indicator has a different meaning:

B32810D33F2A4103  0001007901040000

Indicator:                      00 = RHT lock granted notification
                                80 = SYNC lock granted notification
                                20 = RHT lock contention notification
                                A0 = SYNC lock contention notification


First Quarter 2000 - Table of Contents