![[z/OS]](ngzos.gif)
Faster log throughput with zHyperLink
zHyperLink technology is designed to reduce input/output (I/O) latency by providing a fast, reliable, and direct communication path between the CPU and the I/O device.
Overview of zHyperLink
zHyperLink can improve active log throughput and reduce IBM® MQ transaction time by up to 3.5 times. This goal is accomplished by installing zHyperLink adapters on the z/OS® host, select IBM storage hardware, and connecting them using zHyperLink cables. This creates a point-to-point connection between the CPU and I/O device, which reduces the I/O response time by up to 10 times, compared to IBM z High-Performance FICON® (zHPF). Such low response time is achieved by using synchronous I/O requests.
The advantages of synchronous I/O over asynchronous I/O
The IBM MQ logger task consists of a loop waiting for the next piece of data that needs to be written to the log. When that data is available the logger schedules the write, waits for it to complete, and then moves on to the next piece of data.
Traditional I/O is slower than the CPU, so it is most efficient to perform the I/O asynchronously to free the CPU for other tasks. Therefore traditional asynchronous I/O requires the logger task to be suspended, until the write completes. When the write completes, the logger task must wait for a CPU to become available, adding a short re-dispatch delay, as well as delays caused by repopulating the CPU cache.
zHyperLink provides much faster I/O times that are closer to CPU speed. Therefore with zHyperLink, I/O can be performed synchronously, which means the logger task does not get suspended during the write operation, removing re-dispatch and cache-related delays.
While the write is happening, the logger task is still actively using the CPU, which increases CPU usage compared to traditional I/O.
If the queue manager attempts to use zHyperLink, and the zHyperLink write fails, for example because of configuration issues, then the queue manager transparently falls back to traditional I/O.
Minimum Hardware Requirements
- IBM z14 or later
- DS8880 or later
Software Requirements
- zHyperLink Express is supported on z/OS 2.3 or later.
- The z/OS image must run in an LPAR, not as a guest under IBM z/VM®.
- zHyperLink requires IBM z High-Performance FICON (zHPF) to be enabled.
Using zHyperLink with IBM MQ active logs
- Configure IBM MQ to use zHyperLink, and
- Ensure the active logs are on zHyperLink capable volumes.
See Getting Started with IBM zHyperLink for z/OS for more information.
- zHyperLink requires that zHyperWrite is switched on. This means in order to use ZHYLINK, ZHYWRITE must also be switched on in the log parameters. When only specifying ZHYLINK(YES) when ZHYWRITE(NO) is set on the queue manager, the ZHYWRITE parameter automatically overrides to YES.
- Explicitly trying to set ZHYLINK(YES) with ZHYWRITE(NO) results in an abnormal completion of the SET LOG command.
- Setting ZHYLINK=YES in the ZPRMs overrides ZHYWRITE to YES.
If you are experiencing any problems, see Troubleshooting zHyperLink for more information.
IBM MQ does not require that all active log data sets are on zHyperLink capable volumes, but you are advised to do so. If IBM MQ detects that some active log data sets are on zHyperLink capable volumes, and others are not, it issues message CSQJ601E and carries on processing.
IBM MQ checks whether active log data sets are zHyperLink capable when the data sets are first opened. Log data sets are opened either at queue manager start up, or when dynamically adding using the DEFINE LOG command. If the log data sets are made zHyperLink capable while a queue manager has them open, the queue manager does not detect this until it has been restarted.
If ZHYLINK(YES) is specified, then IBM MQ always attempts to use zHyperLink when writing to the active logs, regardless of whether the logs are on zHyperLink capable volumes. There are no negative effects of attempting to use zHyperLink if the logs are not on zHyperLink capable volumes.
Copy %Full zHyperWrite Encrypted DSName
1 81 YES NO MQTST.SUBSYS.MQDL.LOGCOPY1.DS001
2 81 YES NO MQTST.SUBSYS.MQDL.LOGCOPY2.DS001
Copy zHyperLink
1 YES
2 YES
- YES
- zHyperLink is enabled on the queue manager and will be attempted on all writes.
- NO
- zHyperLink is not enabled on the queue manager and the dataset is not on zHyperLink capable volumes.
- CAPABLE
- zHyperLink is not enabled on the queue manager and the dataset is on a zHyperLink capable volume.
There are multiple additional SMF statistics for monitoring and understanding zHyperLink performance; see zHyperLink statistics for details.
Write sessions
When using zHyperLink, one or more zHyperLink write sessions are established with the DASD. Current DASD support a maximum of 64 concurrent write sessions so you should carefully consider which queue managers you enable zHyperLink on, and whether other subsystems, such as Db2® are also using zHyperLink for writing to the same DASD. If you run out of available write sessions then the queue manager automatically switches back to using traditional asynchronous I/O.
- Number of log copies (either 1 or 2) * number of stripes per log copy * 2 if MetroMirror (PPRC) is used.