numa_policy(5)numa_policy(5)NAMEnuma_policy - physical memory allocation policy on cellular HP-UX
servers
VALUES
Default
Allowed values
Integer values or
DESCRIPTION
HP-UX treats large servers as if they are built from componment blocks.
Each component block is referred to as a locality and can contain mem‐
ory, CPUs and peripherals. HP-UX constructs these component blocks in
such a way as to optimize resource alignment.
If a machine has only one locality, it is considered to be an UMA
(Unform Memory Architecture) machine. UMA is also a synonym for Sym‐
metric Multiprocessor (SMP).
Large servers use Non-Uniform Memory Access (NUMA) protocols. An
application thread can experience variable memory latency depending on
whether it is accessing memory from the same locality upon which it is
executing or from a different locality.
HP-UX implements a number of memory allocation features to optimize
performance. Users can divide the memory on the system into two
classes of memory: Interleaved and Cell-local.
Interleaved memory delivers uniform latency. It makes multiple locali‐
ties look like a single bank of uniform memory, delivering the same
average latency for all applications across all CPUs. This is very
useful in spreading the memory load across all the localities.
Cell-local memory delivers low latency (high performance) to a process
running in the same cell as the memory it accesses. Conversely, refer‐
ences from a remote cell will have a much higher latency.
Users can configure cell-local memory using the HP-UX command or
The dynamic kernel tunable allows users to define how interleaved and
cell-local memory are utilized. There are five possible values for
this tunable:
This is the default value. HP-UX will autosense the right policy
based on the
mode in which HP-UX is operating. See for more details on
mode.
This is the default policy in LORA mode. See
For user memory allocation this policy directs HP-UX to
use memory from the locality domain where the thread is
most likely to be scheduled. It will select the locality
by first honoring any locality policies specified in or
If no locality policies are specified, then all user mem‐
ory is allocated from the locality domain where the
thread is most likely to be scheduled.
This policy directs HP-UX to override any locality policies sup‐
plied via
or and allocate all memory from the interleaved. Cell-
local memory is allocated when there is insufficient
interleaved memory.
This policy is like setting
to except that all text and library data segments are
allocated from the interleaved memory. This setting is
useful for servers running highly threaded applications.
This setting has a similar effect to the command's +id
option (this option is only available on Integrity sys‐
tems), but on a system wide basis.
This is the default policy in SMP mode. See
In a machine configured with a mix of cell-local memory
and interleaved memory, HP-UX makes intelligent decisions
on how to use the memory by distinguishing between pri‐
vate memory and shared memory. For example, Memory allo‐
cated to private objects (stack, heap, private files, and
so on) is likely to come from cell-local memory. Memory
allocated to shared objects (shared files, System V
shared memory) is allocated from interleaved memory
unless the user specifies otherwise using for files or
uses one of the memory options in
Restrictions on Changing
Changes to this tunable take effect on memory allocated subsequent to
the change. Any memory created before the change will not be affected.
When Should the Value of This Tunable Be Changed to 1?
should be set to 1 only if all performance-sensitive applications on
the system have a high degree of locality of access. That is, if the
majority of references to shared memory are from processes running on
the same cell where the memory has been allocated, then setting will
have a positive effect on performance. Changing the value to 1 should
be done after sufficient memory has been designated as cell-local using
and the machine has been rebooted.
When Should the Value of This Tunable Be Changed to 2?
can be set to 2 if the workload has a low degree of locality to a cell
and it is not possible to change the source code. Changing the value
to 2 should be done after sufficient memory has been designated as
interleaved using and the machine has been rebooted. Setting the tun‐
able to 2 only makes sense in a mixed environment in which some appli‐
cations can benefit from cell-local memory, and others cannot.
When Should the Value of This Tunable Be Changed to 3?
can be set to 3 if the all the performance-sensitive applications on
the system have a high degree of locality of access and if the workload
is threaded. Changing the value to 3 should be done after sufficient
memory has been designated as cell-local using and the machine has been
rebooted.
WARNINGS
All HP-UX kernel tunable parameters are release specific. This parame‐
ter may be removed or have its meaning changed in future releases of
HP-UX.
Installation of optional kernel software, from HP or other vendors, may
cause changes to tunable parameter values. After installation, some
tunable parameters may no longer be at the default or recommended val‐
ues. For information about the effects of installation on tunable val‐
ues, consult the documentation for the kernel software being installed.
For information about optional kernel software that was factory
installed on your system, see at
AUTHOR
was developed by HP.
SEE ALSOchatr_ia(1), mpsched(1), parmodify(1M), fadvise(2), numa_mode(5),
shmget(2).
Tunable Kernel Parameters numa_policy(5)