Are you running your z/VSE system with multiple CPUs active ?
Ingolf24 120000DRN3 Visits (3231)
z/VSE workloads run best on uni-, two or three processors (CPUs). How many processors your z/VSE workload can exploit depends on your non-parallel share (NPS), that is the ratio of the non-parallel work units to all work units. The z/VSE Turbo Dispatcher controls the selection of work units to CPUs. A work unit is defined as a set of instructions, that is executed from the selection by the z/VSE Turbo dispatcher until the next interrupt. A z/VSE job consists of many work units. One work unit of a job can be processed at a time, that is no other work unit of the same job can run on a different CPU. That means for multitasking applications (applications with z/VSE subtasks attached), no other task of the same job can execute on a different CPU, if one task of that job is already active.
A z/VSE job consists of non-parallel and/or parallel work units.
Most customer applications - batch and on-line (CICS), are processed as parallel work units. However, if an application calls a Supervisor service, it has to process non-parallel work units.
Non-parallel work units are most system services and key 0 applications, such as Supervisor and VTAM services. Only one CPU (started for the z/VSE system) may process a non-parallel work unit at a time, that is as long as this work unit type is active, no other CPU can process a non-parallel work unit. Any other job, that wants to process a non-parallel work unit, has to wait until no other CPU processes a non-parallel work unit. However, other CPUs may process parallel work units of tasks within the same job or other jobs.
Back to non-parallel share (NPS): The QUERY TD shows the non-parallel share (NP/TOT value) since the last IPL or counter reset (via SYSDEF TD, RESETCNT).
The higher the NPS is, the lower the multiprocessor exploitation will be. E.g. a NPS value of 0.3 may allow the exploitation of three processors, 0.5 up to two processors. Heavy I/O workloads usually limit the exploitation of processors. They have a high NPS value. To reduce the multiprocessor overhead, please only start CPUs that you really need. Best would be to run the workload on a uni-processor, if the uni is large enough for your workload.
If your workload has different CPU requirements during day and night I recommend CPU balancing. CPU balancing starts only additional CPUs, if that's required for the workload. That is you can reduce multiprocessing overhead. It is easy to activate CPU balancing. Just start it with the SYSDEF TD,INT= command. Use an inspection interval of e.g. 9 seconds (INT=9), leave the threshold (THR 50) as is. The z/VSE Turbo Dispatcher will now inspect the CPU utilization every 9 seconds. If the CPU utilization passes 50 %, an additional CPU will be added.
More information is in the z/VSE Hints and Tips for z/VSE 5.1, in the z/VSE System Control Statements book or in our performance documentation - lacated on our documention web page.
Please let me know, if this post was useful.
If you don't want to answer by email or comment, just view this post ;-)