zHPF, or z High Performance FICON was announced by IBM a year ago next week-Oct 21, 2008 to be exact. It offers substantial increases in performance in terms of IOPS for small block transfers, as well as in terms of bandwidth for FICON Express 4 and FICON Express 8 channels. Yet, few if any mainframe end users have implemented zHPF. (I’m still looking for someone to take that first plunge off the diving board so to speak). The remainder of this post will give an introduction to zHPF.For more details please contact the Brocade mainframe solutions team and we can arrange a mainframe I/O performance workshop where we cover zHPF in-depth.
zHPF is described in detail in the new FC-SB-4 standard. zHPF enhances the z/Architecture and FICON interface architecture to provide optimizations for online transaction processing (OLTP) workloads. When properly exploited by the FICON channel, z/OS and the control unit, zHPF helps reduce overhead and improve performance and reliability/availability/serviceability (RAS). zHPF channel programs can be exploited by OLTP workloads for DB2, VSAM, PDSE, and zFS applications which transfer small blocks of fixed size data (4k blocks). zHPF is an extension to the FICON architecture and is designed to improve the execution of small block I/O requests. zHPF streamlines the FICON architecture, reduces overhead on the channel processors, control unit ports, switch ports, and links. zHPF does all of this by improving the way channel programs are written and processed.
At this point it may be worth a brief review of FICON channel processing. Recall that FICON channel programs consist of a series of Channel Command Words (CCWs) which form a chain. Command code indicates whether the I/O operation is going to be a read or a write from disk, while the count field specifies the number of bytes to transfer. When the channel finishes processing one CCW and either a command chaining or data chaining flag is turned on, it processes the next CCW. The CCWs in such a series are said to be “chained”. Each one of these CCWs is a FICON channel Information Unit (IU) which a) require separate processing on the FICON channel processor and b) requires separate commands to be sent across the link from the channel to the control unit. From the z/OS point of view the standard FICON architecture is called command mode, and zHPF architecture is called transport mode. During link initialization both the channel and the control unit indicate whether they support zHPF. The way zHPF (transport mode) manages channel program operation is significantly different from this operation for the traditional FICON architecture (command mode).
So, what’s different with zHPF? zHPF improves things by providing a Transport Control Word (TCW) that facilitates the processing of an I/O request by the channel and the control unit. The TCW enables multiple channel commands to be sent to the control unit as a single entity (instead of being sent as separate commands as in a FICON CCW). The channel no longer has to process and keep track of each individual CCW. The channel forwards a chain of commands to the control unit for execution. These improvements reduce overhead costs and in turn increase the maximum possible I/O rate on a channel. Also, the utilization of the various sub-components along the path traversed by the I/O request is improved. The overall concept is very similar to that of the Modified Indirect Data Addressing Word (MIDAW) facility. With zHPF, “well constructed” CCW strings are collapsed into a single new Control Word. This is similar to the MIDAW facility enhancement to FICON which allowed a chain of data CCWs to be collapsed into 1 CCW. zHPF allows the collapsing of both Command Chained and Data Chained CCW strings into one Control Word. zHPF capable channels support both FICON and zHPF protocols simultaneously.
As of today, to implement zHPF you need to be running z/OS 1.8. For DASD you may be running DS8000 with LIC 4.1 or greater, or HDS USP V. FICON directors with little to no oversubscription such as the Brocade DCX are an ideal platform for use in a zHPF environment.