106 IBM z13s Technical Guide
and supported by the z/OS operating system. SMT enables continued scaling of
per-processor capacity.
How zIIPs work
zIIPs are designed to support designated z/OS workloads. One of the workloads is Java code
execution. When Java code must be run (for example, under control of IBM WebSphere), the
z/OS JVM calls the function of the zIIP. The z/OS dispatcher then suspends the JVM task on
the CP that it is running on and dispatches it to an available zIIP. After the Java application
code execution is finished, z/OS redispatches the JVM task to an available CP. After this
process occurs, normal processing is resumed.
This process reduces the CP time that is needed to run Java WebSphere applications, freeing
that capacity for other workloads.
Figure 3-14 shows the logical flow of Java code running on a z13s server that has a zIIP
available. When JVM starts the execution of a Java program, it passes control to the z/OS
dispatcher that verifies the availability of a zIIP.
The availability is treated in the following manner:
If a zIIP is available (not busy), the dispatcher suspends the JVM task on the CP and
assigns the Java task to the zIIP. When the task returns control to the JVM, it passes
control back to the dispatcher. The dispatcher then reassigns the JVM code execution to
aCP.
If no zIIP is available (all busy), the z/OS dispatcher allows the Java task to run on a
standard CP. This process depends on the option that is used in the OPT statement in the
IEAOPTxx member of SYS1.PARMLIB.
Figure 3-14 Logical flow of Java code execution on a zIIP
Standard Processor
zIIP
WebSphere
Execute JAVA Code
z/OS Dispatcher
Suspend JVM task on z/OS
standard logical processor
WebSphere
Java Application Code
Executing on a zAAP
logical processor
z/OS Dispatcher
JVM
Switch to zAAP
JVM
JVM
Switch to
z/OS Dispatcher
JVM
Dispatch JVM task on z/OS
standard logical processor
JVM
z/OS Dispatcher
logical processor
z/OS Dispatcher
Dispatch JVM task on z/OS
zAAP logical processor
JVM
Switch to standard processor
z/OS Dispatcher
Suspend JVM task on z/OS
zAAPlogical processor
WebSphere
Execute JAVA Code
z/OS Dispatcher
Suspend JVM task on z/OS
standard logical processor
WebSphere
Java Application Code
Executing on a zIIP
logical processor
z/OS Dispatcher
JVM
Switch to zIIP
JVM
JVM
Switch to
z/OS Dispatcher
JVM
Dispatch JVM task on z/OS
standard logical processor
JVM
z/OS Dispatcher
logical processor
z/OS Dispatcher
Dispatch JVM task on z/OS
zIIP logical processor
JVM
Switch to standard processor
z/OS Dispatcher
Suspend JVM task on z/OS
zIIP logical processor