z Application Assist Processor
The IBM System z Application Assist Processor (zAAP), previously known as the zSeries Application Assist Processor, is a mainframe processor introduced by IBM in 2004. zAAP engines are dedicated to running specific Java and XML workloads under z/OS, accelerating performance. zAAPs are available for zSeries 990 and 890 servers and later zSeries and zEnterprise models. Beginning with the IBM z13, the zAAP functionality is integrated with zIIP processors (zAAP on zIIP).
Currently a zAAP engine contains the same underlying hardware as any other mainframe engine. However, IBM uses microcode to limit code execution to Java and XML workloads only. As with Integrated Facility for Linux (IFL) and zIIP, zAAPs are not specifically optimized to run Java faster or better. IBM does not change the "software model" or MSU rating on its mainframes with the installation of zAAPs. Consequently, IBM's customers do not incur software license charges for their zAAPs, reducing their costs of running Java- and XML-oriented applications. The number of zAAPs cannot exceed the number of central processors (CPs, general purpose engines) within a zSeries/z9 machine.
IBM made the zAAP feature (i.e. the microcode) generally available on June 30, 2004, although the required z/OS release was not generally available until September 24, 2004. zAAPs work with z/OS V1R6 and higher, and Java 1.4.1 and higher. IBM modified the z/OS dispatcher and Workload Manager (WLM) to switch pure Java workload to the dedicated engines. These modifications are completely transparent to Java applications. However, because Java must at least occasionally call native system services (I/O services, for example), some conventional processor (CP) capacity must be available to initiate and sustain a zAAP engine. Major software subsystems that could benefit from zAAP (i.e. that rely on Java workloads) include WebSphere Application Server, WebSphere Business Integration Server Foundation, WebSphere Process Server, WebSphere Message Broker, DB2, CICS Transaction Server, CICS Transaction Gateway, IMS, and (JZOS and z/OS UNIX System Services) Batch, among others. In 2007, IBM added zAAP support to the XML System Services for z/OS, so now products such as DB2 9 for z/OS can also take advantage of zAAPs for XML-related processing.
The first commercial production workload for zAAP began on September 1, 2004, at an undisclosed Midwestern U.S. insurance company performing claims processing. The company used Java 1.4.2, WebSphere Application Server Version 5.1, and a near-final z/OS V1R6 build on a zSeries 990 (2084-304/A08 with two zAAPs). This deployment is probably a mainframe record for speed of both development and adoption, since IBM only began its zAAP design project in 2003.
Support for zAAPs
Third-party independent software vendors (ISVs) have introduced support for execution of their products on zAAP Specialty Engines by using Java or XML Services toolkit from IBM.
For example, Ivory Server for z/OS and Ivory Server for CICS from GT Software, Inc. provide zAAP support for XML parsing using the optional IBM z/OS XML Services feature. The Ivory Server for Java will also take advantage of the zAAP in addition to supporting zIIP and the Integrated Facility for Linux (IFL).
- "Engine" is the common name for a primary mainframe CPU. Mainframes contain numerous secondary assist processors, so the use of "engine" to refer to a primary workload processor is an attempt to avoid confusion with these I/O, network, and other assist processors.
- "Ivory Service Architect data sheet" (PDF). GT Software, Inc.