# ZIIP

In IBM System z9 and successor mainframes, the System z Integrated Information Processor (zIIP) is a special purpose processor. It was initially introduced to relieve the general mainframe central processors (CPs) of specific Db2 processing loads, but currently is used to offload other z/OS workloads as described below. The idea originated with previous special purpose processors, the zAAP, which offloads Java processing, and the IFL, which runs Linux and z/VM but not other IBM operating systems such as z/OS, DOS/VSE and TPF. A System z PU (processor unit) is "characterized" as one of these processor types, or as a CP (Central Processor), or SAP (System Assist Processor). These processors do not contain microcode or hardware features that accelerate their designated workloads. Instead, by relieving the general CP of particular workloads, they often lead to a higher workload throughput at reduced license fees.
DB2 for z/OS V8 was the first application to exploit the zIIP, but now there are several IBM and non-IBM products and technologies that exploit zIIP. The zIIP requires a System z9 or newer mainframe. The z/OS 1.8 and DB2 9 for z/OS support zIIPs. IBM also offers PTFs for z/OS 1.6, z/OS 1.7, and DB2 V8 to enable zIIP usage. (DB2 9 for z/OS is the first release of DB2 that has support built in.)
IBM publicly disclosed information about zIIP technology on January 24, 2006. The zIIP hardware (i.e. microcode, as the processors hardware does not currently differ from general purpose CPUs) became generally available in May, 2006. The z/OS and DB2 PTFs to take advantage of the zIIP hardware became generally available in late June, 2006.
zIIPs add lower cost capacity for four types of DB2 work:
* Remote DRDA access via TCP/IP. This category includes JDBC and ODBC access to DB2, including access across LPARs via HiperSockets, such as Linux on IBM Z. The exception is access to DB2 V8 stored procedures, which redirect a small portion of the work. DB2 9 native remote SQL procedures do use the zIIP.
* Parallel query operations. DB2 9 can increase the amount of parallel processing and thus use the zIIP more.
* XML parsing in DB2 can use zIIP processors or zAAP processors.
* Certain DB2 utilities processing.

## Support for zIIPs

Although Db2 for z/OS was the first product released that exploited zIIP processors, it is not limited to just Db2 or IBM products. The zIIP speciality CPU can also be used for IPSec processing in TCP/IP, certain general XML processing, and IBM's Scalable Architecture for Financial Reporting. In August, 2007, Shadow, a mainframe middleware product, now owned by Rocket Software, introduced the first zIIP eligible integration for environments other than DB2, expanding the benefit of specialty engines to include Adabas, CICS, IMS, IDMS and VSAM. Other third-party independent software vendors ("ISVs") have introduced support for execution of their products on zIIPs.
Those ISVs include, among others, Software AG, Compuware, CA Technologies, BMC Software, GT Software, Inc., and Phoenix Software International.
For example; the CA NetMaster Network Management for TCP/IP product can run both its main task and packet analyzer subtask on a zIIP. Rocket Software claims that their Shadow server will allow 99% of the integration processing, such as SQL to non-relational data queries and Web services/SOA workloads, to be zIIP eligible and run outside of the General Purpose Processor. Ivory Server for z/OS from GT Software, Inc. provides zIIP support for XML parsing, XML payload construction and data conversion processing. Additionally Ivory Server supports the zAAP processor using the optional IBM z/OS XML Services and the IFL processor with Linux on IBM Z. Ivory Server and Ivory Studio (the Ivory IDE) provide options that allow clients to manage the workload offloaded to the zIIP Specialty CPU from the GP CPU.
Commercial software developers, subject to certain qualification rules, may obtain technical details from IBM on how to take advantage of zIIP under a Non-Disclosure Agreement.
The IBM z13 merges the zAAP functionality with zIIPs so that zAAP-eligible work now uses zIIP instead. Furthermore, IFL and zIIP processors on the IBM z13, as they use the z13 microprocessor, have simultaneous multithreading (SMT) capability.

## Use of zIIPs

Use of zIIPs is supported in IBM Z Operational Log and Data Analytics and IBM Z Anomaly Analytics with Watson. IBM Z Operational Log and Data Analytics is a software that collects IT operational data from z/OS systems, transforms it to a consumable format, and streams it to analytics platforms, or to the included operational data analysis platform which provides insights to help visualize and search operational data to help identify the cause of operational issues. IBM Z Anomaly Analytics is software that collects IT operational data from z/OS systems, but uses historical IBM Z metric and log data to build a model of normal operational behavior, then analyzes real-time operational data through comparison with the model of normal operations to detect and alert IT operations of anomalous behavior.
When the Z Common Data Provider in IBM Z Operational Log and Data Analytics and IBM Z Anomaly Analytics with Watson is used to stream operational data, the zIIP offload function can be enabled, and then the System Data Engine component of the Z Common Data Provider can offload eligible work from general purpose processors to zIIP processors. This minimizes the MIPS consumption on general processors (GCPs) and reduces the total cost of ownership.
However, this offloading might add additional overhead in CPU time. If there is not enough capacity on zIIP processors, z/OS may redirect zIIP eligible work to general CPUs when all zIIPs are busy. The additional (overhead) CPU time to use zIIP processors can surpass the CPU time that is offloaded to zIIP processors. Or even, the general CPU usage is increased.