Specifications

Chapter 1. General usage 7
underlying system, and this process has multiple threads.
3
One thread is used for the primary
operation of the CP. Other threads may help prepare System z instructions for the primary
thread. If multiple processors (cores) are available on the underlying system, then multiple
threads of a CP process may run in parallel.
Stated another way, multiple PC cores might contribute to the operation of a single CP,
resulting in CP performance better than what could be produced by a single PC processor
core. Additional PC processor cores are also used for other processes, such as I/O for the
1090, x3270 sessions, and the normal Linux background tasks. Considering a W500 mobile
computer with two processor cores and a 1090 L01 license, one core is usually consumed for
the CP process.
4
The second processor is partly used for I/O and so forth, and partly used to
help prepare instructions for the CP process. Except for the special case of an L01 zPDT
used on a single-core PC, a PC must have at least one more core than the number of CPs
(or CPs+zIIPS+zAAPs) in the largest zPDT instance.
The internal operation of the 1090 is complex and not documented. We cannot offer specific
tuning information to attempt to optimize the CP/processor core mix. It may be possible to
construct workloads that perform worse with “extra” cores available, and it is possible to
construct other workloads that perform twice as well as they would with a single PC processor
core. With typical workloads, over a reasonable time period, the availability of “extra” PC
processors (cores) contributes to the performance of a CP.
At this time, the availability of more than twice as many PC processor cores as CPs appears
to provide no additional performance improvement. That is, using a four-processor PC to run
one CP does not appear to offer much advantage over a two-processor PC. What little
advantage might be seen is probably due to Linux background tasks using the additional
processors.
When zPDT operation starts, the awsstart command processes the devmap. The devmap
specifies the number of CPs to start
5
(it defaults to one CP). The awsstart program requests
the specified number of licenses from the USB hardware key or a license server.
Earlier zPDT releases supported a configuration in which the number of CPs could equal the
number of cores; in particular, using two CPs in one instance (possibly with one converted to
a zIIP or zAAP) was possible on a two-core PC. Due to Linux changes, this is no longer
supported and may produce extremely poor performance if used. Several potential
configurations are explored in Figure 1-1.
3
A thread is a dispatchable unit for Linux. It is something like a task for z/OS.
4
A particular CPU is not dedicated to CP operation. CPUs are subject to normal Linux dispatching. The CPU
dispatched to the primary CP thread might change due to Linux dispatching. In trivial cases on a dual core
machine, we have noticed that Linux appears to switch which CPU is dispatched to the primary CP thread every
second or so.
5
This is an overview; the internal details for processing the 1090 license are not described.