IBM Support

OA54688: NEW FUNCTION - ASYNCHRONOUS CROSS-INVALIDATION FOR COUPLING FACILITY CACHE STRUCTURES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • New function
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    *  Installations exploiting parallel sysplex at                *
    *                 HBB77A0 (z/OS V2R2) and above, and using     *
    *                 coupling facility (CF) cache structures for  *
    *                 transactional data processing.               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    *  New function: Improve performance for                       *
    *                      transactions involving multiple CF      *
    *                      cache requests by processing            *
    *                      cross-invalidation asynchronously.      *
    *                                                              *
    *                      Diagnostic data required when CF        *
    *                      information missing in CFRM.            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    *  Install the applicable PTF on each system in                *
    *                 the sysplex.  A rolling IPL is sufficient to *
    *                 activate the fix.                            *
    ****************************************************************
    Cross-invalidation processing ensures cache coherency by
    notifying structure connectors when local copies of a cached
    data item are no longer current.  Cross-invalidation requires
    communication between the CF and other LPARs, which are likely
    to be on separate processors.  Today, cross-invalidation (XI)
    notifications must occur synchronously as part of the command
    (IXLCACHE request) that initiated the changes to the cached
    item, and the command cannot complete until all affected
    connectors have been notified.  That synchronous communication
    imposes a delay that degrades command performance.  For
    transactions comprising multiple cache requests, the cumulative
    delay in command completion can be significant, especially when
    some connectors reside on CPCs distant from the one housing the
    CF.  New function is required to reduce that delay.
    
    Diagnostic data is required when information describing
    connected CFs is missing in CFRM.
    
    E3906/K E3907/K
    SYSPLEXDS
    

Problem conclusion

Temporary fix

Comments

  • OA54688 introduces support for asynchronous cross-invalidation.
    In this protocol, the CF's communication to notify connectors of
    data invalidation can be initiated asynchronously with respect
    to the IXLCACHE request.  In a transaction involving multiple
    cache requests, the parallelism obtained by allowing XI
    notifications to execute asynchronously may reduce both request
    service time and transaction elapsed time, thus improving
    overall application throughput.  Asynchronous processing of
    cross-invalidation has several important implications:
    
    o To ensure data integrity, the exploiting application must
      "synch up" before committing a transaction to ensure that all
      outstanding XI notifications have been delivered.  A new API,
      IXLAXISN, provides the mechanism for accomplishing that
      synchronization.
    
      o The CF assigns a unique, monotonically-increasing sequence
        number to every set of XI notifications initiated by a
        connector request.  The sequence numbers are assigned on a
        per-connector basis.
    
      o Every IXLCACHE request that initiates asynchronous XI
        notifications will return a sequence number to the requestor
        in the cache answer area mapped by IXLYCAA.  The application
        is responsible for tracking those sequence numbers and
        correlating them with in-flight transactions.
    
      o Before transaction commit, the connector must invoke the new
        IXLAXISN API to determine the completion status of the XI
        notifications associated with the transaction.  It is only
        necessary to wait for completion of the highest-valued
        sequence number returned during the transaction.  When XIs
        represented by that sequence number are complete, all XIs
        represented by lower-valued sequence numbers are also
        complete.
    
    o Because the asynchronous XI protocol requires active connector
      participation, connectors must signify their ability to
      exploit this protocol at connect time.  The new IXLCONN
      ASYNCXI keyword provides the mechanism by which connectors
      indicate their intent to exploit asynchronous XI.  Setting
      ASYNCXI=1 indicates that by default, the CF will use the
      asynchronous XI protocol for all IXLCACHE requests initiated
      by the connector.  ASYNCXI=1 is meaningful only when the
      structure is allocated in a CFLEVEL 23 CF and the system on
      which the connector resides supports the asynchronous XI
      protocol.
    
    o Asynchronous XI notification improves performance only for
      IXLCACHE requests initiated within the scope of a transaction,
      when the completion of XI notifications for multiple IXLCACHE
      requests can be determined by a single IXLAXISN invocation.
      For IXLCACHE requests that are not expected to benefit from
      asynchronous XI notifications, the exploiting application
      should use the new IXLCACHE AXIOVERRIDE keyword to specify
      that the CF is to use the original synchronous XI delivery
      protocol.  Setting IXLCACHE AXIOVERRIDE=1 overrides the
      default specification established by IXLCONN ASYNCXI=1 for the
      current IXLCACHE request only.
    
    o If a connector exploiting asynchronous XI fails during a
      transaction, the application must ensure that any outstanding
      XI notifications have completed before allowing any peer
      connector to access resources left in doubt.
    
      o Transaction serialization held by the failed connector must
        not be released (or equivalent serialization must be
        obtained) until XIs have completed.
    
      o When the failed connector reconnects, asynchronous XIs
        initiated by the original connector instance are known to
        be complete.
    
    
    Diagnostic data is collected when information describing
    connected CFs is missing in CFRM.
    
    
    Publication updates associated with this APAR can be found at
    http://publibz.boulder.ibm.com/zoslib/pdf/OA54688.pdf
    
    Summary of updates:
    
    z/OS MVS Programming: Sysplex Services Guide (SA23-1400)
    --------------------------------------------------------
    o Sysplex Services for Communication (XCF)
      o Using the Cross-System Coupling Facility (XCF)
        o Obtaining XCF Information
          o Using the IXCQUERY Macro
            o Information returned inline to IXCQUERY (changed)
    o Sysplex Services for Data Sharing (XES)
      o Connection Services
        o Connecting to a Coupling Facility Structure
          o Connecting to a Cache Structure (changed)
            o Specifying Asynchronous or Synchronous Cross-
              Invalidate Processing (new)
          o Disconnecting from a Coupling Facility Structure
            o Persistent considerations
              o Handling Resources for a Disconnection (changed)
          o Structure Rebuild Processing
            o Connecting to the New Structure
              o Using the IXLCONN Macro for Rebuilds (changed)
      o Using Cache Services
        o Cache Structure Allocation and Connection (changed)
        o Maintaining Data Consistency
          o Registering Interest in a Data Item and Validating Local
            Copies
            o Registering Interest in a Data Item (changed)
          o Deregistering Interest in a Data Item and Invalidating
            Local Copies
            o Invalidating Local Cache Copies of a Data Item
              (changed)
            o Overriding the Asynchronous Cross-Invalidate
              Processing (new)
        o Serializing and Managing Access to Shared Data
          o Serialization considerations when requesting
            asynchronous cross-invalidations (new)
        o Receiving Information from a Request
          o Defining an Answer Area (ANSAREA) (changed)
            o Specifying the IXLYCAA Level (changed)
      o Supplementary List, Lock, and Cache Services
        o Using the IXLAXISN Macro (new)
    
    
    z/OS MVS Programming: Sysplex Services Reference (SA38-0658)
    ------------------------------------------------------------
    o IXLADUPX (changed)
    o IXLAXISN (new)
    o IXLCONN (changed)
    o IXLCACHE
      o Understanding IXLCACHE version support (changed)
      o IXLCACHE REQUEST=CROSS_INVAL (changed)
      o IXLCACHE REQUEST=CROSS_INVALLIST (changed)
      o IXLCACHE REQUEST=DELETE_NAME (changed)
      o IXLCACHE REQUEST=DELETE_NAMELIST (changed)
      o IXLCACHE REQUEST=READ_DATA (changed)
      o IXLCACHE REQUEST=REG_NAMELIST (changed)
      o IXLCACHE REQUEST=WRITE_DATA (changed)
      o IXLCACHE REQUEST=WRITE_DATALIST (changed)
    
    
    z/OS V2R2 MVS Data Areas Vol. 3 (GA32-0937)
    -------------------------------------------
    o IXCYQUAA (changed)
    o IXLYCAA (changed)
    o IXLYCON (changed)
    o IXLYDDIB (changed)
    ×**** PE19/10/18 FIX IN ERROR. SEE APAR OA58507  FOR DESCRIPTION
    ×**** PE19/11/08 FIX IN ERROR. SEE APAR OA58507  FOR DESCRIPTION
    

