본문 바로가기

Database

[HANA] 2470289 - FAQ: SAP HANA Non-Uniform Memory Access (NUMA)

https://launchpad.support.sap.com/#/notes/2470289

 

NUMA Node overview

  • Concept
    • Memory architecture of multi-processor systems where a certain amount of memory is assigned to every processor, but other CPUs are also able to access it (Distributed shared memory)
    • Accessing locally assigned memory is faster than accessing memory assigned to a differenct CPU
  • HANA 1.0 SPS10 부터 NUMA-aware 

 

NUMA configuration details

  • M_NUMA_NODES, M_NUMA_RESOUCES
  • SQL: "HANA_NUMA_Nodes"
--------------------------------------------------------------------------------------
|HOST  |PORT |NUMA_NODE|LOGICAL_CORES|LOGICAL_CORE_IDS|MEMORY_GB|NEIGHBOUR_NUMA_NODES|
--------------------------------------------------------------------------------------
|hana01|30346|        0|           36|0-17,144-161    |   126.06|1,3,4               |
|hana01|30346|        1|           36|18-35,162-179   |   126.24|0,2,5               |
|hana01|30346|        2|           36|36-53,180-197   |   126.24|1,3,6               |
|hana01|30346|        3|           36|54-71,198-215   |   126.24|0,2,7               |
|hana01|30346|        4|           36|72-89,216-233   |   126.24|0,5,6               |
|hana01|30346|        5|           36|90-107,234-251  |   126.24|1,4,7               |
|hana01|30346|        6|           36|108-125,252-269 |   126.24|2,4,7               |
|hana01|30346|        7|           36|126-143,270-287 |   126.24|3,5,6               |
--------------------------------------------------------------------------------------

 

  • hdbcons "jexec info"
Using 2 numa nodes
numa_features: 1
max_concurrency: 20 (cfg=0, dyn=20)
max_concurrency_hint: 20 (cfg=0)
min_concurrency_hint: 10 (cfg=0)
0 statement limiters
System info:
2 CPU sockets, 20 physical cores, 20 logical cores, 20 total possibles cores
Using global restriction to a subset of cores: [11111111 11111111 1111]
Numa node 0: usable cores=10 
  workers: [11111111 11000000 0000]
  others:  [00000000 00000000 0000]
  full:    [11111111 11000000 0000]
  max_concurrency: 10, dyn=10
  Numa node 1: usable cores=10 
  workers: [00000000 00111111 1111]
  others:  [00000000 00000000 0000]
  full:    [00000000 00111111 1111]
  max_concurrency: 10, dyn=10
[OK]

 

 

NUMA Utilizations

  • SQL: "HANA_Tables_ColumnStore_TableSize_Internal"
-------------------------------------------------------------------------------------------
|NUMA_NODE|SCHEMA_NAME|TABLE_NAME      |RECORDS    |TOTAL_GB    |MAIN_GB     |DELTA_GB    |
-------------------------------------------------------------------------------------------
|       11|SAPERP     |CNVLTVF0_CLUSTR |  573883122|      524.72|      524.72|        0.00|
|        8|SAPERP     |/GLB/RGTT_POVAR |   37364756|       96.53|       96.53|        0.00|
|        8|SAPERP     |POC_DB_C_OPER   | 1188705994|       87.99|       87.99|        0.00|
|        3|SAPERP     |COVA            |   26919569|       87.48|       87.48|        0.00|
|        9|SAPERP     |CEALE01         |  830637380|       84.51|       84.51|        0.00|
|        1|SAPERP     |POC_DB_C_VALUE  | 1243262542|       80.29|       80.29|        0.00|
|        7|SAPERP     |CE10039         |  586219578|       64.30|       64.30|        0.00|
|        7|SAPERP     |CE10058         |  640964342|       63.77|       63.77|        0.00|
|        6|SAPERP     |SWWCNTP0        |   94861715|       63.34|       63.34|        0.00|
|        9|SAPERP     |POC_DB_C_COMMAND| 1283170219|       62.28|       62.28|        0.00|
-------------------------------------------------------------------------------------------

 

  • SQL: "HANA_Sessions_Partitions_Internal"
