Dec 1 ’14
Parallel Access Volumes: Tune Your z/VSE I/O Performance
Maximizing performance throughput is just as important today for organizations using the z/VSE operating system as it was in the past. A well-tuned z/VSE system permits maximum workloads to be processed in the shortest time possible, thereby permitting organizations to reap the full benefit of their mainframe hardware and software investment. One area that is always important to monitor and tune is storage I/O performance.
It is not unusual for storage devices to be a bottleneck for overall throughput of a z/VSE system. Since most data being accessed on a day-to-day basis is stored on disk devices, and multiple applications may need simultaneous access to the same data stored on those devices, I/O operations to storage devices can be significantly hampered as each application waits its turn for access to the data it needs. The good news is that the use of the Parallel Access Volume (PAV) feature in z/VSE can minimize or eliminate this problem.
Parallel Access Volume Feature
The PAV feature enables your system to access volumes in parallel when using an IBM System z host. PAV is an optional licensed feature of the System Storage DS8000 series.
PAV enables the storage controller to support concurrent data transfer operations from, or to, the same system. This can result in a significant performance improvement due to reduced device queue delays to busy devices. You must configure both the storage unit and the operating system to use PAVs. You can use the logical configuration definition to define PAV-bases, PAV-aliases and their relationship in the storage unit hardware. This unit address relationship creates a single logical volume, allowing concurrent I/O operations.
PAV Support for z/VSE
Initially PAV support for ECKD devices was introduced with z/VSE 4.2. There is no PAV support for FBA/SCSI devices. In z/VSE, a PAV volume has a volume serial number and 1-8 subchannels. This is one subchannel for the PAV-base and up to seven subchannels for the PAV-aliases. The relationship between PAV-base and PAV-alias addresses remains unchanged (static PAV). There is one device queue per subchannel, which enables the system to run multiple I/O requests simultaneously. The z/VSE supervisor will balance I/O traffic from different tasks upon the available subchannels by an internal load balancing algorithm.
In z/VSE, the PAV support can be turned on and off by the SYSDEF SYSTEM, PAV=START/ STOP command. The support is enabled by PAV=START. Default is PAV=STOP. The support is transparent to application programs.
Enabling PAV Support
Before you can use PAV support in z/VSE, you need to purchase, install and enable the PAV feature on the IBM System Storage Disk system. Furthermore, the PAV-base and PAV-aliases need to be defined in the Input/Output Configuration Data Set (IOCDS). A PAV-base must be defined in the z/VSE IPL start-up procedure (ADD statement) whereas PAV-aliases cannot be added or otherwise used in the z/VSE system. An ADD statement for a PAV-alias will be ignored by the system. After IPL, the operator has to enable the PAV support by the SYSDEF SYSTEM,PAV=START command.
You can use the SIR command to verify whether PAV support is active on your system.
Dependent on your workload and applications, there can be a significant performance improvement in I/O throughput and response time when using PAV. There will be no benefit on a single application basis. Due to the PAV load balancing algorithm a performance improvement will be achieved when running multiple applications issuing I/O against the same volume.
Attention Routine Commands
There are two Attention Routine (AR) commands that are useful when using PAV—SIR and VOLUME.
The SIR SMF,VSE,cuu command will display the maximum concurrently queued I/O requests on a given volume (i.e., cuu). For example, an installation might have a situation where there are two I/O requests waiting for a third request to be completed, causing performance degradation. By using the SIR SMF,VSE,cuu command, this problem could be quickly identified and potentially resolved by using PAV aliases.
The VOLUME command is another helpful command when using PAV support. The VOLUME command makes it easy to quickly see information about a particular volume, and has been enhanced to mark a base volume with PAV active by adding a *B in the “code” field. The DETAIL option for the VOLUME command shows the PAV-aliases for a given PAV-base.
There are significant improvements for PAV support in z/VSE released with the following APARs: DY47396 for z/VSE 4.3 and DY47501 for z/VSE 5.1. PAV support is automatically included in z/VSE 5.2.
The use of the PAV feature can deliver significant z/VSE performance improvement when I/O operations are started against the same volume. By reducing I/O contention, organizations can increase the quantity of workload processed in a given time period, deliver better average response time throughout the entire day and help to elongate the use of the current mainframe system in use. If you are experiencing storage I/O bottlenecks, the use of PAV is worth considering.
• Hints and Tips for z/VSE 5.1 ftp://public.dhe.ibm.com/eserver/zseries/zos/vse/pdf3/zvse51/hintcmm2.pdf
• z/VSE Parallel Access Volume White Paper ftp://public.dhe.ibm.com/eserver/zseries/zos/vse/pdf3/White_Paper_PAV.pdf