APAR Information

  • APAR number

    OA54688

  • Reported component name

    CROSS SYS.EXT.S

  • Reported component ID

    5752SCIXL

  • Reported release

    7A0

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Serviceability /

  •  

    SYSPLXDS / Xsystem

  • Submitted date

    2018-01-11

  • Closed date

    2018-11-16

  • Last modified date

    2019-11-08

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UA97982 UA97985

Modules/Macros

  • IXLM2DIE IXLR1RES IXLR1GLB IXLYDDIB IXLF1CON IXLR1GLC IXLR1ALT
    IXLYCAA  IXLR1ALR IXLR1ADS IXCYQUAA IXLF1VTU IXLF1RTR IXLC1DCN
    IXLF1VTL IXLF1VCX IXCL2ATC IXLM2DRL IXLR1DIA IXLF1VCN IXLX1EER
    IXLC1CON IXCL2ATH IXLC1EOT IXCL2ASR IXLR1AXI IXLM1MS2 IXLCONN
    IXLX1AEI IXLAXISN IXLR1RT  IXLF1TX2 IXLF1LKM IXLF1SUL IXLM2DSP
    IXLR1CRR IXLR2SSD IXLF1VSC IXLM2MR  IXLF1TFT IXLM1TMR IXLR1GRT
    IXLI1LPX IXLYCON  IXLM1REC IXLR1UNL IXLC2LBF IXCI2PH1 IXLR1BUN
    IXLCACHE IXLF1STK IXLF1TRC IXLM1TBL IXLF1RES IXLF1TF4 IXLE1REC
    IXLR1SYN IXLR1CAC IXLF1NAM IXCL2AAT IXLR1SUS IXLR1LKR IXLM2DR
    IXLI1SIN IXLR1RSM IXLR1LCK
    

Publications Referenced
SA231400XXSA380658XXGA320937XX  

Fix information

  • Fixed component name

    CROSS SYS.EXT.S

  • Fixed component ID

    5752SCIXL

Applicable component levels

  • R7A0 PSY UA97985

       UP18/11/30 P F811  

  • R7B0 PSY UA97982

       UP18/11/30 P F811  

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
08 November 2019