No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search

Reminder

To have a better experience, please upgrade your IE browser.

upgrade

Huawei Server Maintenance Manual 09

Rate and give feedback :
Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document. Note: Even the most advanced machine translation cannot match the quality of professional translators. Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).
NUMA CPU Bonding for the BDS Database on an RH5885 V2

NUMA CPU Bonding for the BDS Database on an RH5885 V2

1. NUMA Architecture

Non-Uniform Memory Access (NUMA) is initially a microarchitecture based on AMD Opteron processors and is later used by Intel Nehalem for processors (Intel® Xeon® E5500 series processors or later, and Intel® Core® i3, i5, and i7 processors). NUMA marks AMD's another improvement on the CPU architecture after AMD64.

In this architecture, each CPU can access its local memory pool, with lower latency and higher bandwidth between CPUs and memory. At the same time, all the memory is accessible to all CPUs. That is, when a CPU accesses a DIMM in its memory pool, the CPU exclusively occupies the bandwidth and, the latency is minimum. When a CPU accesses a DIMM outside its memory pool, the CPU shares the bandwidth with other CPUs and the latency is longer.

Figure 6-14 QPI links and DIMM configuration on an RH5885 V2

2. Basic Operations

In a Linux OS, run numactl to bind a process to a CPU or DIMM and check the distribution of NUMA nodes, as shown in Figure 6-15.

Figure 6-15 Distribution of NUMA nodes

Binding a process to CPU0 and CPU1 and to DIMM0 and DIMM1:

Binding DIMM0 and DIMM1 to CPU0 and CPU1 in round robin mode.

3. NUMA Optimization for the TimesTen In-Memory Database

  1. Log in to the userinfo database.
  2. Bind the userinfo database to CPU4, 5, 6, and 7, and bind DIMMs to CPU4, 5, 6, and 7 in round robin mode.

    numactl --cpunodebind=4,5,6,7 --interleave=4,5,6,7 ttdaemonadmin -start

    numactl --cpunodebind=4,5,6,7 --interleave=4,5,6,7 ttadmin -ramload userinfo

  3. Log in to the acct database.
  4. Bind the acct database to CPU0, 1, 2, and 3, and bind DIMMs to CPU0, 1, 2, and 3 in round robin mode.

    numactl --cpunodebind=0,1,2,3 --interleave=0,1,2,3 ttdaemonadmin -start

    numactl --cpunodebind=0,1,2,3 --interleave=0,1,2,3 ttadmin -ramload acct

    NOTE:

    You can run the following command to check the nodes that a database is mounted to:

    watch -n 1 "numactl --hardware | grep free"

    Figure 6-16 Mounting a database to nodes

4. Advantages and Disadvantages

Advantage: After a database is bound to CPUs, programs can access only DIMMs bound to the CPUs, eliminating remote DIMM access and improving CPU cache hit ratio. This improves program running performance.

Disadvantage: After a database is bound to CPUs, programs can access only CPUs and DIMMs of certain nodes. CPUs of other nodes cannot be accessed even when the performance is poor.

5. Note

None

Translation
Download
Updated: 2019-02-25

Document ID: EDOC1000041338

Views: 71864

Downloads: 3788

Average rating:
This Document Applies to these Products
Related Documents
Related Version
Share
Previous Next