IBM Support

Update to the DB2 node configuration file to support a Non-Uniform Memory Access (NUMA) on Linux.

Question & Answer


Question

Is NUMA supported on Linux?

Answer

Non-Uniform Memory Access (NUMA) support is available on Linux.

In the Quick Beginnings for DB2 Servers, the topic called "DB2 node configuration file - db2nodes. cfg (UNIX) should be updated in the following way:

Under the resourcesetname description, the following are the required changes:



The resourcesetname defines the operating system resource that the node should be started in. The resourcesetname is for process affinity support, used for MLNs, provided with a string type field formerly known as quadname.

This parameter is only supported on AIX, HP-UX, Solaris Operating Environment, and Linux.

On AIX 5.2, this concept is known as "resource sets" and on Solaris Operating Environment it is called "projects". Refer to your operating systems documentation for more information on resource management.

On HP-UX, the resourcename parameter is a name of PRM group. Refer to "HP-UX Process Resource Manager. User Guide. (B8733-90007)" documentation from HP for more information.

On Windows operating systems, process affinity for a logical node can be defined through the db2processor registry variable. See the related links section for more information on system environment variables.

On Linux, the resourcesetname column defines a number that corresponds to a Non-Uniform Memory Access (NUMA) node on the system. The system utility 'numactl' must be available as well as a 2.6 Kernel with NUMA policy support. See 'man numactl' for more information on NUMA support on Linux.

The netname parameter must be specified if the resourcesetname parameter is used.

Later in the same topic, the following should be added before the end of the "Examples using resourcename" section.

Linux Example

This example shows how to setup a 4-node NUMA machine with each logical node associated with a NUMA node.

1. First insure that NUMA capabilities exist on the system. Issue the command:

$ numactl --hardware
available: 4 nodes (0-3)
node 0 size: 1901 MB
node 0 free: 1457 MB
node 1 size: 1910 MB
node 1 free: 1841 MB
node 2 size: 1910 MB
node 2 free: 1851 MB
node 3 size: 1905 MB
node 3 free: 1796 MB


In this example, there are 4 NUMA nodes on the system. Edit db2nodes.cfg as follows:

0 hostname 0 hostname 0
1 hostname 1 hostname 1
2 hostname 2 hostname 2
3 hostname 3 hostname 3

This will associate each MLN with a NUMA node on the system.

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Database Objects\/Config - Instance","Platform":[{"code":"PF016","label":"Linux"}],"Version":"8","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21207115