Assist Processors
# Assist Processors

Assist Processors (englisch, auch specialty processors) sind CPUs, die auf IBMs Mainframes des Typs System z eingesetzt werden, um reguläre Prozessoren von bestimmten Aufgaben zu entlasten. Der Anwender kann bestimmen, welche Identität (normale CPU oder Assist CPU) die CPUs im System haben sollen. Außerdem werden Assist Processors bei der Berechnung von Lizenzgebühren für Software, die abhängig von der Prozessorleistung ist, nicht berücksichtigt. Assist-Prozessoren laufen immer mit voller (modellabhängigen) Geschwindigkeit. Normale CPUs können langsamer laufen, um Lizenzkosten zu sparen. Technisch unterscheiden sich die Assist Processors nicht von den normalen CPUs. Die Nutzung der Prozessoren wird lediglich durch die Firmware und durch das Betriebssystem auf bestimmte Anwendungen im System begrenzt.

## Typen der Assist Processors
### Integrated Facility for Linux (IFL)

Die IFL ist ein Spezialprozessor für die Ausführung der Betriebssysteme z/VM, Linux und OpenSolaris auf System z.

### Internal Coupling Facility (ICF)

Internal Coupling Facility Processors dienen dazu, in einer LPAR die Coupling-Facility-Funktionalität bereitzustellen.

### Application Assist Processors zAAP

System z Application Assist Processors (zAAP) erlauben es, Java-Anwendungen auszuführen. Dabei kann Arbeit auf dem zAAP ausgeführt werden, wenn die Java Virtual Machine (JVM) dem Dispatcher mitteilt, dass ein JVM-Code abgearbeitet wird. Die Ausführung auf dem zAAP bleibt solange erhalten, bis das Java-Programm abgearbeitet ist oder ein Aufruf eines Systemdienstes zur Rückkehr auf den regulären Prozessor veranlasst. Mit der Einführung von zAAPs wird die Ausführung von Java-basierten Anwendungen unter WebSphere, CICS, IMS und Db2 unter z/OS attraktiver gestaltet. Auch bestimmte Systemfunktionen zur Verarbeitung von Daten im XML-Format können zAAPs nutzen.

### System z Integrated Information Processors (zIIP)

zIIPs werden verwendet, um eine bestimmte Art von Arbeit von den regulären Prozessoren auszulagern. Der Anteil der auszulagernden Arbeit hängt dabei von der System-Komponente oder Middleware ab, die von dieser Technik Gebrauch macht. Zuerst wurden zIIPs von Db2 ausgenutzt, um bestimmte Anteile von DRDA-Anforderungen, Star-Schema-Tabellenzugriffen, LOAD-, REORG- und REBUILD-Abarbeitungen auszulagern. Mittlerweile kann eine wachsende Anzahl von Anwendungen auf zIIPs ausgeführt werden.