Do you know that mainframe has several kinds of engines i.e. processors not just Central Processor (CP)? The mainframe has several flavors of processors that perform various functions. Early mainframes had only one processor – Central processing unit(CPU). As mainframe industry evolved over the decades, today’s mainframes have Central Processor Complex(CPC) consisting of several kinds of processors. Each processor types are used for a specific purpose. Technically all processors are same out of the box and these processors are configured as specific engine types during installation or at any time later by IBM. Unlike CPs where they can be configured to run at lower speeds for software cost reasons, specialty processors usually ran at full speed.
Primarily specialty processors are configured and used for two main reasons, to lower software costs, and to process eligible new workloads. To understand the need for a specialty processor for software cost reasons, we need a clear understanding on how software costs are billed on mainframe. The key point to note in mainframe software billing world is that the workloads that run on the specialty processors don’t count towards software cost but workloads that ran on CPs are. You can still run these workloads on CPs that otherwise could run on specialty processors. But the difference is, these workloads when ran on CPs could contribute to your monthly software costs. Mainframe customers are often charged for their software that runs on a mainframe based on peak MSU usage through a Monthly Software License Charge (MLC). 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 previous month using a rolling average (e.g., a 4-hour rolling average) recorded by each LPAR or a 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 to software bill. This processor can be run at lower speed for cost reasons.
Integrated Facility for Linux (IFL) - IFL are used for Linux operating system running on mainframe. Linux can be run on CP processor as well but running Linux over IFL, would lower your software bill, as workloads on IFL don’t contribute to your software bill.
Integrated Coupling Facility (ICF) - ICFs are used with Coupling facility. A coupling facility is a special LPAR that provides functions like caching, locking and listing in a sysplex.
System Assistance Processor (SAP) - SAP engines are used with I/O Subsystems. A system could have several SAPs. They aid in the translation of device number and CHPIDs, managing multiple paths to control units etc.
System z Application Assist Processor (zAAP) - zAAP processors runs eligible Java workloads. If zAAPs are configured, then z/OS will direct eligible java workloads to be run on the zAAP. As mentioned earlier, if you do not have zAAP engines configured, you could still run these workloads on CPs but that could contribute towards software bill. So the purpose of zAAP engine is to offload some of the workloads i.e. Java code from CPs and there by lower software bills. Note that, starting z13 machine, zIIP specialty engines will also run workloads that are eligible to run on zAAP specialty engines. zAAP engines will no longer be supported beginning with the z13.
System z Integrated Information Processor (zIIP) - zIIPs are specialty processors that run eligible database workloads. Similar to zAAPs and IFLs, zIIP processors offloads specific workloads that otherwise ran on CPs and thereby reduce software costs. Beginning z13, zIIP processors can also ran zAAP eligible workloads i.e. Java code.
Author: Hemanth Rama is a senior software engineer at BMC Software. He has 11+ years of working experience in IT. He holds 2 patent and 1 pending patent application. He works on BMC Mainview for z/OS, CMF Monitor, Sysprog Services product lines and has lead several projects. More recently he is working on Intelligent Capping for zEnterprise (iCap) product which optimizes MLC cost. He holds a Masters degree in computer science from Northern Illinois University. He writes regularly on LinkedIn pulse, BMC communities, and his personal blog.