MQ

 View Only

MQ 9.4.0 for z/OS: Faster log throughput with zHyperLink

By Matthew Wakeham posted 2 days ago

  

As of MQ 9.4.0, it is now possible to leverage zHyperLink for MQ Active Logs. 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. Based on initial performance tests, zHyperLink can achieve a 3.5 times reduction in transaction time.

What is 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. 

This is achieved through 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. 

This is what enables zHyperLink to significantly reduce MQ transaction times.

Why use zHyperLink?

In today’s world, all MQ logging is completed asynchronously, as traditional I/O is slower than the CPU, so it is therefore beneficial to perform the I/O asynchronously to free the CPU up for other tasks.

zHyperLink provides much faster I/O times, which is much closer to the CPU speed, therefore, with zHyperLink, I/O can be performed synchronously, removing re-dispatch and cache related delays.

The combination of reduced I/O time, and efficiencies gained by not suspending and re-dispatching the CPU task, makes zHyperLink very performant compared to traditional asynchronous I/O.

However, as the CPU is spun whilst waiting for I/O to complete, there is a higher CPU usage associated with using zHyperLink.

When to use zHyperLink?

zHyperLink is best used when logger throughput is a significant bottleneck or limitation to your transaction throughput. Initial performance testing shows you can achieve a 3.5 times reduction in transaction time but with the added cost of 2 times CPU usage for the logger task. It is possible to dynamically enable and disable zHyperLink using Log Parameters, to only use zHyperLink during peak times when the extra throughput is needed.

This can be achieved using the following commands

SET LOG ZHYLINK(NO) or SET LOG ZHYLINK(YES)

Requirements for zHyperLink

To use zHyperLink for MQ Active Logs, your system must meet the following requirements:

  • IBM z14 or later
  • DS8880 or later
  • 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.
  • IBM MQ 9.4.0 or later

zHyperLink Considerations

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.

You can calculate the number of zHyperLink write sessions as follows:

Number of log copies (either 1 or 2) * number of stripes per log copy * 2 if Metro Mirror (PPRC) is used.

Therefore, a queue manager in single logging mode with one stripe and no Metro Mirror uses a single write session. A queue manager in dual logging mode, with two stripes and PPRC uses 8 write sessions. It is important to consider the number of sessions required, and factor in sessions used by other products (such as DB2), to ensure that the limit isn’t reached.

You can find out more about using zHyperLink for MQ Active Logs in the IBM MQ Documentation Centre

https://www.ibm.com/docs/ibm-mq/9.4?topic=environment-faster-log-throughput-zhyperlink

0 comments
5 views

Permalink