How the ibi WebFOCUS Reporting Server Takes Advantage of the zIIP Processor

The server diverts eligible workload to the zIIP engine by switching from TCB (Task Control Block) mode for workloads that can run only on a Central Processor to SRB (Service Request Block) mode for execution of enabled workloads on the zIIP engine.

Types of server processing that are offloaded to the zIIP engine include:

  • Computations
  • Aggregation
  • Screening
  • Sorting
  • Report formatting and styling
  • Transaction Processing

The server zIIP Monitor detects situations in which the overhead cost of zIIP usage exceeds the CPU benefits gained. When this threshold is reached, the server might decide to suspend the use of the zIIP for the duration of a logical phase of the server request. When it does so, it places a message to that effect in the JES log. It then resets to make the zIIP processor accessible to the next logical phase of the server request.

TABLE, MATCH, MODIFY, and MORE requests may suspend and resume more than once as they progress through logical phases of execution.

In every case, the server attempts to optimize the use of the zIIP and minimize chargeable CPU costs.

Applications that perform significant database I/O, high-volume sorting, or the use of third-party tools or user functions during processing require switching out of SRB (zIIP) mode into TCB (non-zIIP) mode to communicate, and then back again to continue processing. Although each switch is minuscule, the cumulative effect can absorb measurable amounts of CPU time on both the zIIP engine and the Central Processor.

To diminish this effect, the server buffers the collection of records passed to the system sort utility and some adapters rather than passing one record at a time, thus reducing the number of switches between TCB and SRB modes.

These third-party products might be zIIP enabled and might offload some or all of their processing to the zIIP engine independent of the server. The server always calls these products from the Central Processor because it cannot know whether they might perform any processing that is prohibited on the zIIP.

Even though zIIP usage occurs more frequently on non-optimized requests to a relational data source, optimized requests are still inherently more efficient and, therefore, might incur less CPU time. Being zIIP enabled, Db2 might also take advantage of the zIIP processor for server requests based on the local configuration of Db2 relative to the server.

Requests against some types of data sources whose I/O can be buffered gain a lot of advantage from zIIP enablement. Data sources that gain the most benefit from zIIP processing due to buffered I/O include:

  • Blocked flat files
  • FOCUS
  • XFOCUS
  • VSAM
  • Db2