Natural zIIP Processing: TCBs, SRBs and Enclaves

This Dokument provides information on how Natural enables zIIP support.

In general, all z/OS applications (including Natural applications) run as a TCB (task control block) process (TCB mode). However, running applications on a zIIP requires an SRB (service request block) process which must be assigned to an IBM WLM (z/OS Workload Manager) enclave. This enclave is a special WLM transaction unit that organizes several TCB and/or SRB processes which run in the same or in different regions. The WLM enclave created and used by Natural for zIIP processing is bound to a region, this means, the WLM enclave terminates when the corresponding job step terminates.


TCB/SRB Switches

The prerequisites for zIIP enablement (described in Installing zIIP Enabler for Natural) are checked during the initialization of a Natural session. If successful, an SRB process is started for the Natural session in parallel to the current TCB process which is placed into a wait state while the SRB continues processing the Natural session. The TCB wait state is revoked when a service call - supervisor call (SVC) or program call (PC) - is to be issued, because these calls cannot be processed in SRB mode. The TCB then continues processing while the SRB is placed into a wait state. In the Natural documentation, this procedure is called "SRB/TCB switch". When the service call has finished, the wait state of the SRB is revoked and, again, the TCB is placed into a wait state, and so on. Consequently, this is called "TCB/SRB switch". The zIIP processing reports produced by the Natural system command ZIIP (see zIIP Processing Reports Available) only provides information on the TCB/SRB switches. This is because the number of SRB/TCB switches is usually exactly the same as the number of TCB/SRB switches. Exception: If an abnormal termination occurs in SRB mode, z/OS automatically terminates the SRB and the TCB wait state is revoked to handle the abnormal termination. When the session continues, Natural starts a new SRB process upon the next TCB/SRB switch.

Restrictions and Limitations in SRB Mode

There are a number of restrictions and limitations for SRB processing; for example, the SRB cannot execute normal system service calls such as SVCs or PCs. These calls can only be used in TCB mode. Moreover, in SRB mode, the TCB address cannot be loaded from low core storage (in the field PSATOLD) as some applications attempt in order to access the TCB storage and other important control blocks. In SRB mode, such load techniques most likely result in an S0C4 protection exceptions because PSATOLD is zero.