NetMaster gets zIIPed!
In January 2006, IBM announced a new processor type, available on the z9 EC and BC class mainframes, to be available from July 2006. These new processor types are called z-Series Integrated Information Processors (zIIPs). The initial announcement stated that the first IBM exploiter would be DB2.
NOTE: The initial IBM announcements may have created an impression that a zIIP was a database engine, only able to execute DB2 work. This is not the case at all. As this article explains, and recent CA press releases have shown, a zIIP can be used by other software.
What is a zIIP?
zIIP processors are similar to zAAP processors (which have been available for several years). Whereas zAAPs can only be used to execute Java code, a zIIP can be used to execute normal z-series code, provided that several conditions are met. Although these conditions do restrict the type of workloads that can be executed on a zIIP, IBM has provided software vendors with the information necessary to exploit these processors.
Why execute on a zIIP?
A major advantage of executing on zIIP processors is that, like the zAAP processors, zIIPs are not counted when calculating the capacity of the entire processor complex. This can lead to significant reductions in the cost of licensed software. In addition, these processors are available for a one-time charge.
CA has wasted no time in exploiting these processors. As recent press announcements have stated, CA has several products available now or shortly, that either report on zIIP usage, or that directly exploit the zIIP processors. (These products are not just database-related products)
CA NetMaster Network Management for TCP/IP and the zIIP
Starting with r11.5, the Packet Analyzer component of CA NetMaster Network Management for TCP/IP can optionally execute on a zIIP.
The Packet Analyzer executes in the SOLVE SSI region (job or started task). The Packet Analyzer is one component of the NMSSI facility.
The Packet Analyzer performs the following functions:
- Monitors the TCP/IP packet flow, and accumulates comprehensive statistics
- Tracks TCP connections and maintains information and statistics about each connection
- Monitors TCP and UDP port usage
- Monitors TCP/IP interfaces
- Provides a powerful, dynamic tracing facility, SmartTrace, which is new in r11.5
- Hosts an internal database manager, accessed by the NetMaster for TCP/IP region, where all the accumulated information is stored
Obviously, some CPU cycles must be expended to perform these functions. The Packet Analyzer is very efficient, and does not use many resources, especially when you consider the facilities that the product can offer. However, we are always looking for ways of reducing resource consumption.
Within the Packet Analyzer, there are 2 major components:
- The NetMaster for TCP/IP region interface and high-level database manager
- The Packet Analyzer, trace manager, and low-level database manager
As of r11.5, the Packet Analyzer, trace manager, and low-level database manager can optionally execute on a zIIP. By executing the Packet Analyzer on a zIIP, the following advantages can be gained:
- If a zIIP is not currently fully utilized, the Packet Analyzer can use spare zIIP capacity for free. This frees up cycles on a normal CPU for application work
- The accountable CPU time used by the NMSSI region that the Packet Analyzer is executing in may reduce. *1
- If the processor is configured so that 'normal' CPUs are not running at full speed (normally in smaller-capacity models), zIIP (and zAAP) CPUs are not speed-restricted. So, if the Packet Analyzer executes on a zIIP in this environment, it actually uses less resources. *2
In-house testing has shown that 100% of the cycles consumed by the main Packet Analyzer (that is, the second component above) are eligible for execution on a zIIP.
Enabling zIIP exploitation
Packet Analyzer support for zIIPs is shipped with CA NetMaster for TCP/IP r11.5. However, to allow us to monitor customer usage of zIIPs initially, we require that you apply an enabling fix.
After you have applied this fix, to enable the Packet Analyzer for zIIP exploitation, simply add the following parameter to the SOLVE SSI region that runs the Packet Analyzer:
If no zIIPs are available or if a back-level release of z/OS does not support zIIPs, specification of this parameter has no effect. Messages will be logged during region startup indicating the reason for the failure to use a zIIP and execution continues normally.
Provided you did not mistype the command, the SSI STATUS command will produce the following messages. Firstly, if zIIP usage is in effect:
NF1018 ANALYZER SUBTASK EXECUTION MODE IS ZIIP
If zIIP usage could not be activated:
NF1018 ANALYZER SUBTASK EXECUTION MODE IS TASK (REQ: ZIIP)
NF1019 ... PAEXMODE STATUS INFORMATION. R0 (X): 02000000 R1 (X): 00000000
In this case, the help for message NF1019 will provide an explanation.
If zIIPs are installed and available to the LPAR, and z/OS is at an acceptable level, the most likely cause for the failure, and the one assigned reason code 02000000 (as above), is that the enabling fix has not been applied.
NOTE: Even if zIIPs are installed and available, and the messages indicate that the Packet Analyzer will execute on a zIIP, not all processing may be on a zIIP. This may be due to capacity or configuration issues. For example, if DB2 needs significant zIIP resources, and WLM is set up to favor DB2 workloads, the Packet Analyzer may be temporarily unable to use a zIIP. No harm is done here; the Packet Analyzer will simply execute on a normal CPU (this is completely transparent).
Monitoring zIIP usage by the Packet Analyzer
You can monitor how much of the Packet Analyzer processing is eligible for execution on a zIIP (that is, actual execution) using the option to log resource consumption messages (to the SSILOG dataset). To enable these messages place the following parameter in the SOLVE SSI startup parameter file:
The following messages are logged once every minute:
NF0710 CPU: 0.043169 API: 19 PKTS: 1688 EVT: 10 SMF: 10 UUID: 0
NF0711 DDB-U: 2.85% SDB-U: 0.19% TDB-U: 0.00%
NF0712 D/C: NQ: 1704 DQ: 1707 LS: 0 AW: 2 TW: 120
NF0713 S/T CPU: 0.031556 TASK: 0.000006 (0.01%) SRB: 0.031550 (99.98%) M-SW: 2
The statistics in the NF0713 message show how much of the CPU time used by the Packet Analyzer subtask was expended in TCB mode and SRB mode. The time spent in SRB mode (and the percentage of the total shown after it) is the time that is eligible for (and normally executed on) a zIIP.
In summary, NetMaster for TCP/IP zIIP exploitation can provide significant reductions in the billable CPU resources consumed.
In the Future?
CA will continue to explore opportunities to further exploit zIIPs in future releases of its CA NetMaster and CA SOLVE products
- As mentioned above, the normal job CPU time totals exclude zIIP execution time. This means that the zIIP time is not normally accounted. It is possible to obtain the time spent on a zIIP if required. (Software products that monitor zIIP usage can provide this information)
- If a zIIP CPU is not speed-limited, the CPU time spent executing on the zIIP is scaled before adding it to any totals (such as the totals that we display in the monitoring messages). It is possible to determine the relative speed of a zIIP (or zAAP) processor by examining a system control block.