---------------------------------------------------------------------------------
|PARTITION_ID|NUMA_NODE|SESSIONS|MAX_SESSIONS|EXECUTIONS  |AVG_EXEC_MS|PEND_SESS|
---------------------------------------------------------------------------------
|           0|       15|       6|          27|     5856859|       2.18|        0|
|           1|       15|      13|          20|     4853227|       2.96|        0|
|           2|       15|      16|          22|     5806723|       2.31|        0|
|           3|       15|      14|          24|     4873537|       2.54|        0|
|           4|       15|       7|          25|     5537531|       2.36|        0|
|           5|       15|       3|          22|     5256491|       2.79|        0|
|           6|       15|       8|          23|     6763213|       1.94|        0|
|           7|       15|       6|          23|     6461907|       2.34|        0|
|           8|       15|       9|          26|    10004201|       1.38|        0|
|           9|       15|      10|          21|     4720670|       2.56|        0|
|          10|       15|       9|          26|     5410045|       2.32|        0|
|          11|       15|      11|          23|     5330944|       2.50|        0|
|          12|       15|       8|          41|     4783100|       2.42|        0|
|          13|       15|      14|          21|     6078274|       2.25|        0|
|          14|        5|      17|          22|     4792489|       2.57|        0|
|          15|        5|      10|          22|     5863789|       2.26|        0|
|          16|        5|       8|          23|     5661168|       2.34|        0|
|          17|        5|       6|          27|     4365206|       2.75|        0|
|          18|        5|      12|          25|     5326723|       2.62|        0|
|          19|        5|       4|          25|     5047963|       2.76|        0|
|          20|        5|       6|          24|     7387851|       1.79|        0|
---------------------------------------------------------------------------------

 

  • SQL: "HANA_CPU_UtilizationPerCore"
---------------------------------------------------------------------------
|HOST   |CORE|NUMA_NODE|USER_PCT|SYSTEM_PCT|WAITIO_PCT|BUSY_PCT |IDLE_PCT |
---------------------------------------------------------------------------
|saphana| any|       10|    4.27|      0.41|      0.00|     4.69|    95.30|
|saphana| any|        2|    4.20|      0.11|      0.00|     4.31|    95.68|
|saphana| any|        7|    3.00|      0.53|      0.00|     3.53|    96.46|
|saphana| any|        0|    2.94|      0.18|      0.00|     3.12|    96.86|
|saphana| any|       17|    2.42|      0.60|      0.00|     3.02|    96.97|
|saphana| any|       20|    2.32|      0.41|      0.00|     2.74|    97.25|
|saphana| any|       15|    2.33|      0.38|      0.00|     2.71|    97.28|
|saphana| any|       16|    1.79|      0.37|      0.00|     2.16|    97.83|
|saphana| any|       21|    1.86|      0.28|      0.00|     2.15|    97.84|
---------------------------------------------------------------------------

 

  • OS> hdbcons "mm numa -v"
************************************************************************************                Virtual Memory allocations by HANA Memory Manager
               Virtual Memory allocations by HANA Memory Manager
************************************************************************************ 
Total number of NUMA Nodes = 2
 Target NODE     #Allocs   #Deallocs    Allocation size (MB)  Deallocation size (MB)
------------     -------   ---------    --------------------  ----------------------
           0    10291.00   265803.00              2921492.80              2350779.86
           1    16318.00   264086.00              4375459.99              3798598.11
 INTERLEAVED        0.00        0.00                    0.00                    0.00
************************************************************************************

 

  • OS> hdbcons "mm numa -p"
********************************************************************************
              Physical Memory allocations by OS (resident pages)
********************************************************************************
Total number of NUMA Nodes = 2
 Target NODE   Local allocation (MB)  Remote allocation (MB)  NUMA HIT Rate(%)
 -----------   ---------------------  ----------------------  ----------------
           0                87578.78                 6862.23             92.00
           1                82931.40                   14.33             99.00
 INTERLEAVED                    0.00                      --                --
********************************************************************************

 

  • OS> hdbcons "mm numa -t"
*************************************************************
               Configuration of NUMA topology
*************************************************************
     Is NUMA-awareness enabled? (0|1) :    1
           Valid NUMA Topology? (0|1) :    1
                    Number of Sockets :    2
  Number of Sockets with logical cpus :    2
Number of Sockets with attached memory:    2
Number of Sockets with both cpus and memory:    2
              Number of Physical cpus :   20
              Number of Logical cpus  :   20
                       Cpu-only nodes : NONE
                       Mem-only nodes : NONE
*************************************************************

 

  • OS> hdbcons "numa locate <schema> <table> <part_id>
************************************************************************************
                              NUMA Statistics of Table
************************************************************************************
                             Total number of nodes = 2
************************************************************************************
------------------------------------------------------------------------------------
Node Id         DataPages   DictionaryPages        IndexPages        MiscPages
------------------------------------------------------------------------------------      0                95                 0                 0                 0
      1            487621           3496537             99853               218************************************************************************************
            Total pages with unaccounted NUMA location = 1067744
************************************************************************************
------------------------------------------------------------------------------------
DataPages   DictionaryPages        IndexPages        MiscPages
------------------------------------------------------------------------------------
        0           1067744                 0                 0

 

  • OS> numastat
                           node0           node1
numa_hit             54744631456     55716389690
numa_miss             2941824679     11908008240
numa_foreign         11908008240      2941824679
interleave_hit             54552           54600
local_node           54411075062     55402865392
other_node            3275381073     12221532538

 

  • NUMA deactivated
    • HDB_NUMA_ALLOCATION environment variable of SAP HANA to 0
    • export HDB_NUMA_ALLOCATION=0