Do you know that mainframe systems have several kinds of engines (i.e., processors) not just a Central Processor (CP)? Early mainframes had only one processor – the Central Processing Unit (CPU). As the mainframe industry evolved over the decades, today’s systems have a Central Processor Complex (CPC) consisting of several different processor types. Each processor type is used for a specific purpose. Technically, all processors are the same out of the box, but are configured as specific engine types during installation, or at any time later by IBM. Unlike CPs, which can be configured to run at lower speeds for software cost reasons, specialty processors usually run at full speed.
Primarily, specialty processors are configured and used for two main reasons, to lower software costs, and to process specific (and eligible) workload types. To understand the need for a specialty processor for software cost reasons, we need a clear understanding on how software costs are billed on the mainframe. The key point to note in the mainframe software billing world, is that the workloads that run on the specialty processors do not count towards software cost – unlike CPs, whose workloads definitely do count towards software cost. You can still run specialty processor-eligible workloads on CPs, but they will then contribute to your monthly software costs.
Mainframe customers are charged a Monthly Software License Charge (MLC) for use of the software that runs on their mainframe systems – it is based on peak MSU usage. To determine the MLC, the mainframe operating system generates monthly reports that determine the customer’s system usage (in MSUs) during every hour of the month using a rolling average (i.e., a 4-hour rolling average) recorded by each LPAR or capacity group. The hourly usage metrics are then aggregated together to derive the total monthly, hourly peak utilization, which is used to calculate the monthly bill.
Below we will go through each of the processor types and their purpose.
- Central Processor (CP)
This is general purpose processor that is used by z/OS and other software applications. Work executed on this processor is counted toward the MLC. This processor can be run at lower speed for cost reasons.
- Integrated Facility for Linux (IFL)
IFL processors are used for the Linux operating system running on the mainframe. Linux can be run on CP processor, but running Linux on IFL lowers your monthly bill, as IFL workloads do not contribute to the MLC.
- Integrated Coupling Facility (ICF)
ICFs are used with a coupling facility— a special LPAR that provides functions like caching, locking and listing in a Sysplex.
- System Assistance Processor (SAP)
SAP engines are used within the I/O subsystems – a single system could have several SAPs. They aid in translation of device number and CHPIDs, managing multiple paths to control units, etc.
- System z Application Assist Processor (zAAP)
zAAP are designed to run Java workloads on the mainframe. If zAAPs are configured, then z/OS will direct eligible java workloads to be run on the zAAP. If you do not have zAAP engines configured, you could still run Java workloads on CPs, but that will contribute towards the MLC. Note that beginning with the z13 machine, zIIP specialty engines also run workloads that are eligible to run on zAAP specialty engines. zAAP engines are no longer supported beyond the z13.
- System z Integrated Information Processor (zIIP)
zIIPs are specialty processors that run eligible database workloads. Similar to zAAP and IFL processors, zIIP processors offloads specific workloads that otherwise run on CPs, thereby reducing the MLC.