zHyperLink I/O

VSAM data set performance can benefit from using the IBM DS8000x zHyperLink technology, also known as synchronous I/O. zHyperLink can achieve significant I/O latency improvements for read requests when using nonlinear VSAM data sets. When zHyperLink is enabled on the system and a control interval (CI) of data is in the control unit cache, a VSAM read request is performed synchronously, which results in significantly reduced latency when compared to traditional DASD I/O. VSAM and VSAM RLS users monitor the tradeoff, including the SMF42 subtypes 5 and 6 counts that are related to zHyperLink ('syncIO').

zHyperLink I/O is disabled system-wide by default. To use zHyperLink I/O for read requests, all of the following conditions must be met for VSAM and VSAM RLS to issue a zHyperLink I/O request:
  • The user issued the SETIOS ZHYPERLINK OPER=[ALL|READ] command or the parmlib member SYS1.PARMLIB(IECIOSxx) specifies ZHYPERLINK,OPER=[ALL|READ].
  • The parmlib member SYS1.PARMLIB(IGDSMSxx) or the SETSMS command specifies VSAM_ZHYPERLINK(YES).
  • The data sets must be set to be zHyperLink eligible. This is done by specifying zHyperLink Eligible for Read: YES in the storage class for the data sets. Alternatively, V SMS,DSNAME(datasetname),ZHLREAD=YES can be issued to make read I/O for the specified data set synchronous, overriding the specification in the storage class for that data set. Default is not to override the storage class specification.
  • The RLS or VSAM-built buffer, or the VSAM user-provided buffer (such as VSAM user buffering) that receives the CI must on a quadword boundary.
  • For VSAM access, there are the additional requirements that the CI does not cross a track boundary and the request is not processing sequentially with NSR buffering.

When all of these conditions are met and VSAM or VSAM RLS initiates a zHyperLink I/O request, the I/O might still be performed asynchronously. This might be because the CI is larger than 4 KB, or the CI is not found in the cache of the control unit.

VSAM RLS accumulates the suspend elapsed time for the asynchronous DASD I/O for the data set. The counts are recorded in SMF42 subtype 6 fields S42SNAvgARDela S42SNARDelayCount to help the users understand the potential performance benefits of enabling zHyperLink reads for VSAM RLS data sets. Non-RLS VSAM does not do such counts.