HP Process Resource Manager User's Guide

Understanding how PRM manages resources
How PRM manages CPU resources
Chapter 2 49
Hyper-Threading
Hyper-Threading, available starting with HP-UX 11i v3 (B.11.31),
enables you to use multiple execution threads per core. Each execution
thread is a logical CPU.
PRM supports the Hyper-Threading feature for PSET PRM groups.
When PRM creates new PSETs, they inherit the Hyper-Threading state
the system had before PRM was enabled. You can override the inherited
state, specifying the desired state in the PRM configuration using the
PSET_ATTR field in group records. For more information, see the section
“Group/CPU record syntax” on page 105.
PRM sets the Hyper-Threading state for the default PSET, where FSS
PRM groups are created, to optimize workload performance.
NOTE Do not change the value of a PSET’s LCPU attribute, using either
psrset or kctune, while PRM is running.
Multiprocessors and PRM
PRM takes into account architectural differences between
multiprocessor (MP) and single-processor systems.
In the case of memory management, Hewlett-Packard multiprocessor
systems share the same physical address space. Therefore PRM memory
management is the same as on a single-processor system.
However, in the case of CPU resource management, PRM makes
accommodations for MP systems. The normal HP-UX scheduling scheme
for MP systems keeps the CPU load average at a uniform level across the
cores. PRM tries to even the mix of FSS PRM groups on each available
CPU. (With Hyper-Threading disabled, each core is seen as a CPU. With
Hyper-Threading enabled, each core can be seen as multiple, logical
CPUs.) This is done by assigning each process in an FSS PRM group to a
different CPU, stepping round-robin through the available CPUs, with
the CPUs being cores or logical CPUs depending on whether
Hyper-Threading is enabled. Only processes that can be run or processes
that are likely to run soon are actually assigned in this manner.