Z Application Assist Processor
1205754
219720475
2008-06-16T15:59:12Z
Jsavit
664550
Remove unneeded reference to Java, which was the wrong Java anyway - sorry
{{lowercase|title=z Application Assist Processor}}
The '''IBM [[System z]] Application Assist Processor''' ('''zAAP'''), previously known as the [[zSeries]] Application Assist Processor, is a [[IBM mainframe|mainframe]] processor introduced by [[IBM]] in [[2004]]. zAAP engines<ref>"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.</ref> are dedicated to running specific [[Java platform|Java]] and [[XML]] workloads under [[z/OS]], accelerating performance. zAAPs are available for zSeries 990 and 890 servers and all [[System z9]] and [[System z10]] servers.
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 [[Million_service_units|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, [[IBM DB2|DB2]], [[CICS Transaction Server]], [[CICS Transaction Gateway]], [[Information Management System|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]].
zAAP is not the first processor dedicated to a specific [[programming language]] or even to Java, although the common chip design differing only in microcode makes it unusual.{{fact|date=October 2007}}<!--
Putting aside the licensing model, does the new microcode make any difference? Does it have any *technical* features (e.g. special instructions) that make it dedicated to Java or XML? I feel that comparing zAAP to designs like picoJava is a pure marketing bs. Please provide ***sources***.
--> Other examples of Java processors include aJile Systems' [http://www.ajile.com/products/aj100.htm aJ-100] and Sun's [[picoJava]], both of which have Java-specific circuitry and microcode that run Java substantially faster than on a conventional processor with similar circuit timings. zAAP is apparently unique to large-scale commercial Java processing.
== External links ==
* [http://www.ibm.com/eserver/zseries/zaap IBM zAAP]
== See also ==
* [[Integrated Facility for Linux]] (IFL)
* [[zIIP]]
== References ==
{{Reflist}}
[[Category:IBM mainframe technology]]
[[Category:Java enterprise platform]]
[[de:IBM zAAP]]