With MQ V8 you may get I/O delays with the page sets, showing up as IOSQ delays.
With MQ V8 there is code which writes pages from the buffer pool to the page set, which is much more efficient than in previous releases. Before V8 up to 4 pages would be written at a time from the buffer pool to the page set, then the next 4 pages etc. In V8 there can be multiple I/O requests in parallel, each typically writing 16 pages per I/O. With many concurrent I/Os, some of these requests can be be delayed due to a lack of resources in MVS and the DASD. If you are using MQ V8 the MVS systems programmer needs to check for I/O contention, and perhaps configure more HyperPavs devices on the MVS system.
What is a HyperPav?
In the olden days you could only have one I/O to a volume at a time. Each volume had a UCB which was used for managing I/O.
These days we have very big volumes - and the data is written to cache rather than a disk, so a single UCB would be limiting.
Each volume has a base UCB but the MVS sysprog ( working with the Storage manager ) can define HyperPav Aliases - which are spare UCBs, and so you can get parallel I/Os to the volume.
How is it used?
When parallel I/Os to a volume occurs, the logic is like the following.
- The first I/O uses the base UCB
- The second I/O sees the base UCB is busy and so looks for one of the aliases, and if there is one free - it will use it. If not it increments a counter in the RMF and SMF 42 data saying the I/O had to wait for HPAV.
If there was no UCB available, this shows up as IOSQ delay time.
How many I/Os can I do in parallel?
Using the DASD below which has 57 HPAV Aliased defined, if I want write to a single volume, one I/O can use the base UCB, and there can be 57 additional I/Os - assuming there free HyperPav Aliases available.
If there are requests to write to 100 volumes on the DASD, then each has its base UCB, and there can be 57 additional requests - so 157 concurrent requests in total
How can you check how many HyperPavs are configured
The MVS operator command D M=DEV(711B) gives information like
IEE174I 12.09.24 DISPLAY M 566
DEVICE 0711B STATUS=ONLINE
CHP 9C 9D 9E 9F
ENTRY LINK ADDRESS 1508 1608 1708 1808
DEST LINK ADDRESS 1517 1617 1717 1817
HYPERPAV ALIASES CONFIGURED = 57
Which shows the DASD has 4 channels to it, and there are 57 Aliases configured.
IEE459I 12.11.56 DEVSERV QPAVS 623
UNIT UNIT UA
NUM. UA TYPE STATUS SSID ADDR. TYPE
----- -- ---- ------ ---- ---- ----------
0711B 1B BASE-H 2101 1B BASE
17113 93 ALIAS-H 2101 93
17114 94 ALIAS-H 2101 94
17115 95 ALIAS-H 2101 95
Which shows that the UCBs for 17113,17114 etc are available.