United States-English |
|
|
HP-UX Reference > Nnuma_policy(5)Tunable Kernel ParametersHP-UX 11i Version 3: February 2007 |
|
NAMEnuma_policy — physical memory allocation policy on cell-based HP-UX servers DESCRIPTIONLarge servers are built from one or more component blocks called cells. Each cell has at least 1 CPU and normally some amount of memory. These cell-based servers use Non-Uniform Memory Access (NUMA) protocols. This means that an application thread can experience widely variable memory latency depending on whether it is accessing memory from the same cell upon which it is executing or from a different cell. 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: Interleave and Cell-local. Interleave memory delivers uniform latency. It makes NUMA hardware 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 the entire memory fabric. By default, all the memory in an HP-UX server is configured as interleaved. Cell-local memory delivers low latency (high performance) to a process running in the same cell as the memory it accesses. Conversely, references from a remote cell will have a much higher latency. Users can configure cell-local memory using the HP-UX command parmodify(1M). The numa_policy dynamic kernel tunable allows users to define how interleaved and cell-local memory are utilized. There are three possible values:
Restrictions on ChangingChanges to this tunable take effect on all 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?The tunable value should be set to 1 only if all performance-sensitive applications on the system have a high-degree of cell locality. That is, if the great majority of references to shared memory are from processes running on the same cell where the memory has been allocated, then setting numa_policy = 2 will have a positive effect on performance. The value should normally be changed back to 0 after the memory allocations have been completed. Changing the value to 1 should be done after sufficient memory has been designated as cell-local using parmodify(1M) and the machine has been rebooted. When Should the Value of This Tunable Be Changed to 2?The tunable value 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. The value should be changed to 0 after the memory allocations have been completed. Changing the value to 2 should be done after sufficient memory has been designated as interleave using parmodify(1M) and the machine has been rebooted. Note, setting the numa_policy tunable to 2 only makes sense in a mixed environment in which some applications can benefit from cell-local memory, and others cannot. WARNINGSAll HP-UX kernel tunable parameters are release specific. This parameter 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 values. For information about the effects of installation on tunable values, consult the documentation for the kernel software being installed. For information about optional kernel software that was factory installed on your system, see HP-UX Release Notes at http://docs.hp.com. |
Printable version | ||
|