Register Login

SAP HANA Non-Uniform Memory Access (NUMA)

Updated May 18, 2018

Explain Non-Uniform Memory Access (NUMA)?

Non-Uniform Memory Access (NUMA) is a memory architecture comprising of multi-processor systems in which a certain amount of memory is allocated to every processor, however, the other CPUs can also access it ("distributed shared memory"). Accessing locally assigned memory is comparatively faster than accessing memory assigned to a separate CPU.

A NUMA node encompasses of many CPU cores and a certain amount of memory. Ideally, all the NUMA nodes in a system are identically configured.

Example:

  • 16 TB memory, 288 CPU cores
  • 16 NUMA nodes
  • 18 CPU cores / NUMA node, 1 TB / NUMA node

Is NUMA utilized in SAP HANA environments?

Beginning with SAP HANA 1.0 SPS 10 SAP HANA is NUMA-aware for efficiently distributing and accessing memory.

How can the user determine the SAP HANA NUMA utilization details?

With SQL: "HANA_Tables_ColumnStore_TableSize_Internal" (SAP Note 1969700), the assignment of tables and table partitions to specific NUMA nodes can be determined

Note: These operations should not be executed coupled with high workload, as they read the NUMA maps file under /procfs with a process-wide lock and may even slow down the entire process of the heap management.

List the indications which exist for SAP HANA NUMA issues?

The database trace has entries as shown in the table below:

<

Component Source file Message
Job JobExecutorUtil.cpp

dubious configuration detected, switching to single numa node mode: <log_cpu> log.CPUs, <act_cpu> active, <phys_cpu> phys.cores, <sockets> sockets
running as VM guest

log.CPU <cpu_id> core index <core_id> socket index <socket_id>


×