Anyone who uses an IBM z Series mainframe has probably heard about  zIIPs and zAAPs and other specialty processors. But maybe you haven't  yet done any real investigation into what they are, what they do, and  why they exist. So, with that in mind, let's take a brief journey into  the world of specialty processors in today's blog entry!
Over the  course of the past decade or so, IBM has introduced several different  types of specialty processors. The basic idea of a specialty processor,  is that it sits alongside the main CPUs and specific types of "special"  workload is shuttled to the specialty processor to be run there, instead  of on the primary CPU complex. Why is this useful or interesting to  mainframe customers? Well, the specialty processor workload is not  subject to IBM (as well as many ISVs) licensing charges... and, as any mainframer knows,  the cost of software rises as capacity on the mainframe rises. But if  capacity can be redirected to a specialty processor, then software  license charges do not accrue -- at least for that workload.
And for VWLC customers, shuttling workload to a specialty processor can reduce the rolling four hour average and thereby decrease your monthly IBM software license bill.
Another  benefit of the specialty processors is that can be cheaper to acquire than standard CPUs.
But specialty processors can only run certain types of workloads. There are four types of specialty processors:
- ICF: Internal Coupling Facility - used for redirecting coupling facility cycles in a data sharing environment.
- IFL: Integrated Facility for Linux - used for processing zLinux workload on an IBM mainframe.
- zAAP: Application Assist Processor - used for Java workload
- zIIP: Integrated Information Processor - used for processing certain, distributed database workloads.   
 
When you activate any of these processors, some  percentage of that type of workload can be redirected off of the main CP  onto the specialty processor... but not 100% of the workload. It can be frustrating, particularly with the zIIP, to determine exactly what is redirected  exactly when and exactly how much of it. In general, distributed DB2 for  z/OS workload and XML processing can be redirected to zIIP processors.
Additionally,  to run on a zIIP, the workload must run under an enclave SRB. So, code  written to execute under a TCB will usually be unable to execute under  an SRB without major changes. If you didn't understand that sentence,  don't worry about it too much. Basically, IBM has enabled certain types of (mostly DB2) workload to run on zIIPs, and ISVs have enabled some of their code to run on zIIPs, too. If you are interested, more details about zIIPs can be found at this link.
Another interesting tidbit is that  zAAP-eligible workloads can be run on zIIPs with IBM's zAAP on zIIP support. This can be a boon to some  shops that only have zIIPs and no zAAPs. Now, with zAAP on zIIP support, you can  use zIIP processors for both Java and distributed DB2 workloads. The  combined eligible TCB and enclave SRB workloads might make the acquisition of a  zIIP cost effective.This capability also provides more  value for customers having only zIIP processors by making Java- and XML-based  workloads eligible to run on existing zIIPs.
 To take advantage of zAAP on zIIP, you need to be running z/OS V11.1 (or z/OS V1.9 or V1.10 with the PTFs for APAR OA27495) on a z9, z10, or z196 server.
Keep  in mind, that the terms for specialty processors do not change.  You can only have 1 zAAP and 1 zIIP per each general purpose processor.  So, even if you have zAAP on zIIP configured, the chip is still a zIIP  and you cannot have any more than 1 per general purpose processor.
The Bottom Line
The  bottom line is that even though it can take some studying and research to understand their benefit and functionality, specialty processors can help to reduce the  cost of mainframe computing... and that is a good thing!